Goofy (Web 200)

By @nogagmx

Descripcion:


Con las credenciales robadas del tarjetahabiente jperez y la capacidad de 
generar tokens validos, accesa la cuenta de dicho usuario en el portal 
bancario y trata de encontrar una vulnerabilidad Web que te permita leer  
informacion en otro puerto dentro del mismo servidor, esto te dara la flag y 
la ruta para descargar un archivo muy sensible! 

http://52.14.161.120:8005/login.php



Una vez logueado como jperez, el tab Recursos Importantes parece ser interesante.



Vemos que el link Consejos de Seguridad realiza la consulta a un PDF (Seguridad_en_entornos_financieros.pdf) externo:





A primera vista, parece ser que podemos hacer RFI, pero el sitio bloquea recursos externos:






Al no ser RFI podemos probar si es un Server Side Request Forgery (SSRF) para consultar algún recurso en la red interna. Intentando cargar el mismo sitio, vemos que el sitio al parecer bloquea el localhost:



Si intentamos http://localhost:8005 que es donde se encuentra expuesto el sitio, vemos que la respuesta nos dice que lo que estamos buscando se encuentra en el rango de puertos entre 1500 -1510, pero antes tenemos que lograr bypassear el protocolo y localhost:

         

Intentando algunos payloads de esta referencia:


Vemos que podemos bypassear localhost con '0':


Solo falta encontrar el protocolo adecuado para poder acceder a dicho rango de puertos, para lo cual se utilizarán los URL schemas. Se intenta utilizando el schema file: en todos los puetos, pero es bloqueado:





Del mismo modo se intentan otros protocolos los cuales tambien estan bloqueados:

sftp://0:1500   - sftp://0:1515
tftp://0:1500   - tftp://0:1515
ldap://0:1500  - ldap://0:1515
dict://0:1500   - dict://0:1515


Finalmente, vemos que si utilizamos gopher, obtenemos la flag!!! Y la ruta a la BD cifrada:





Extra Tip: Configurando Intruder de Burp Suite para iterar sobre los puertos que nos han dado:


Agregar etiqueta sobre el puerto, tipo de ataque sniper (sombreado en verde):



Configuración del payload:



Finalmente en el tab de Results apareceran todas las peticiones con sus respuestas y entonces se puede rapidamente ver los resultados dando click a cada renglon, en la siguientes figuras, el request y response fallidos en el puerto 1500:


Comments