
Marco automatizado de reconocimiento y explotación para instancias de Supabase mal configuradas. Incluye enumeración de esquemas, extracción de claves basada en Selenium, verificación de omisión de RLS y volcado de administrador de rol de servicio para investigadores de seguridad.
Herramienta avanzada de reconocimiento y explotación para instancias de Supabase.
SupaHunter es una potente herramienta en Python diseñada para identificar, analizar y explotar proyectos de Supabase mal configurados. Va más allá de la simple enumeración de tablas, ofreciendo capacidades de inspección profunda, extracción de claves basada en Selenium y comprobaciones avanzadas de escalada de privilegios.
/rest/v1/ para mapear todo el esquema de la base de datos.get_schema, exec_sql, etc.).fetch/XHR y extraer los encabezados apikey y Authorization sobre la marcha.POST, PATCH y DELETE (modo seguro) para verificar si Row Level Security está realmente aplicada o es solo una fachada.INSERT, UPDATE).service_role.auth.users (correos electrónicos, hashes si es posible), buckets de almacenamiento, etc.dump.db) y/o archivos CSV.Clonar el repositorio:
git clone https://github.com/proxydom/supahunter.git
cd supahunter
Instalar dependencias:
pip install -r requirements.txt
(Requiere requests, selenium, webdriver-manager, websockets)
Instalar Firefox (para Selenium): La herramienta utiliza Firefox Headless. Asegúrate de que esté instalado (aunque debería descargarlo automáticamente).
Escanea una única URL en busca de claves y tablas expuestas.
python3 supahunter.py https://target.com
Escanea una lista de URLs con Selenium habilitado y guarda los resultados en SQLite.
python3 supahunter.py -f targets.txt --selenium --sqlite --download-files
Si ya tienes la URL de la API y la clave, úsalos directamente (¡también funciona para claves service_role!).
python3 supahunter.py --manual-url https://xyz.supabase.co --manual-key eyJ... ---manual-url projectid.supabase.com
Proporciona un token JWT de usuario (o credenciales) para probar la omisión de RLS para usuarios autenticados.
python3 supahunter.py https://target.com --token "eyJ..."
O deja que la herramienta intente el auto-registro: --email [email protected] --password Hunter123!
Si se detecta una clave service_role, la herramienta cambia automáticamente al MODO SERVICIO, volcando auth.users, registros de auditoría y todos los buckets de almacenamiento.
Esta herramienta es solo para fines educativos y pruebas de seguridad autorizadas. Acceder o modificar datos sin permiso es ilegal. El autor no se responsabiliza por su uso indebido.
Buena caza y manteneos legales chicos :)
| Banderas | Descripción |
|---|
--selenium | Habilitar Selenium para extracción dinámica de claves (más lento pero efectivo). |
--sqlite | Guardar datos volcados en una base de datos SQLite local (loot/.../dump.db). |
--download-files | Descargar archivos de los buckets de almacenamiento públicos/abiertos. |
--fuck-opsec | Modo agresivo: velocidad de descarga y número de filas ilimitados. |
--listen | Escuchar eventos WebSocket en tiempo real para filtración de datos en vivo. |
--limit N | Limitar filas volcadas por tabla (por defecto: ilimitado/automático). |
--dry-run | Solo escanear, no volcar datos. |