
Estrutura automatizada de reconhecimento e exploração para instâncias Supabase mal configuradas. Inclui enumeração de esquemas, extração de chaves baseada em Selenium, verificação de bypass de RLS e dump de administrador de função de serviço para pesquisadores de segurança.
Ferramenta Avançada de Reconhecimento e Exploração para Instâncias Supabase.
SupaHunter é uma poderosa ferramenta Python projetada para identificar, analisar e explorar projetos Supabase mal configurados. Vai além da simples enumeração de tabelas, oferecendo capacidades de inspeção profunda, extração de chaves baseada em Selenium e verificações avançadas de escalada de privilégios.
/rest/v1/ para mapear todo o esquema do banco de dados.get_schema, exec_sql, etc.).fetch/XHR e extrair os cabeçalhos apikey e Authorization em tempo real.POST, PATCH e DELETE (modo seguro) para verificar se a Segurança em Nível de Linha está realmente ativa ou é apenas uma fachada.INSERT, UPDATE).service_role.auth.users (e-mails, hashes se possível), Buckets de Armazenamento, etc.dump.db) e/ou arquivos CSV.Clone o repositório:
git clone https://github.com/proxydom/supahunter.git
cd supahunter
Instale as dependências:
pip install -r requirements.txt
(Requer requests, selenium, webdriver-manager, websockets)
Instale o Firefox (para Selenium): A ferramenta usa o Firefox Headless. Certifique-se de que ele esteja instalado (embora ele tente baixar automaticamente).
Escaneie uma única URL em busca de chaves e tabelas expostas.
python3 supahunter.py https://target.com
Escaneie uma lista de URLs com Selenium ativado e salve os resultados em SQLite.
python3 supahunter.py -f targets.txt --selenium --sqlite --download-files
Se você já tem a URL da API e a chave, use-as diretamente (funciona também para chaves service_role!).
python3 supahunter.py --manual-url https://xyz.supabase.co --manual-key eyJ... ---manual-url projectid.supabase.com
Forneça um token JWT de usuário (ou credenciais) para testar o bypass RLS para usuários autenticados.
python3 supahunter.py https://target.com --token "eyJ..."
Ou deixe a ferramenta tentar auto-cadastro: --email [email protected] --password Hunter123!
Se uma chave service_role for detectada, a ferramenta automaticamente alterna para o MODO SERVICE, fazendo dump de auth.users, logs de auditoria e todos os buckets de armazenamento.
Esta ferramenta é apenas para fins educacionais e testes de segurança autorizados. Acessar ou modificar dados sem permissão é ilegal. O autor não se responsabiliza por qualquer uso indevido.
Boas caçadas e mantenham-se dentro da lei, pessoal :)
| Bandeira | Descrição |
|---|
--selenium | Ativa o Selenium para extração dinâmica de chaves (mais lento, mas eficaz). |
--sqlite | Salva os dados extraídos em um banco de dados SQLite local (loot/.../dump.db). |
--download-files | Baixa arquivos de Buckets de Armazenamento públicos/abertos. |
--fuck-opsec | Modo Agressivo: velocidade de download e contagem de linhas ilimitadas. |
--listen | Escuta eventos WebSocket em tempo real para vazamento de dados ao vivo. |
--limit N | Limita o número de linhas extraídas por tabela (Padrão: ilimitado/automático). |
--dry-run | Apenas escaneia, sem extrair dados. |