Инструменты разведки: theHarvester, recon-ng

Знакомимся с двумя классическими инструментами разведки и применяем их к аудиту собственного домена.

theHarvester и recon-ng — инструменты пассивной разведки, которые собирают из открытых источников почтовые адреса, поддомены и имена, связанные с заданным доменом, чтобы оценить, что организация раскрывает наружу.

Зачем это знать защитнику

Перед фишинговой кампанией или подбором паролей атакующий сначала составляет список целей: чьи корпоративные адреса существуют, какие поддомены живы, какие имена сотрудников засветились. Эта фаза называется разведкой (reconnaissance) и идёт до любой активной атаки. theHarvester и recon-ng автоматизируют именно её на основе открытых источников. Лучшая защита — провести ту же разведку против себя: увидеть собственный «портрет снаружи» и убрать из него лишнее, пока этим не воспользовались другие. Это штатная часть аудита и подготовки к антифишинговому обучению сотрудников.

Применяйте эти инструменты только к своему домену или к цели, на которую есть письменное разрешение. Сбор открытых данных всё равно остаётся обработкой данных: если в выборку попадают персональные данные людей, действуют требования 152-ФЗ. Несанкционированные действия против чужих систем наказуемы (ст. 272–274 УК РФ).

theHarvester: быстрый сбор «портрета домена»

theHarvester — это инструмент одной задачи: по имени домена он опрашивает несколько открытых источников (поисковые системы, базы сертификатов, публичные сервисы) и выдаёт сводку: найденные e-mail, поддомены, иногда имена и IP. Запускается одной командой в лаборатории против собственного домена.

# Аудит СВОЕГО домена: какие e-mail и поддомены видны в открытых источниках
theHarvester -d mycompany.example -b duckduckgo,crtsh -l 200
# -d  — свой домен
# -b  — источники (источник прозрачности сертификатов crt.sh и поисковик)
# -l  — ограничение глубины поиска

Типичный результат — это не «взлом», а структурированная выжимка из публично доступного:

[*] Emails found:
[email protected]
[email protected]
[email protected]   ← личный адрес в открытом доступе?

[*] Hosts found:
www.mycompany.example
mail.mycompany.example
staging.mycompany.example     ← тестовый стенд торчит наружу?
old-vpn.mycompany.example     ← забытый сервис?

Ценность для защитника — в красных флагах справа: персональные адреса в публичном доступе, тестовые и забытые поддомены, которых не должно быть в интернете. theHarvester хорош как быстрый разовый снимок.

recon-ng: фреймворк разведки с модулями и хранилищем

recon-ng устроен как «metasploit для разведки»: это консольный фреймворк с модулями, рабочими пространствами и базой данных. Вы создаёте workspace, добавляете в него стартовые данные (домен), подключаете модули и запускаете их по очереди; результаты копятся в общих таблицах (hosts, contacts, domains).

# Иллюстрация рабочего процесса recon-ng (в лаборатории, по своему домену)
[recon-ng] > workspaces create audit_self
[recon-ng][audit_self] > db insert domains
  domain (TEXT): mycompany.example
[recon-ng][audit_self] > modules load recon/domains-hosts/hackertarget
[recon-ng][...hackertarget] > run        # соберёт поддомены в таблицу hosts
[recon-ng][audit_self] > show hosts        # посмотреть накопленный результат

Главное отличие от theHarvester — состояние. recon-ng помнит, что уже собрано: один модуль наполняет таблицу поддоменов, следующий берёт оттуда хосты и обогащает их IP, третий ищет связанные контакты. Получается конвейер, а не разовый снимок. Это удобнее для повторяемого аудита: можно вести историю по рабочему пространству и сравнивать состояние во времени.

Пассивная и активная разведка: где граница

Важно различать два режима, потому что от этого зависит и заметность, и юридическая сторона. Пассивная разведка (к ней относятся обе рассмотренные программы в их базовом применении) не трогает инфраструктуру цели: данные берутся у третьих сторон, цель об этом не узнаёт. Активная разведка — это уже прямое взаимодействие: сканирование портов, обращение к веб-серверу цели, перебор поддоменов через прямые DNS-запросы к её зоне. Активные действия видны в логах цели и без разрешения владельца могут трактоваться как неправомерный доступ или попытка нарушения работы (ст. 272, 274 УК РФ).

Для защитника вывод двойной. Против пассивной разведки прямой «детект» невозможен — остаётся лишь сокращать раскрытие. А вот активную разведку по своему периметру вы как раз должны замечать: всплеск необычных DNS-запросов, сканирование портов, аномальные обращения к редким поддоменам — это сигналы для систем обнаружения вторжений (IDS) и анализа логов. Поэтому грамотный аудит включает обе стороны: моделируете пассивный сбор, чтобы убрать лишнее, и настраиваете мониторинг, чтобы видеть активные попытки.

Как это работает под капотом

Оба инструмента пассивны: они не отправляют пакеты на ваши серверы и не «щупают» порты, а спрашивают третьи стороны, которые уже знают про вас. Откуда вообще берутся эти данные? Источники типичны для OSINT:

  • Прозрачность сертификатов (Certificate Transparency). Каждый публично выпущенный TLS-сертификат попадает в открытые логи (их зеркалит, например, crt.sh). Имена хостов в сертификатах = готовый список поддоменов.
  • DNS и обратный DNS. Публичные записи, иногда — попытки перебора по словарю частых имён (www, mail, vpn, dev).
  • Поисковые системы и архивы. Проиндексированные страницы, где встречаются адреса и имена.
  • Публичные базы и сервисы. Агрегаторы, которые уже собрали часть данных.

Поскольку всё это публично, инструменты не оставляют следов в ваших логах — что и делает разведку незаметной для жертвы. Отсюда вывод: обнаружить чужую пассивную разведку напрямую нельзя; можно лишь сократить то, что она найдёт.

Как защититься

  • Регулярно «харвестите» себя. Поставьте периодический аудит своего домена через theHarvester/recon-ng и реагируйте на новые находки (новый поддомен, новый публичный адрес).
  • Убирайте забытые и тестовые хосты. staging-, dev-, old-сервисы не должны быть доступны из интернета без необходимости; закрывайте их по IP или за VPN.
  • Сокращайте раскрытие персональных адресов. Для внешней публикации используйте общие ящики (press@, hr@), а не личные адреса сотрудников.
  • Учитывайте Certificate Transparency. Не закладывайте «секретность» в имя хоста — оно всё равно станет публичным через лог сертификатов; используйте wildcard-сертификаты осознанно.
  • Готовьте людей к фишингу. Раз список адресов собирается легко, главная компенсирующая мера — обучение сотрудников и фильтрация почты, а не надежда на скрытность адресов.

Итоги

  • theHarvester — быстрый разовый снимок e-mail/поддоменов/имён по домену; recon-ng — фреймворк с модулями, workspace и накопительной базой.
  • Оба инструмента пассивны: они опрашивают третьи стороны (сертификаты, DNS, поисковики), а не ваши серверы, поэтому не видны в ваших логах.
  • Применять — только к своему домену или с письменным разрешением; обработка персональных данных подчиняется 152-ФЗ.
  • Защита — это self-OSINT по расписанию, удаление забытых хостов, общие ящики вместо личных и обучение людей фишингу.
Проверьте себя
1. Почему theHarvester и recon-ng называют инструментами пассивной разведки?
AПотому что они работают медленно
BПотому что они опрашивают третьи стороны (сертификаты, DNS, поисковики), а не сами серверы цели
CПотому что они не требуют интернета
DПотому что они только сканируют порты
2. В чём ключевое отличие recon-ng от theHarvester?
Arecon-ng взламывает сайты, theHarvester — нет
BtheHarvester хранит состояние в базе, а recon-ng не хранит
Crecon-ng — фреймворк с модулями, workspace и накопительной базой данных, а theHarvester даёт разовый снимок
DОни полностью идентичны
3. Откуда инструменты разведки чаще всего берут список поддоменов организации?
AИз взлома DNS-сервера
BИз открытых логов прозрачности сертификатов (Certificate Transparency)
CИз исходного кода сайта на сервере
DИз закрытых баз провайдера