
Explotando bases de datos de Firebase mal configuradas
Explotando bases de datos Firebase vulnerables o mal configuradas
Módulos de Python no estándar:
Si los siguientes comandos se ejecutan correctamente, estás listo para usar el script:
git clone https://github.com/Turr0n/firebase.git
cd firebase
pip install -r requirements.txt
python3 firebase.py [-h] [--dnsdumpster] [-d /path/to/file.htm] [-o results.json] [-l /path/to/file] [-c 100] [-p 4]
Argumentos:
-h Muestra el mensaje de ayuda
-d Ruta absoluta al archivo HTML descargado.
-o Nombre del archivo de salida. Por defecto: results.json
-c Busca dominios en el top-1m de Alexa. Establece cuántos dominios buscar, por ejemplo: 100. Hasta 1000000
-p Cuántos procesos ejecutar. Por defecto: 1
-l Ruta a un archivo que contiene las DBs a buscar. Un nombre de DB por línea. Esta opción no se puede usar con -d o -c
--dnsdumpster Usar la API de DNSDumpster para recopilar DBs
--just-v Ignorar DBs "no vulnerables"
--amass Ruta del archivo de salida de un escaneo de amass (argumento [-o])
Ejemplo:
python3 firebase.py -p 4 -f results_1.json -c 150 --dnsdumpster Esto buscará los primeros 150 dominios en el archivo de Alexa, así como las bases de datos proporcionadas por DNSDumpster. Los resultados se guardarán en results_1.json y todo el script se ejecutará utilizando 4 procesos paralelos
El script creará un archivo json que contiene las bases de datos vulnerables recopiladas y sus contenidos volcados. Cada base de datos tiene un estado:
Para obtener mejores resultados, dirígete a pentest-tools.com y en su escáner de subdominios introduce el siguiente dominio: firebaseio.com. Una vez que el escaneo haya terminado, guarda la página HTML (Ctrl+S) y usa el argumento -d [path], esto permitirá que el script analice los subdominios descubiertos por ese servicio. Es posible que se agreguen más rastreadores de subdominios en el futuro.
Ahora soportamos el escáner amass de @caffix. Al ejecutar cualquier escaneo deseado con esa herramienta contra firebaseio.com usando el argumento -o, el script podrá procesar el archivo de salida y buscar las bases de datos descubiertas.
Las bases de datos de Firebase funcionan con esta estructura: https://[nombre DB].firebaseio.com/. Si estás usando el argumento -l [path], el archivo proporcionado debe contener un [nombre DB] por línea, por ejemplo:
airbnb
twitter
microsoft
Usando ese archivo se verificarán estas bases de datos: https://airbnb.firebaseio.com/.json, https://twitter.firebaseio.com/.json, https://microsoft.firebaseio.com/.json
Este script se basa en gran medida en el trabajo del Mobile Threat Team de appthority. Todos los créditos de la investigación les pertenecen.
Para descargar los dominios del archivo de los 1 millón de dominios principales de Alexa, se utiliza el script de @evilpacket.