
Herramienta de seguridad para encontrar parámetros potencialmente vulnerables de Server Side Request Forgery (SSRF).
Escáner de seguridad (ahora potenciado con IA 🤖) para encontrar posibles parámetros de Server Side Request Forgery (SSRF) en tu aplicación web. See-SURF no solo te ayuda a detectar posibles parámetros SSRF, sino que también te ayuda a validarlos, protegiendo tu aplicación contra el compromiso del sistema y los datos del usuario.

Por favor, cita este software si lo usas en tus trabajos de investigación, artículos, etc.
@software{Agrawal_See-SURF_Detect_SSRF_2019,
author = {Agrawal, Vaibhav},
month = jul,
title = {{See-SURF: Detect SSRF security vulnerability}},
url = {https://github.com/In3tinct/See-SURF},
version = {2.0.0},
year = {2019}
}
Reconocimiento automatizado: Rastreador multi-hilo que recopila y analiza datos para identificar posibles parámetros SSRF mediante potentes coincidencias regex (por ejemplo, buscando palabras clave como url, website o direcciones IP). Soporta autenticación basada en cookies para escanear endpoints detrás de páginas de inicio de sesión.
Integración con Burp Suite: Analiza sin problemas los sitemaps de Burp Suite (.xml) para descubrir un rango más amplio de parámetros antes del rastreo.
Validación y explotación: La nueva integración con IA ofrece detección impulsada por IA mediante proveedores como Google Gemini y OpenAI, analizando las cabeceras de respuesta y generando payloads personalizados, un mecanismo inteligente de pivote para atacar servicios internos como AWS Metadata, y validación automatizada de vulnerabilidades para confirmar la filtración de datos sensibles (para SSRF Reflejado/No Ciego).
Para detección de SSRF Ciego: Detección integrada Out-of-Band (OOB) usando Webhook.site (por defecto) o un dominio proporcionado por el usuario para identificar vulnerabilidades donde el servidor no devuelve una respuesta directa.

git clone https://github.com/In3tinct/See-SURF.git
cd See-SURF/
pip3 install -r requirements.txt
python3 see-surf.py -H https://www.target.com
# Usando Google Gemini
python3 see-surf.py -H http://vulnerable-site.com -p google -m gemini-1.5-flash --api-key YOUR_KEY
# Usando OpenAI GPT-4
python3 see-surf.py -H http://vulnerable-site.com -p openai -m gpt-4 -a YOUR_KEY
# Usando Ollama local
python3 see-surf.py -H http://vulnerable-site.com -p ollama -m llama3
python3 see-surf.py -H https://www.target.com -c "cookie_name1=value1 cookie_name2=value2"
python3 see-surf.py -H https://www.google.com -c cookie_name1=value1 cookie_name2=value2 -b burp_file.xml
-H Nombre del host/Dirección IP a escanear
-c Cookies para escaneo autenticado, separadas por espacio (algunos sitios web usan múltiples cookies para el seguimiento de sesión)
-p Proveedor de IA: ollama (para inferencia local), gemini, OpenAI chatgpt, Anthropic claude
-m Nombre del modelo específico (ej., gemini-1.5-flash, gpt-4o, llama3).
-a Clave API para el proveedor seleccionado (también se puede establecer como variable de entorno API_KEY).
-e Para probar solicitudes OOBE de SSRF Ciego con tu dominio externo personalizado en el formato http://google.com; de lo contrario, se usará webhook.site por defecto.
-b (Opcional pero recomendado) - Rastrear la solicitud usando el mapa del sitio de Burp Suite, exporta el archivo del mapa del sitio y pásalo a see-surf como entrada (consulta las características detalladas para saber cómo hacerlo).
-v (Opcional) Por defecto, el modo normal está activado; con el modificador verbose verás el mismo parámetro vulnerable en diferentes endpoints. El mismo parámetro puede no estar sanitizado en todos los lugares. Pero el modo verbose genera mucho ruido.
[-] Modificador -b El mapa del sitio de Burp muestra la información que Burp recopila mientras exploras tu aplicación objetivo, como las URLs recopiladas, etc. Proporciona archivos de sitemap de Burp para un mejor descubrimiento de posibles parámetros SSRF. El script primero analizará el archivo de Burp e intentará identificar posibles parámetros, luego ejecutará el rastreador integrado sobre él.
Navega por el objetivo con tu Burp Suite ejecutándose en segundo plano, realiza algunas solicitudes GET/POST; cuanto más, mejor. Luego ve a Target, haz clic derecho -> "Save selected Items" y guárdalo. Proporciónaselo al script de la siguiente manera.
)
Descubrimiento: El script rastrea el objetivo en busca de enlaces <a> e inputs de <form>, o analiza un archivo de sitemap de Burp.
Coincidencia de parámetros: Busca palabras clave en los nombres de los parámetros (ej., url, redirect, dest) o patrones de URL en los valores.
Sondeo Canary (No Ciego): Primero intenta obtener http://example.com. Si se encuentra la firma "Example Domain" en la respuesta, señala un posible SSRF Reflejado/No Ciego.
Huella digital y explotación con IA (No Ciego): Si la IA está habilitada, analiza las cabeceras del servidor y la pila tecnológica y genera payloads internos específicos (AWS, etc.).
Validación (No Ciego): La IA revisa el resultado de la respuesta del ataque para verificar si los datos devueltos son realmente información sensible o interna, reduciendo los falsos positivos.
Sondeo OOBE (Ciego): Para cada parámetro potencial, genera un payload único de Webhook.site. Luego consulta la API de Webhook para confirmar si el servidor objetivo realizó una solicitud externa.
Usa See-SURF para escanear objetivos solo con consentimiento mutuo previo. Es responsabilidad del usuario final y el desarrollador no asume ninguna responsabilidad ni se hace responsable por cualquier mal uso o daño causado por este programa. Usa esta herramienta únicamente con fines educativos o en dominios para los que tengas permiso explícito de prueba. Úsala bajo tu propio riesgo.
GNUV3 © [In3tinct]