Jump to content
Sign in to follow this  
dAVID

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

Recommended Posts

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

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


CyRUfIgRRl6nH1w-XYZ-6w.png

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

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

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

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

Code:
all:"mongodb server information" all:"metrics"

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

fD63wt35TkK-swNroU-5Ow.png

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

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

Code:
port:"9200" all:"elastic indices"

O6M4MEehSP_9PHoSHmTKyw.png

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

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

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

mACJ8No2Tya0z-jKfQyaRQ.png

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

Для более гибких настроек можно воспользоваться инструментом Lampyre для ОС Windows. После скачивания приложения необходимо указать почту и подтвердить свой аккаунт. После запуска в режиме Online Mode, нужно нажать New Investidation, выбрать папку для хранения проекта и начать работу.

В List of requests выбираем Shodan search. Вводим API ключ и наш запрос в поле Query, который позволит найти открытые БД.
 

Code:
all:"mongodb server information" all:"metrics"

roCOVf1jRxy5hE79j1-dGg.png

Также можно указать дополнительные параметры в окне Shodan — 2. Например, страну и порт. Запускаем с помощью кнопки «Execute». Далее появляются результаты. Для графического отображения необходимо выбрать «Schema»->»Network».

SJhJf02sQEOzmYTTRveIsg.png

Lampyre может фильтровать найденные запросы с помощью встроенного запроса ExploreDB: MongoDB. Выбираем необходимые IP, после этого правой кнопкой вызываем меню и указываем ExploreDB: MongoDB.

S4PfM33WSRK9LU8r07Rcug.png

После чего получаем все запросы в удобном формате. Можно фильтровать по размеру БД и другим параметрам, которых нет в Shodan. Подтверждением того, что БД открытая, служит параметр text, который имеет статус open. Стоит сортировать результаты по параметрам Size и Count documents, так как самые интересные БД будут содержать максимальное количество записей в таблицах.

ME5SZe7JSAO_mjM6zY6BTw.png

Также можно заметить со скриншотов, что Lampyre поддерживает работу с ExploreDB: ElasticSearch. Делаем все по аналогии, используя запрос:
 

Code:
port:"9200" all:"elastic indices"

PsLEadetSaaXdFff3exjOQ.png

Получаем в удобном виде базы данных ElasticSearch. Их можно посмотреть, перейдя по ссылке в столбце «http query top 500«.

G7RJDxnuTom28qFVkiJsCw.png

В итоге находим открытую БД какого-то магазина, где можно найти телефон, дату создание, описание, почту и еще некоторую интересную информацию. Помните, те кто ищет, тот всегда найдет

s1JLoDS2TsqMoT7yoAymWg.png

Для работы с полученными БД можно использовать любой удобный для вас менеджер. Например, для MongoDB подойдет NoSQL Manager for MongoDB, Robo 3T или Studio 3T for MongoDB. Рассмотрим, на примере один из вариантов.

Анализируем базы данных с помощью Robo 3T for MongoDB

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

H2h7eBo9QVir9Ts_RLHoEQ.png

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

AAHnvNjQQkOPttlc4rpMcQ.png

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

AsdofWVkRjKvfTcU8KqQSA.png
 

Спойлер

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



j-ZbGhPIQgK45oqCd0RLiA.png

Jrbn5ZwvSSaAOQgNuBDpmA.png

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

Заключение

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Кардинг

Мошенничество с платежными картами, кардинг (от англ. carding) — вид мошенничества, при котором производится операция с использованием платежной карты или её реквизитов, не инициированная или не подтверждённая её держателем.

Хакинг

Внесение изменений в программном обеспечении, для достижения определенных целей, отличающихся от целей создателей программ, очень часто изменения являются вредоносными.

Contact

ICQ: 404488444
×
×
  • Create New...