
Sicherheitstool zum Auffinden potenziell anfälliger Server Side Request Forgery (SSRF)-Parameter.
Sicherheitsscanner (jetzt mit KI 🤖) um potenzielle Server-Side-Request-Forgery (SSRF) Parameter in Ihrer Webanwendung zu finden. See-SURF hilft Ihnen nicht nur dabei, potenzielle SSRF-Parameter zu erkennen, sondern auch diese zu validieren, um Ihre Anwendung vor System- und Benutzerdatenkompromittierung zu schützen.

Bitte zitieren Sie diese Software, wenn Sie sie in Ihren Forschungspapieren, Artikeln usw. verwenden.
@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}
}
Automatisierte Aufklärung: Multi-Threaded Crawler, der Daten sammelt und parst, um potenzielle SSRF-Parameter mittels starker Regex-Erkennung zu identifizieren (z.B. passende Schlüsselwörter wie url, website oder IP-Adressen). Unterstützt Cookie-basierte Authentifizierung, um Endpunkte hinter Login-Seiten zu scannen.
Burp Suite Integration: Nahtloses Parsen von Burp Suite Sitemaps (.xml), um vor dem Crawling eine größere Bandbreite an Parametern zu entdecken.
Validierung & Exploitation: Die neue KI-Integration bietet KI-gestützte Erkennung über Anbieter wie Google Gemini und OpenAI durch Analyse von Antwort-Headern und Generierung angepasster Payloads, einen intelligenten Pivot-Mechanismus für das Anvisieren interner Dienste wie AWS Metadata und automatisierte Schwachstellenvalidierung zur Bestätigung des Leakens sensibler Daten (für Reflected/Non-blind SSRF).
Für die Erkennung von Blind SSRF: Integrierte Out-of-Band (OOB) Erkennung mittels Webhook.site (standardmäßig) oder einer benutzerdefinierten Domain, um Schwachstellen zu identifizieren, bei denen der Server keine direkte Antwort zurückgibt.

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
# Mit Google Gemini
python3 see-surf.py -H http://vulnerable-site.com -p google -m gemini-1.5-flash --api-key YOUR_KEY
# Mit OpenAI GPT-4
python3 see-surf.py -H http://vulnerable-site.com -p openai -m gpt-4 -a YOUR_KEY
# Mit lokalem Ollama
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 Hostname/IP-Adresse zum Scannen
-c Cookies für authentifiziertes Scannen, durch Leerzeichen getrennt (Manche Websites verwenden mehrere Cookies für Sitzungsverfolgung)
-p KI-Anbieter: ollama (für lokale Inferenz), gemini, OpenAI chatgpt, Anthropic claude
-m Spezifischer Modellname (z.B. gemini-1.5-flash, gpt-4o, llama3).
-a API-Schlüssel für den ausgewählten Anbieter (kann auch als Umgebungsvariable API_KEY gesetzt werden).
-e Zum Testen von Blind-SSRF OOBE-Anfragen mit Ihrer benutzerdefinierten externen Domain im Format http://google.com, andernfalls wird standardmäßig webhook.site verwendet.
-b (Optional aber empfohlen) - Spider die Anfragen mittels Burp Suite Site Map, exportieren Sie die Site Map Datei und geben Sie sie See-SURF als Eingabe (siehe detaillierte Funktionen zur Vorgehensweise).
-v (Optional) Standardmäßig ist der normale Modus aktiviert, mit dem Verbose-Schalter sehen Sie denselben anfälligen Parameter in verschiedenen Endpunkten. Derselbe Parameter ist möglicherweise nicht an allen Stellen bereinigt. Der Verbose-Modus erzeugt jedoch viel Rauschen.
[-] -b Schalter Burp's Site Map zeigt die Informationen an, die Burp beim Erkunden Ihrer Zielanwendung sammelt, wie z.B. gesammelte URLs usw. Geben Sie Burp Sitemap-Dateien an, um eine bessere Entdeckung potenzieller SSRF-Parameter zu ermöglichen. Das Skript analysiert zuerst die Burp-Datei und versucht, potenzielle Parameter zu identifizieren, und führt dann den integrierten Crawler darauf aus.
Durchsuchen Sie das Ziel mit laufendem Burpsuite im Hintergrund, machen Sie einige GET/POST-Anfragen, je mehr desto besser. Gehen Sie dann zu Target, Rechtsklick -> "Save selected Items" und speichern Sie es. Geben Sie es dem Skript wie folgt an.
)
Entdeckung: Das Skript durchsucht das Ziel nach <a>-Links und <form>-Eingaben oder parst eine Burp Sitemap-Datei.
Parameterabgleich: Es sucht nach Schlüsselwörtern in Parameternamen (z.B. url, redirect, dest) oder URL-Mustern in Werten.
Canary-Testen (Non-Blind): Es versucht zunächst, http://example.com abzurufen. Wenn die "Example Domain"-Signatur in der Antwort gefunden wird, wird ein potenzielles Reflected/Non-Blind SSRF gemeldet.
KI-Fingerprinting & Exploitation (Non-Blind): Wenn KI aktiviert ist, analysiert es Server-Header & Technologie-Stapel und generiert spezifische interne Payloads (AWS usw.).
Validierung (Non-Blind): Die KI überprüft das Ergebnis der Angriffsantwort, um zu bestätigen, ob die zurückgegebenen Daten tatsächlich sensibel oder intern sind, und reduziert so Fehlalarme.
OOBE-Testen (Blind): Für jeden potenziellen Parameter wird ein eindeutiger Webhook.site-Payload generiert. Anschließend wird die Webhook-API abgefragt, um zu bestätigen, ob der Zielserver eine externe Anfrage gestellt hat.
Verwenden Sie See-SURF nur zum Scannen von Zielen mit vorheriger gegenseitiger Zustimmung. Es liegt in der Verantwortung des Endbenutzers und der Entwickler übernimmt keine Haftung und ist nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Programm verursacht werden. Verwenden Sie dieses Tool nur für Bildungszwecke oder auf Domains, für die Sie ausdrückliche Erlaubnis zum Testen haben. Nutzung auf eigenes Risiko.
GNUV3 © [In3tinct]