Инфосливы

Открытые базы данных и их взлом с помощью Shodan

Все чаще встречаются новости об утечках. Исследователи находят конфиденциальную информацию в открытых базах данных (MongoDB, Elasticsearch, Kibana, CouchDB, Hadoop и другие). После этого начинаются скандалы, серьезные испытания для компаний и даже судовые расследования на сотни миллионов долларов. Несколько примеров для наглядной демонстрации в СМИ.

  • Исследователь нашёл открытую базу сервиса распознавания текста Abbyy с сотнями тысяч документов.
  • 200 000 000 резюме оказались в открытом доступе из-за незащищенной установки MongoDB.
  • Информация о 93,4 млн. мексиканских избирателей была доступна любому желающему.

В этой статье я расскажу, как можно находить открытые базы данных и анализировать их содержание.

Поиск открытых БД с помощью Shodan

Для поиска БД используются специальные поисковики Shodan и Censys. Базы данных имеют определенный паттерн в виде порта и так называемого заголовка. Например, для MongoDB это стандартный порт 27017 и наличие заголовка «mongodb server information». Такие шаблоны существуют и для других БД.

Самый популярный вариант — MongoDB. На момент написания статьи проиндексировано 69100 результатов. Большинство из них закрыты (об этом говорит наличие параметра Authentication partially enabled).

Чтобы найти открытые БД создаем запрос:

all:»mongodb server information» all:»metrics»

В данном случае получаем 24943 результата. Примерно столько существует открытых БД, которые содержат определенную информацию. Конечно, какая-то часть — пустышки, в них нет ничего интересного. Но это уже предмет анализа.

USA — лидер по открытым MongoDB с результатом 7915.

По запросу Elasticsearch результатов меньше. 20283 проиндексированных записей, а лидер — Китай.

port:»9200″ all:»elastic indices»

Чтобы полноценно работать с результатами выдачи БД: фильтровать записи по размеру, дате попадания в индекс, количеству коллекций и т.д. нужно использовать более функциональные инструменты. Один из них ― Lampyre.

Если нет желания доставлять себе софт, можно использовать давно знакомый Shodan Command-Line Interface. Для тех, кто хочет работать с помощью командной строки я подготовил файл с командами, которые позволяют находить и анализировать данные в форматах json или xlsx.

Для работы с более экзотическими базами рекомендую использовать LeakLooker. Скрипт написан на Python и работает с Shodan. Помимо стандартных БД поддерживает Kibana, CouchDB.

Поиск открытых БД с помощью Lampyre

Для более гибких настроек можно воспользоваться инструментом 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 for MongoDB

Выбор пал на бесплатную версию Robo 3T. Portable-версия занимает около 15 мб и позволяет быстро подключиться к нужной БД. После запуска видим окно, куда нужно указать IP-адрес. Нажимаем правой кнопкой и добавляем с помощью кнопки Add.

Указываем нужный IP и нажимаем Save.

После удачного подключения можем посмотреть БД. Если подключение произошло, то в левой панели появится новый клиент.

Дальше смотрим коллекции, которые используются в БД:

Можно использовать любой менеджер для работы с БД. Также можно обрабатывать данные и с командной строки. Несмотря на то, что Studio 3T for MongoDB имеет больший функционал (который доступен в течении пробного периода на 30 дней), ты увидел, что можно вполне нормально работать и с бесплатными программами. Все индивидуально.

Заключение

Открытых баз данных действительно много. Почти каждую неделю выходит громкая новость об утечке данных. Это может быть БД отеля, магазина или сервисного центра. При беглом просмотре, среди примеров в статьи было два удачных варианта: магазин и доска объявлений продажи автомобилей. В первом случае, можно было посмотреть заказ, описание и телефон/почту владельца, во втором случае — телефон и марку машины.

Очень часто встречаются конфиденциальные данные в незашифрованном виде. Многие компании хранят информацию и даже не задумываются о возможных последствиях. Я продемонстрировал достаточно способов, чтобы найти открытые БД с терабайтами записей. Что делать с найденной информацией — выбор за тобой.

Click to rate this post!
[Total: 7 Average: 4.4]
cryptoworld

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

View Comments

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

4 месяца ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

5 месяцев ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

5 месяцев ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

5 месяцев ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

5 месяцев ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

5 месяцев ago