Все чаще встречаются новости об утечках. Исследователи находят конфиденциальную информацию в открытых базах данных (MongoDB, Elasticsearch, Kibana, CouchDB, Hadoop и другие). После этого начинаются скандалы, серьезные испытания для компаний и даже судовые расследования на сотни миллионов долларов. Несколько примеров для наглядной демонстрации в СМИ.
В этой статье я расскажу, как можно находить открытые базы данных и анализировать их содержание.
Для поиска БД используются специальные поисковики Shodan и Censys. Базы данных имеют определенный паттерн в виде порта и так называемого заголовка. Например, для MongoDB это стандартный порт 27017 и наличие заголовка «mongodb server information». Такие шаблоны существуют и для других БД.
Самый популярный вариант — MongoDB. На момент написания статьи проиндексировано 69100 результатов. Большинство из них закрыты (об этом говорит наличие параметра Authentication partially enabled).
Чтобы найти открытые БД создаем запрос:
all:»mongodb server information» all:»metrics»
В данном случае получаем 24943 результата. Примерно столько существует открытых БД, которые содержат определенную информацию. Конечно, какая-то часть — пустышки, в них нет ничего интересного. Но это уже предмет анализа.
По запросу Elasticsearch результатов меньше. 20283 проиндексированных записей, а лидер — Китай.
port:»9200″ all:»elastic indices»
Чтобы полноценно работать с результатами выдачи БД: фильтровать записи по размеру, дате попадания в индекс, количеству коллекций и т.д. нужно использовать более функциональные инструменты. Один из них ― Lampyre.
Если нет желания доставлять себе софт, можно использовать давно знакомый Shodan Command-Line Interface. Для тех, кто хочет работать с помощью командной строки я подготовил файл с командами, которые позволяют находить и анализировать данные в форматах json или xlsx.
Для работы с более экзотическими базами рекомендую использовать LeakLooker. Скрипт написан на Python и работает с Shodan. Помимо стандартных БД поддерживает Kibana, CouchDB.
Для более гибких настроек можно воспользоваться инструментом Lampyre для ОС Windows. После скачивания приложения необходимо указать почту и подтвердить свой аккаунт. После запуска в режиме Online Mode, нужно нажать New Investidation, выбрать папку для хранения проекта и начать работу.
В List of requests выбираем Shodan search. Вводим API ключ и наш запрос в поле Query, который позволит найти открытые БД.
all:»mongodb server information» all:»metrics»
Также можно указать дополнительные параметры в окне Shodan — 2. Например, страну и порт. Запускаем с помощью кнопки «Execute». Далее появляются результаты. Для графического отображения необходимо выбрать «Schema»->»Network».
Lampyre может фильтровать найденные запросы с помощью встроенного запроса ExploreDB: MongoDB. Выбираем необходимые IP, после этого правой кнопкой вызываем меню и указываем ExploreDB: MongoDB.
После чего получаем все запросы в удобном формате. Можно фильтровать по размеру БД и другим параметрам, которых нет в Shodan. Подтверждением того, что БД открытая, служит параметр text, который имеет статус open. Стоит сортировать результаты по параметрам Size и Count documents, так как самые интересные БД будут содержать максимальное количество записей в таблицах.
Также можно заметить со скриншотов, что Lampyre поддерживает работу с ExploreDB: ElasticSearch. Делаем все по аналогии, используя запрос:
port:»9200″ all:»elastic indices»
Получаем в удобном виде базы данных ElasticSearch. Их можно посмотреть, перейдя по ссылке в столбце «http query top 500«.
В итоге находим открытую БД какого-то магазина, где можно найти телефон, дату создание, описание, почту и еще некоторую интересную информацию. Помните, те кто ищет, тот всегда найдет 🙂
Для работы с полученными БД можно использовать любой удобный для вас менеджер. Например, для MongoDB подойдет NoSQL Manager for MongoDB, Robo 3T или Studio 3T for MongoDB. Рассмотрим, на примере один из вариантов.
Выбор пал на бесплатную версию Robo 3T. Portable-версия занимает около 15 мб и позволяет быстро подключиться к нужной БД. После запуска видим окно, куда нужно указать IP-адрес. Нажимаем правой кнопкой и добавляем с помощью кнопки Add.
Указываем нужный IP и нажимаем Save.
После удачного подключения можем посмотреть БД. Если подключение произошло, то в левой панели появится новый клиент.
Дальше смотрим коллекции, которые используются в БД:
Можно использовать любой менеджер для работы с БД. Также можно обрабатывать данные и с командной строки. Несмотря на то, что Studio 3T for MongoDB имеет больший функционал (который доступен в течении пробного периода на 30 дней), ты увидел, что можно вполне нормально работать и с бесплатными программами. Все индивидуально.
Открытых баз данных действительно много. Почти каждую неделю выходит громкая новость об утечке данных. Это может быть БД отеля, магазина или сервисного центра. При беглом просмотре, среди примеров в статьи было два удачных варианта: магазин и доска объявлений продажи автомобилей. В первом случае, можно было посмотреть заказ, описание и телефон/почту владельца, во втором случае — телефон и марку машины.
Очень часто встречаются конфиденциальные данные в незашифрованном виде. Многие компании хранят информацию и даже не задумываются о возможных последствиях. Я продемонстрировал достаточно способов, чтобы найти открытые БД с терабайтами записей. Что делать с найденной информацией — выбор за тобой.
Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…
Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…
Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…
С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…
Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…
Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…
View Comments
Можно ссылку на источник?
да можно
подскажете?