SSRF (Server Side Request Forgery)

En seguridad informática, la falsificación de solicitudes del lado del servidor es un tipo de exploit en el que un atacante abusa de la funcionalidad de un servidor y hace que acceda o manipule información en el ámbito de ese servidor que de otro modo no sería directamente accesible para el atacante.

SSRF es un tipo de ataque que explota una vulnerabilidad en una aplicación web que permite a un atacante enviar solicitudes falsas desde el servidor de la aplicación. La idea detrás de un ataque SSRF es que un atacante puede utilizar la aplicación web para enviar solicitudes a otros servidores o servicios, como bases de datos internas o servicios web, de manera no autorizada.

Consecuencias de un ataque de tipo SSRF

Acceso no autorizado a recursos internos.

Un SSRF puede permitir que un atacante acceda a recursos internos que normalmente no estarían disponibles para el público. Esto puede incluir bases de datos, sistemas de archivos, servicios de backend y otros componentes críticos del sistema.

Divulgación de información confidencial.

Si un atacante puede acceder a recursos internos sensibles, puede obtener información confidencial como credenciales, datos personales o secretos comerciales. Esto puede tener graves implicaciones en términos de privacidad y seguridad de la información.

Ataques a otros sistemas.

A través de un SSRF, un atacante puede realizar solicitudes a otros sistemas o servicios externos desde el servidor comprometido. Esto puede utilizarse para atacar y comprometer sistemas externos, causando un impacto más amplio en la infraestructura.

Denegación de servicio (DoS).

Un atacante puede abusar de un SSRF para realizar solicitudes a servicios externos de manera repetitiva o masiva, lo que puede sobrecargar los recursos del servidor y causar una denegación de servicio.

Saltarse restricciones de red.

Si un servidor está configurado para acceder solo a recursos en una red interna o específica, un SSRF puede permitir que un atacante evite estas restricciones y acceda a recursos fuera de la red permitida.

Ahora que sabemos que es un “SSRF” y cuales podrían  ser las consecuencias de ser vulnerable, pasemos a la prueba de concepto.

REQUESTS TO FAKE SERVER

Tenemos una pagina web que analiza el contenido de cualquier archivo alojado en sitios web, con el propósito de buscar firmas de malware reconocidas.

Montare un servidor falso con python3 para realizar la prueba, donde la maquina victima mandara una solicitud a mi maquina de atacante y dentro pondre un archivo que diga lo siguiente (“Autonomia Hacker”).

Realizamos la petición desde la maquina victima.

Como podemos observar, realiza la petición solicitando el recurso prueba.txt y lo impacta en pantalla.

SSRF - Internal Port Discovery

Ahora veremos un ejemplo de como mediante un SSRF podemos ver contenido de puertos internos de la maquina victima, veamos el siguiente ejemplo.

Al realizar mi escaneo con nmap, descubro que el host victima tiene corriendo el puerto 5000, pero no puedo verlo ya que posiblemente existan reglas implementadas de seguridad que no me permite ver el contenido(403 Forbidden).

Se que puedo acontecer un SSFR, por lo cual intentare ver directamente el contenido de este puerto solicitando el recurso desde la propia maquina victima haciéndome pasar por la misma, de esta manera me mostrara el contenido que corre sobre el puerto 5000,  evadiendo las reglas implementadas por el firewall.

solicitamos el recurso:

De esta manera podemos ver el contenido existente por el puerto 5000 ya que es la misma maquina asiéndose una solicitud a si misma.

Fuentes

Espero que te guste el contenido de mi blog, actualizo mi pagina cada que detecto nuevas vulnerabilidades o elijo una maquina de cualquier plataforma para practicar ciberseguridad.

Mi nombre es Luis Valentin Roque Diaz de León, soy actualmente JPentester y con gusto te apoyare para que sigamos creciendo en este campo tan grande que nunca deja de sorprendernos, no dudes en contactarme si tienes alguna duda, feliz aprendizaje.

Scroll to Top