Saltar al contenido
OPS // KITitspentest.sh

X-SSR

SSRFmap

Herramienta en Python que toma un SSRF confirmado y automatiza su explotación contra metadata de nube, servicios internos y más.

Sitio oficialVolver al catálogo

RESUMEN

SSRFmap (github.com/swisskyrepo/SSRFmap) toma una petición HTTP guardada que contiene un server-side request forgery y automatiza lo que un tester haría a mano payload por payload: fuzzea el parámetro vulnerable a través de un conjunto de módulos — readfiles, portscan, networkscan, metadata de nube (AWS, GCP, Alibaba), Redis, MySQL, Docker, SMTP y más — cada uno construido sobre una técnica conocida de SSRF a impacto.

Está pensado para actuar después de la confirmación manual, no para encontrar el SSRF en sí: apúntalo a un archivo de petición exportado de Burp con el parámetro vulnerable marcado, y dirige ese único punto de inyección confirmado por cada ruta de explotación aplicable, en vez de requerir un payload manual nuevo para cada una.

CASOS DE USO

Casos de uso en un engagement

  • 01

    Pivotar un SSRF confirmado hacia metadata de instancias AWS/GCP/Alibaba para extraer credenciales temporales.

  • 02

    Escanear puertos y huellar hosts internos alcanzables solo desde el servidor vulnerable.

  • 03

    Abusar del SSRF contra Redis, MySQL o daemons Docker internos para lograr mayor compromiso.

  • 04

    Leer archivos locales en el host vulnerable mediante el módulo de lectura en vez de escribir un script puntual.

PRIMEROS PASOS

Una vez confirmado manualmente un SSRF, para dirigirlo de forma sistemática hacia endpoints de metadata de nube, escaneo de puertos internos y servicios backend conocidos.

  1. Confirma el SSRF a mano primero y captura la petición vulnerable con Burp Suite.
  2. Guarda la petición en un archivo y anota qué parámetro es inyectable.
  3. Instala las dependencias de SSRFmap desde su repo (trae un setup basado en uv/pip).
  4. Ejecútalo contra la petición guardada con el flag de parámetro y los módulos relevantes para la pila del objetivo.
  5. Revisa la salida de cada módulo y confirma el impacto a mano antes de reportarlo.
python3 ssrfmap.py -r request.txt -p url -m readfiles,portscan

ANTES DE USARLA

Qué revisar antes de lanzarla

Los módulos de metadata de nube y servicios internos pueden llegar a credenciales de producción y sistemas internos fuera del alcance documentado — confirma los límites de red del objetivo antes de correr el conjunto amplio de módulos.

Cualquier archivo, credencial o respuesta interna que un módulo de SSRFmap obtenga es dato sensible en vivo y debe manejarse y guardarse según las reglas de evidencia del engagement, no dejarse en salidas sueltas.

Algunos módulos (Redis, Docker) pueden escribir o ejecutar, no solo leer — trátalos como explotación, no solo como detección, y consigue autorización explícita antes de correrlos.

SIGUE EXPLORANDO

Ver toda la fase →