
Эксплуатация неправильно настроенных баз данных Firebase
Эксплуатация уязвимых/неправильно настроенных баз данных Firebase
Нестандартные модули python:
Если следующие команды выполняются успешно, вы готовы к использованию скрипта:
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]
Аргументы:
-h Показать справочное сообщение
-d Абсолютный путь к загруженному HTML-файлу.
-o Имя выходного файла. По умолчанию: results.json
-c Сканировать домены из списка top-1m от Alexa. Укажите количество доменов для сканирования, например: 100. До 1000000
-p Количество процессов для выполнения. По умолчанию: 1
-l Путь к файлу, содержащему базы данных для сканирования. Одно имя БД на строку. Этот параметр нельзя использовать вместе с -d или -c
--dnsdumpster Использовать API DNSDumpster для сбора БД
--just-v Игнорировать "неуязвимые" БД
--amass Путь к выходному файлу сканирования amass (аргумент [-o])
Пример:
python3 firebase.py -p 4 -f results_1.json -c 150 --dnsdumpster Это позволит просмотреть первые 150 доменов в файле Alexa, а также базы данных, предоставленные DNSDumpster. Результаты будут сохранены в results_1.json, и весь скрипт будет выполняться с использованием 4 параллельных процессов.
Скрипт создаст JSON-файл, содержащий собранные уязвимые базы данных и их дампы. Каждая база данных имеет статус:
Для лучших результатов перейдите на pentest-tools.com и в его сканере поддоменов введите следующий домен: firebaseio.com. После завершения сканирования сохраните HTML-страницу (CRL+S) и используйте аргумент -d [path], это позволит скрипту анализировать поддомены, обнаруженные этим сервисом. Возможно, в будущем будут поддерживаться другие сканеры поддоменов.
Теперь мы поддерживаем сканер amass от @caffix! Запустив любое желаемое сканирование с помощью этого инструмента для firebaseio.com с использованием аргумента -o, скрипт сможет обработать выходной файл и просканировать обнаруженные БД.
Базы данных Firebase работают по следующей структуре: https://[имя_БД].firebaseio.com/. Если вы используете аргумент -l [path], предоставленный файл должен содержать одно [имя_БД] на строку, например:
airbnb
twitter
microsoft
При использовании этого файла будут проверены следующие БД: https://airbnb.firebaseio.com/.json, https://twitter.firebaseio.com/.json, https://microsoft.firebaseio.com/.json
Этот скрипт основан на работе Mobile Threat Team из appthority. Вся заслуга в исследовании принадлежит им.
Для загрузки доменов из файла 1 миллиона лучших доменов Alexa используется скрипт от @evilpacket.