Resolución del CTF: Moby Dick
Enumeración
Escaneo de puertos
Realizamos un escaneo de todos los puertos para identificar los servicios activos en el sistema objetivo.
nmap -p- --open -sCV -Pn -n --min-rate 5000 192.168.0.30- -p- : Escaneo de todos los puertos. (65535)
- -sS : Realiza un TCP SYN Scan para escanear rápidamente qué puertos están abiertos.
- -sC : Escaneo con scripts básicos de reconocimiento.
- -sV : Detección de servicios.
- –min-rate 5000 : Escaneo no inferior a 5000 paquetes/segundo.
- -n : Sin resolución DNS.
- -Pn : Sin descubrimiento por ping.
Identificamos los servicios SSH (22/tcp) y HTTP (80/tcp).
Acceso inicial
El servicio HTTP expone la página por defecto de Apache. Enumerando contenido web localizamos un recurso que referencia al usuario pinguinito, lo que nos permite orientar un ataque de fuerza bruta contra SSH.
hydra -l pinguinito -P top12000.txt 192.168.0.30 sshObtenemos credenciales válidas y accedemos al sistema.
Enumeración local
En el directorio home del usuario identificamos una base de datos KeePass que no es crackeable por fuerza bruta directa.
lsDurante la enumeración observamos una interfaz Docker activa, lo que indica la presencia de servicios internos no expuestos directamente.
ip aPivoting a red interna
Detectamos un contenedor accesible en la red 172.17.0.0/24. Enumeramos el servicio expuesto y confirmamos un Grafana en el puerto 3000.
curl -I http://172.17.0.2:3000La versión identificada es Grafana 8.3.0, vulnerable a lectura arbitraria de archivos.
Explotación de Grafana
Ejecutamos el exploit para confirmar la vulnerabilidad y posteriormente acceder a archivos sensibles del sistema.
python3 exploit.py http://172.17.0.2:3000 /etc/passwdLocalizamos un archivo de interés previamente referenciado.
python3 exploit.py http://172.17.0.2:3000 /tmp/database_pass.txtObtenemos la contraseña maestra de la base de datos KeePass.
Movimiento lateral
Con la contraseña recuperada accedemos a la base de datos KeePass y obtenemos credenciales del usuario ballenasio.
su ballenasioEscalada de privilegios
El usuario ballenasio dispone de permisos totales vía sudo, lo que nos permite escalar directamente a root.
sudo suObtenemos control completo del sistema.
