
Strumento di sicurezza per trovare potenziali parametri vulnerabili a Server Side Request Forgery (SSRF).
Scanner di sicurezza (ora potenziato con AI 🤖) per trovare potenziali parametri Server Side Request Forgery (SSRF) nella tua applicazione web. See-SURF non solo ti aiuta a rilevare potenziali parametri SSRF, ma ti aiuta anche a validarli, proteggendo la tua applicazione da compromissioni di sistema e dati utente.

Si prega di citare, se si utilizza questo software in articoli di ricerca, paper, ecc.
@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}
}
Ricognizione Automatica: Crawler multi-thread che raccoglie e analizza i dati per identificare potenziali parametri SSRF utilizzando un robusto matching tramite espressioni regolari (es. corrispondenza di parole chiave come url, website o indirizzi IP). Supporta l'autenticazione basata su cookie per scansionare gli endpoint dietro pagine di login.
Integrazione con Burp Suite: Analizza senza problemi le mappe del sito di Burp Suite (.xml) per scoprire una gamma più ampia di parametri prima del crawling.
Validazione e Sfruttamento: La nuova integrazione AI offre il rilevamento potenziato dall'AI tramite provider come Google Gemini e OpenAI, analizzando le intestazioni delle risposte e generando payload personalizzati, un meccanismo di pivot intelligente per colpire servizi interni come i Metadata AWS, e la validazione automatica delle vulnerabilità per confermare la fuga di dati sensibili (per SSRF Riflesso/Non-Blind).
Per il Rilevamento di SSRF Blind: Rilevamento Out-of-Band (OOB) integrato utilizzando Webhook.site (per impostazione predefinita) o un dominio fornito dall'utente per identificare vulnerabilità in cui il server non restituisce una risposta diretta.

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
# Utilizzo di Google Gemini
python3 see-surf.py -H http://vulnerable-site.com -p google -m gemini-1.5-flash --api-key YOUR_KEY
# Utilizzo di OpenAI GPT-4
python3 see-surf.py -H http://vulnerable-site.com -p openai -m gpt-4 -a YOUR_KEY
# Utilizzo di Ollama locale
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 Nome host/indirizzo IP da scansionare
-c Cookie per la scansione autenticata, separati da spazio (Alcuni siti web utilizzano più cookie per il tracciamento della sessione)
-p Provider AI: ollama (per inferenza locale), gemini, OpenAI chatgpt, Anthropic claude
-m Nome del modello specifico (es. gemini-1.5-flash, gpt-4o, llama3).
-a Chiave API per il provider selezionato (può anche essere impostata come variabile d'ambiente API_KEY).
-e Per testare richieste OOBE di Blind-SSRF con il tuo dominio esterno personalizzato nel formato http://google.com, altrimenti verrà utilizzato webhook.site per impostazione predefinita.
-b (Opzionale ma consigliato) - Spiderizzare la richiesta utilizzando la mappa del sito di burpsuite, esportare il file della mappa del sito e passarlo a see-surf come input (controlla le caratteristiche dettagliate su come farlo).
-v (Opzionale) Per impostazione predefinita, la modalità normale è attiva; con un interruttore verbose vedresti lo stesso parametro vulnerabile in diversi endpoint. Lo stesso parametro potrebbe non essere sanificato in tutti i punti. Ma la modalità verbose genera molto rumore.
[-] opzione -b La mappa del sito di Burp mostra le informazioni che Burp raccoglie mentre esplori l'applicazione target, come gli URL raccolti, ecc. Fornisci i file della mappa del sito di Burp per una migliore scoperta di potenziali parametri SSRF. Lo script prima analizzerà il file di Burp e tenterà di identificare i potenziali parametri, poi eseguirà il crawler integrato su di esso.
Naviga verso il target con burpsuite in esecuzione in background, effettua alcune richieste GET/POST, più sono, meglio è. Poi vai su Target, clicca con il tasto destro -> "Salva elementi selezionati" e salvalo. Fornisci il file allo script come segue.
)
Scoperta: Lo script esegue il crawling del target per i link <a> e gli input dei <form>, oppure analizza un file della mappa del sito di Burp.
Corrispondenza dei Parametri: Cerca parole chiave nei nomi dei parametri (es. url, redirect, dest) o pattern di URL nei valori.
Sondaggio Canary (Non-Blind): Prima tenta di recuperare http://example.com. Se la firma "Example Domain" viene trovata nella risposta, segnala un potenziale SSRF Riflesso/Non-Blind.
Impronta Digitale e Sfruttamento AI (Non-Blind): Se l'AI è abilitata, analizza le intestazioni del server e lo stack tecnologico e genera payload interni specifici (AWS, ecc.).
Validazione (Non-Blind): L'AI esamina il risultato della risposta all'attacco per verificare se i dati restituiti sono effettivamente sensibili o informazioni interne, riducendo i falsi positivi.
Sondaggio OOBE (Blind): Per ogni potenziale parametro, genera un payload unico di Webhook.site. Quindi interroga l'API di Webhook per confermare se il server target ha effettuato una richiesta esterna.
Utilizza See-SURF per scansionare target solo con il previo consenso reciproco. È responsabilità dell'utente finale e lo sviluppatore non si assume alcuna responsabilità e non è responsabile per qualsiasi uso improprio o danno causato da questo programma. Utilizza questo strumento solo per scopi educativi o su domini per i quali hai esplicita autorizzazione per testare. Usalo a tuo rischio e pericolo.
GNUV3 © [In3tinct]