Инструменты разведки: 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 по расписанию, удаление забытых хостов, общие ящики вместо личных и обучение людей фишингу.