GitHub: новая Open Source библиотека для OSINT

GitHub: новая Open Source библиотека для OSINT

В мире информационной безопасности часто задаются вопросом об исследовании открытых источников на получение личной информации — будь то защищающая сторона (например, для контроля периметра, выявления открытых уязвимостей) или пентестеры (поиск точки входа, аудит периметра и т. д.). Рассмотрим один из таких источников — hunter.io, — работу с которым мы оптимизировали, написав под него новую библиотеку. Подробности и ссылка на GitHub под катом.

Есть множество способов узнать конфиденциальную информацию (например, поддомены или адреса электронной почты), а также инструментов, позволяющих найти адреса, когда-либо появлявшиеся в открытом доступе. Все способы различаются по:

  • методу представления (например, cloud-based, on-premise, гибридные),
  • доступу (web-view, API и т. п.),
  • стоимости (платные, бесплатные).

Сервис hunter.io — это инструмент поиска адресов корпоративной почты, с помощью которого можно получить контактную информацию по доменам. Такие сведения необходимы, чтобы далее проверить найденные email'ы на компрометацию, например, на сайте haveibeenpwned.com .

Hunter.io способен обработать и извлечь необходимые данные из 67 миллионов открытых источников с помощью 5 ключевых методов:

  1. Domain Search: поиск email по домену или названию организации
  2. Email Finder: поиск отдельного сотрудника по имени и компании
  3. Email Verifier: подтверждение работоспособности и актуальности почты
  4. Email Count: позволяет узнать количество email для одного домена или для одной компании
  5. Account Information: управление личным аккаунтом (например, остаток запросов)

Для автоматизации процесса поиска и включения его в уже существующие сервисы, разработанные на языке программирования Go (Goland), мы создали библиотеку «gohunter», прототипом которой послужила библиотека «pyhunter» (https://github.com/VonStruddle/PyHunter), написанная на Python 3 и использующая API hunter.io.

Не будем тут обсуждать, почему мы выбрали именно Go (Goland) — статей на Хабре множество — просто возьмем это за аксиому.

Первоначально для получения информации из командной строки с hunter.io мы использовали скрипт «pyhunter» (https://github.com/n4xh4ck5/pyhunter), выполняющий поиск email только по домену. Сейчас написанная нами библиотека ищет не только по домену, но и по названию организации, а также проверяет email на актуальность и указывает на источники.

Таким образом, библиотека представляет собой клиент для методов, доступных в сервисе hunter.io. Такие методы обращаются к HTTP API hunter.io (версии 2 или v2) и получают ответ в формате JSON, что удобно для поиска и отбора нужной информации. Не благодарите.

Ссылки:
1. Исходники: github.com/solar-jsoc/gohunter .
2. Описание на godoc.org: godoc.org/github.com/solar-jsoc/gohunter .
Alt text