
OSINT-инструмент для поиска, парсинга и выгрузки только тех открытых директорий Elasticsearch и MongoDB, которые содержат данные, которые вы хотите раскрыть.
![]() | ODBParser |
ODBParser — это инструмент для поиска PII, раскрытой в открытых базах данных.
ТОЛЬКО для выявления раскрытой PII и предупреждения владельцев серверов о безответственном обслуживании баз данных
ИЛИ для запросов к базам данных, на доступ к которым у вас есть разрешение!
ПОЖАЛУЙСТА, ИСПОЛЬЗУЙТЕ ОТВЕТСТВЕННО
Написал это, так как хотел создать универсальный инструмент OSINT для поиска, анализа и анализа открытых баз данных с целью выявления утечек PII на сторонних серверах. Другие инструменты, похоже, либо только ищут открытые базы данных, либо выгружают их после обнаружения, а затем без разбора захватывают данные. Вырос из одной-двух функций в то, что есть в этом репозитории, так что код не такой чистый и красивый, как мог бы быть.
Для идентификации открытых баз данных вы можете:
Варианты выгрузки:
Постобработка:
Другие возможности:
Смотрите файл odbconfig.py, чтобы указать свои параметры, потому что, по сути, цель игры — выявить те данные, которые ИНТЕРЕСУЮТ ВАС. Я привёл несколько примеров в файле конфигурации. Поэкспериментируйте с ними!
Вы можете:
Я рекомендую создать виртуальное окружение для ODBParser, чтобы избежать проблем с неверными версиями модулей. Примечание: Протестировано ТОЛЬКО на Python 3.7.3 и Windows 10.
ПОЖАЛУЙСТА, ИСПОЛЬЗУЙТЕ ОТВЕТСТВЕННО
Примеры: python ODBParser.py -cn US -p 8080 -t users --elastic --shodan --csv --limit 100
python ODBParser.py -ip 192.168.2:8080 --mongo --ignorelogs --nosizelimits
Ущерб на сегодня: обработано 0 серверов | выгружено 0 баз данных | получено 0 записей
_____________________________________________________________________________
дополнительные аргументы:
-h, --help показать это справочное сообщение и выйти
Параметры запроса:
--shodan, -sh Добавьте этот флаг при использовании Shodan. Укажите ES или MDB с
флагами.
--binary, -be Добавьте этот флаг при использовании BinaryEdge. Укажите ES или MDB
с флагами.
--ip , -ip Запрос к одному серверу. Добавьте порт следующим образом '192.165.2.1:8080'
или будет использоваться порт по умолчанию для каждого типа БД. Добавьте флаги ES
или MDB, чтобы указать парсер.
--file , -f Загрузить IP-адреса, разделённые строками, из файла. Добавьте порт или будет
использоваться порт по умолчанию для каждого типа БД. Добавьте флаги ES или MDB,
чтобы указать парсер.
--paste, -v Запрос IP-адресов, разделённых строками, из буфера обмена. Добавьте порт или
будет использоваться порт по умолчанию для каждого типа БД, например 9200
для ES. Добавьте флаги ES или MDB, чтобы указать парсер.
Параметры Shodan/BinaryEdge:
--limit , -l Максимальное количество результатов на запрос. По умолчанию
500.
--port , -p Фильтр по порту.
--country , -cn Фильтр по стране (двухбуквенный код страны).
--terms , -t Введите любые дополнительные условия запроса здесь, например
'users'
Параметры выгрузки:
--mongo, -mdb Используйте для методов IP, Shodan, BinaryEdge и Paste, чтобы
указать парсер.
--elastic, -es Используйте для методов IP, Shodan, BinaryEdge и Paste, чтобы
указать парсер.
--properjson, -pj Добавьте этот флаг, если хотите, чтобы вывод был в правильном JSON
файле. По умолчанию — один JSON-строковый объект на строку.
--database , -db Укажите базу данных, которую хотите захватить. Для MDB должен быть в
формате 'db:collection'. Используйте с аргументом IP и флагом 'es'
или 'mdb'.
--getall, -g Получить все индексы независимо от полей и
названий коллекций/индексов (переопределяет выбор в файле конфигурации).
--ignorelogs Подключиться к серверу, который вы уже проверяли.
--nosizelimits, -n Выгружать индекс независимо от его размера. Максимальное количество
документов по умолчанию — 800 000.
--csv Преобразовывать JSON-дампы в формат CSV на лету (помещает JSON-файлы
в резервную папку на случай проблем с преобразованием).
Параметры CSV/постобработки:
--convertToCSV , -c Преобразовать JSON-файл или папку с JSON-дампами в CSV
после завершения. Укажите полный путь или имя папки в текущей
рабочей директории.
--dontflatten Используйте, если возникают проблемы с памятью при преобразовании JSON-файлов
в CSV во время постобработки.
--basic Используйте с флагом --convertToCSV, если ваши JSON-дампы
не являются настоящими JSON-файлами, а представляют собой разделённые строками
JSON-объекты, полученные из других источников.
--dontclean, -dc Выберите, если хотите сохранить бесполезные данные при преобразовании
в CSV. Смотрите документацию для получения дополнительной информации.