Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Облачная база данных — штука удобная: считай, вся работа по деплою и настройке сервера за тебя уже сделана, осталось только пользоваться! Админов это расслабляет настолько, что такие базы часто остаются незащищенными и ищутся с помощью поисковиков. Один нюанс — этим поисковиком не может быть Google!
Firebase — это облачная платформа, которую разработала компания Envolve в 2011 году. Изначально это была база данных для приложений‑чатов, но позже ее полюбили разработчики многопользовательских онлайновых игр. Это подвигло основателей разделить Firebase на две части: модуль чата и модуль игрового фреймворка.
Два года спустя, в 2014 году, Google приобрела Firebase и продолжила развивать. Программные интерфейсы для этой базы данных есть для множества платформ и языков программирования.
info
Подробнее про Firebase — в статье «Строим мобильное приложение на Firebase — бесплатном и мощном бэкэнде Google».
С технической точки зрения Firebase — крутая и удобная штука. Кажется, что ничего докручивать и допиливать здесь не нужно. Но безопасная настройка облачной базе таки нужна, и многие владельцы об этом забывают, чересчур расслабившись. Настолько, что забывают о простейшей вещи — аутентификации.
Получается, что в интернете масса незакрытых паролем баз данных, а это легкая добыча для злоумышленников. Только вот взять и нагуглить их не получиться, потому что в Google решили, что эту проблему можно решить, просто исключив эти базы из поисковой выдачи. Ловко! Но крайне ненадежно.
Поиск Google по запросу Firebase
Ничто не мешает нам воспользоваться другим поисковиком — например, Bing или DuckDuckGo. Они выдают уже намного больше полезной информации.
Поисковый запрос в Bing и DuckDuckGo
Что можно сделать дальше, после того как найдены домены с уязвимыми базами? Открываем любую ссылку — например, https://hacker-news.firebaseio.com/v0/topstories.json
. Информация о ней бесполезна, но если убрать из ссылки название таблицы topstories
и оставить только .json
, то можно проверить, защищена база или нет. В этом случае результат выглядит вот так:
{ "error" : "Permission denied"}
Все верно, лично я бы знатно удивился, если бы владельцы этого сайта допустили настолько вопиющую оплошность. Но некоторые ее таки допускают. Минут десять перебора ссылок, и поиск увенчается успехом.
Найденная открытая база данных
Я нашел что‑то более интересное — учетки с хешами паролей. Выбрать их из файла несложно простым скриптом на Python или утилитой jq.
При помощи HashID определяем тип хешей (это был MD5) и загоняем в hashcat. Если нет достаточно мощного железа, можно воспользоваться онлайновым сервисом — тулза FindMyHash автоматически их подбирает. Все эти утилиты предустановлены в Kali Linux.
Взлом пароля через FindMyHash
Ждем десять минут, и перед нами логины и пароли в открытом виде.
Найденная база с открытыми паролями в открытом виде
Сидеть, менять поисковики и перебирать все URL вручную очень нудно. Слишком часто видишь «error : Permission denied». Значит, пора автоматизировать! Программировать, правда, не потребуется, потому что это уже сделали до нас. Возьмем, к примеру, скрипт за авторством Францеска Эрреры.
Скрипт сам подбирает URL и ищет уязвимые базы данных.
Качаем его и устанавливаем зависимости:
git clone https://github.com/Turr0n/firebase.git
cd firebase
pip install -r requirements.txt
И запускаем:
python3 firebase.py -p 4 -c 150 –dnsdumpster
Ключи:
p
— указывает количество потоков (по умолчанию 1, максимум 4);dnsdumpster
— генерирует URL самостоятельно;с
— какое количество доменов генерировать.Да, скрипт умеет генерировать ссылки самостоятельно. Точнее, делает это не сам, а обращается за помощью к утилите DNSdumpster.
Результат работы скрипта
По результату видно, что из найденных баз:
Источник: xakep.ru