
Automatisiertes Aufklärungs- und Ausnutzungsframework für falsch konfigurierte Supabase-Instanzen. Bietet Schema-Enumeration, Selenium-basierte Schlüsselextraktion, RLS-Bypass-Verifikation und Service-Role-Admin-Dump für Sicherheitsforscher.
Fortschrittliches Reconnaissance- und Exploitation-Tool für Supabase-Instanzen.
SupaHunter ist ein leistungsstarkes Python-Tool, das entwickelt wurde, um falsch konfigurierte Supabase-Projekte zu identifizieren, zu analysieren und auszunutzen. Es geht über die einfache Tabellenaufzählung hinaus und bietet erweiterte Inspektionsfunktionen, Selenium-basierte Schlüsselextraktion und erweiterte Privilegien-Eskalationsprüfungen.
/rest/v1/ ab und parst es, um das gesamte Datenbankschema zu kartieren.get_schema, exec_sql usw.).fetch/XHR-Anfragen abzufangen und apikey- und Authorization-Header in Echtzeit zu extrahieren.POST-, PATCH- und DELETE-Anfragen (sicherer Modus) durch, um zu überprüfen, ob Row Level Security tatsächlich durchgesetzt wird oder nur eine Fassade ist.INSERT-, UPDATE-Ereignisse) abzufangen.service_role-Schlüssel.auth.users (E-Mails, Hashes wenn möglich), Storage-Buckets usw. herunter.dump.db) und/oder CSV-Dateien.Repo klonen:
git clone https://github.com/proxydom/supahunter.git
cd supahunter
Abhängigkeiten installieren:
pip install -r requirements.txt
(Erfordert requests, selenium, webdriver-manager, websockets)
Firefox installieren (für Selenium): Das Tool verwendet Firefox Headless. Stelle sicher, dass es installiert ist (es sollte es automatisch herunterladen).
Scanne eine einzelne URL nach freigelegten Schlüsseln und Tabellen.
python3 supahunter.py https://target.com
Scanne eine Liste von URLs mit aktiviertem Selenium und speichere Ergebnisse in SQLite.
python3 supahunter.py -f targets.txt --selenium --sqlite --download-files
Wenn du bereits die API-URL und den Schlüssel hast, verwende sie direkt (funktioniert auch für service_role-Schlüssel!).
python3 supahunter.py --manual-url https://xyz.supabase.co --manual-key eyJ... ---manual-url projectid.supabase.com
Gib ein Benutzer-JWT-Token (oder Anmeldedaten) an, um den RLS-Bypass für authentifizierte Benutzer zu testen.
python3 supahunter.py https://target.com --token "eyJ..."
Oder lass das Tool versuchen, sich automatisch zu registrieren: --email [email protected] --password Hunter123!
Wenn ein service_role-Schlüssel erkannt wird, wechselt das Tool automatisch in den SERVICE-MODUS, der auth.users, Audit-Logs und alle Storage-Buckets dumpft.
Dieses Tool dient ausschließlich zu Bildungszwecken und für autorisierte Sicherheitstests. Der Zugriff auf oder die Veränderung von Daten ohne Erlaubnis ist illegal. Der Autor übernimmt keine Verantwortung für jeglichen Missbrauch.
Viel Spaß bei der Jagd und bleibt legal, Jungs :)
| Flag | Beschreibung |
|---|
--selenium | Selenium für dynamische Schlüsselextraktion aktivieren (langsamer, aber effektiv). |
--sqlite | Gespeicherte Daten in eine lokale SQLite-Datenbank speichern (loot/.../dump.db). |
--download-files | Dateien aus öffentlichen/offenen Storage-Buckets herunterladen. |
--fuck-opsec | Aggressiver Modus: unbegrenzte Download-Geschwindigkeit und Zeilenanzahl. |
--listen | Auf Echtzeit-WebSocket-Ereignisse lauschen, um Live-Datenlecks zu erfassen. |
--limit N | Maximal zu dumpende Zeilen pro Tabelle begrenzen (Standard: unbegrenzt/automatisch). |
--dry-run | Nur scannen, keine Daten dumpen. |