
Framework automatizzato di ricognizione e sfruttamento per istanze Supabase malconfigurate. Include enumerazione dello schema, estrazione di chiavi basata su Selenium, verifica del bypass RLS e dump dell'admin del ruolo di servizio per ricercatori di sicurezza.
Strumento avanzato di ricognizione e sfruttamento per istanze Supabase.
SupaHunter è un potente strumento Python progettato per identificare, analizzare e sfruttare progetti Supabase malconfigurati. Va oltre la semplice enumerazione delle tabelle, offrendo capacità di ispezione approfondita, estrazione di chiavi basata su Selenium e controlli avanzati di escalation dei privilegi.
/rest/v1/ per mappare l'intero schema del database.get_schema, exec_sql, ecc.).fetch/XHR ed estrarre al volo gli header apikey e Authorization.POST, PATCH e DELETE (modalità sicura) per verificare se Row Level Security è effettivamente applicata o è solo una facciata.INSERT, UPDATE).service_role.auth.users (email, hash se possibile), Storage Bucket, e così via.dump.db) e/o file CSV.Clona il repository:
git clone https://github.com/proxydom/supahunter.git
cd supahunter
Installa le dipendenze:
pip install -r requirements.txt
(Richiede requests, selenium, webdriver-manager, websockets)
Installa Firefox (per Selenium): Lo strumento utilizza Firefox Headless. Assicurati che sia installato (dovrebbe scaricarlo automaticamente, comunque).
Scansiona un singolo URL per chiavi e tabelle esposte.
python3 supahunter.py https://target.com
Scansiona un elenco di URL con Selenium abilitato e salva i risultati in SQLite.
python3 supahunter.py -f targets.txt --selenium --sqlite --download-files
Se possiedi già l'URL API e la chiave, usali direttamente (funziona anche per le chiavi service_role!).
python3 supahunter.py --manual-url https://xyz.supabase.co --manual-key eyJ... ---manual-url projectid.supabase.com
Fornisci un token JWT utente (o credenziali) per testare il bypass RLS per utenti autenticati.
python3 supahunter.py https://target.com --token "eyJ..."
Oppure lascia che lo strumento provi la registrazione automatica: --email [email protected] --password Hunter123!
Se viene rilevata una chiave service_role, lo strumento passa automaticamente alla MODALITÀ SERVIZIO, scaricando auth.users, log di audit e tutti i bucket di storage.
Questo strumento è solo per fini educativi e test di sicurezza autorizzati. Accedere o modificare dati senza permesso è illegale. L'autore non è responsabile per eventuali usi impropri.
Buona caccia e restate legali ragazzi :)
| Flag | Descrizione |
|---|
--selenium | Abilita Selenium per l'estrazione dinamica delle chiavi (più lento ma efficace). |
--sqlite | Salva i dati scaricati in un database SQLite locale (loot/.../dump.db). |
--download-files | Scarica file da Storage Bucket pubblici/aperti. |
--fuck-opsec | Modalità Aggressiva: velocità di download e conteggio righe illimitati. |
--listen | Ascolta gli eventi WebSocket in tempo reale per la fuga di dati live. |
--limit N | Limita le righe scaricate per tabella (Default: illimitato/automatico). |
--dry-run | Solo scansione, non scaricare dati. |