
Explorando bancos de dados firebase mal configurados
Explorando bases de dados Firebase vulneráveis/configuradas incorretamente
Módulos Python não padrão:
Se os seguintes comandos forem executados com sucesso, você estará pronto para usar o script:
git clone https://github.com/Turr0n/firebase.git
cd firebase
pip install -r requirements.txt
python3 firebase.py [-h] [--dnsdumpster] [-d /caminho/para/arquivo.htm] [-o resultados.json] [-l /caminho/para/arquivo] [-c 100] [-p 4]
Argumentos:
-h Mostra a mensagem de ajuda
-d Caminho absoluto para o arquivo HTML baixado.
-o Nome do arquivo de saída. Padrão: results.json
-c Busca domínios no top-1m da Alexa. Define quantos domínios buscar, por exemplo: 100. Até 1000000
-p Quantos processos executar. Padrão: 1
-l Caminho para um arquivo contendo os DBs a serem buscados. Um nome de DB por linha. Esta opção não pode ser usada com -d ou -c
--dnsdumpster Usar a API do DNSDumpster para coletar DBs
--just-v Ignorar DBs "não vulneráveis"
--amass Caminho do arquivo de saída de uma varredura do amass (argumento [-o])
Exemplo:
python3 firebase.py -p 4 -f results_1.json -c 150 --dnsdumpster Isso irá procurar nos primeiros 150 domínios do arquivo Alexa, bem como nos DBs fornecidos pelo DNSDumpster. Os resultados serão salvos em results_1.json e todo o script será executado usando 4 processos paralelos
O script criará um arquivo json contendo as bases de dados vulneráveis coletadas e seus conteúdos extraídos. Cada base de dados tem um status:
Para melhores resultados, vá para pentest-tools.com e em seu scanner de subdomínios insira o seguinte domínio: firebaseio.com. Uma vez que a varredura terminar, salve a página HTML (CRL+S) e use o argumento -d [caminho], isso permitirá que o script analise os subdomínios descobertos por esse serviço. Mais scanners de subdomínios podem ser suportados no futuro.
Agora suportamos o scanner amass de @caffix! Executando qualquer varredura desejada com essa ferramenta contra firebaseio.com usando o argumento -o, o script será capaz de digerir o arquivo de saída e buscar os DBs descobertos.
Os DBs Firebase funcionam com esta estrutura: https://[nome do DB].firebaseio.com/. Se você estiver usando o argumento -l [caminho], o arquivo fornecido precisa conter um [nome do DB] por linha, por exemplo:
airbnb
twitter
microsoft
Usar esse arquivo verificará estes DBs: https://airbnb.firebaseio.com/.json, https://twitter.firebaseio.com/.json, https://microsoft.firebaseio.com/.json
Este script é fortemente baseado no trabalho da Mobile Threat Team da appthority. Todos os créditos pela pesquisa pertencem a eles.
Para baixar os domínios do arquivo dos 1 milhão principais domínios da Alexa, o script de @evilpacket é utilizado.