1. Разведка и OSINT: инструменты сбора данных (theHarvester, Shodan, Maltego, Recon-ng)
Разведка и OSINT: инструменты сбора данных (theHarvester, Shodan, Maltego, Recon-ng)
Этап разведки (Reconnaissance) является фундаментом любого тестирования на проникновение. По статистике, профессиональные пентестеры тратят до 70-80% времени именно на сбор информации, так как чем больше векторов атаки будет найдено на этом этапе, тем выше шансы на успешную эксплуатацию уязвимостей. Мы сосредоточимся на OSINT (Open Source Intelligence) — разведке на основе открытых источников, которая позволяет получить критически важные данные о цели без прямого взаимодействия с её инфраструктурой.
В этой статье мы разберем четыре ключевых инструмента, которые стали стандартом индустрии: theHarvester, Shodan, Maltego и Recon-ng.
theHarvester: Сбор email-адресов и субдоменов
theHarvester — это простой, но эффективный инструмент командной строки, написанный на Python. Его основная задача — агрегация информации из различных поисковых систем и публичных баз данных. Он идеально подходит для начального этапа, когда вам нужно очертить периметр организации и найти точки входа через социальную инженерию.
Принцип работы
Инструмент не сканирует цель напрямую. Вместо этого он отправляет запросы к Google, Bing, LinkedIn, Baidu, Yahoo и другим источникам, извлекая из выдачи: * Адреса электронной почты (для фишинга или брутфорса). * Субдомены (для расширения поверхности атаки). * Имена хостов и виртуальные хосты. * Открытые порты (через интеграцию с Shodan).Практическое применение
Использование theHarvester сводится к передаче целевого домена и выбора источников данных. Рассмотрим базовый синтаксис:Разбор аргументов:
* -d: Целевой домен.
* -b: Источник данных (source). Значение all задействует все доступные модули, но это может занять много времени и привести к блокировке вашего IP поисковиками. Рекомендуется перебирать источники последовательно.
* -l: Лимит результатов (limit). Ограничивает количество обрабатываемых страниц поисковой выдачи.
Результатом работы станет список корпоративных почтовых адресов, которые часто формируются по шаблону (например, imya.familiya@company.com), и список субдоменов, которые могут вести на забытые тестовые среды или панели администратора.
Shodan: Поисковая система для хакеров
Если Google индексирует контент веб-страниц, то Shodan индексирует информацию о сервисах и устройствах, подключенных к интернету. Это глобальный сканер портов, который круглосуточно опрашивает IPv4-адреса и сохраняет полученные баннеры ответов.
!Принципиальное различие в объектах индексации между Google и Shodan
Баннеры и метаданные
Shodan собирает «баннеры» — текстовые метаданные, которые сервис отправляет клиенту при подключении. В них часто содержится: * Версия программного обеспечения (например,Apache/2.4.41).
* Тип операционной системы.
* Информация о конфигурации.
* Геолокация сервера.Поисковые фильтры
Мощь Shodan заключается в его фильтрах. Пентестер может найти уязвимые сервера конкретной компании, не отправляя ни одного пакета в её сторону. Примеры запросов:* org:"Target Company" — поиск всех устройств, принадлежащих организации (по данным WHOIS).
* net:192.168.0.0/24 — поиск в конкретном диапазоне IP-адресов.
* port:3389 — поиск открытых портов RDP (удаленный рабочий стол).
* vuln:CVE-2019-0708 — поиск устройств, потенциально уязвимых к BlueKeep (требует платной подписки).
> Shodan позволяет обнаружить «теневые IT-ресурсы» — сервера и устройства, которые были подключены администраторами в обход регламентов безопасности и остались без защиты.
Maltego: Визуализация связей
Maltego — это инструмент для построения графов связей. В отличие от консольных утилит, Maltego фокусируется на визуализации отношений между сущностями (Entities). Это позволяет аналитику увидеть неочевидные связи между людьми, доменами, IP-адресами и организациями.
Архитектура: Сущности и Трансформации
Работа в Maltego строится на двух понятиях:!Пример графа связей, построенного в Maltego
Процесс работы
Пентестер начинает с одной известной точки входа (например, домена). Применяя трансформации, он расширяет граф:Maltego поставляется в версии Community Edition (бесплатная, с ограничениями на количество результатов) и коммерческих версиях. Инструмент агрегирует данные из десятков источников (VirusTotal, Shodan, WHOIS) в единый интерфейс.
Recon-ng: Фреймворк для веб-разведки
Recon-ng — это полнофункциональный фреймворк для веб-разведки, написанный на Python. Его интерфейс и логика работы намеренно скопированы с Metasploit Framework, чтобы облегчить обучение специалистам по безопасности.
Модульная структура
Recon-ng не является монолитной программой. Он состоит из независимых модулей, разделенных по категориям: * Recon: Модули для активного и пассивного сбора данных (поиск контактов, хостов). * Discovery: Поиск скрытого контента на веб-серверах. * Exploitation: (Ограниченно) эксплуатация найденных уязвимостей. * Reporting: Генерация отчетов (HTML, JSON, CSV).База данных и рабочие пространства
Ключевое преимущество Recon-ng — наличие встроенной базы данных. Все найденные данные (хосты, контакты, утечки) автоматически сохраняются и структурируются. Это позволяет передавать результаты работы одного модуля на вход другому без ручного копирования.Пример рабочего процесса:
workspaces create target_projectdb insert domainsmodules search bingmodules load recon/domains-hosts/bing_domain_webrunПосле выполнения модуля найденные хосты попадут в таблицу hosts. Затем можно загрузить модуль recon/hosts-hosts/resolve, который возьмет эти хосты из базы и попытается узнать их IP-адреса.
Сравнительный анализ инструментов
Каждый инструмент занимает свою нишу в методологии пентестинга. Эффективная стратегия подразумевает их комбинирование.
| Инструмент | Тип интерфейса | Главная цель | Лучшее применение | | :--- | :--- | :--- | :--- | | theHarvester | CLI (Консоль) | Email, Субдомены | Быстрый сбор контактов и первичная карта доменов | | Shodan | Web / CLI | Инфраструктура, IoT | Поиск открытых портов и уязвимых сервисов без сканирования | | Maltego | GUI (Графика) | Связи, Люди, Сети | Глубокий анализ связей и визуализация инфраструктуры | | Recon-ng | CLI (Shell) | Комплексная разведка | Автоматизация сбора данных и хранение результатов в БД |
Итоги
* OSINT — это база. Качественная разведка позволяет найти «низко висящие фрукты» (легкие цели) и избежать преждевременного обнаружения системами защиты (IDS/IPS), так как большинство описанных методов являются пассивными. * Специализация инструментов. theHarvester идеален для сбора email-адресов, Shodan — для анализа технической инфраструктуры, Maltego — для построения связей, а Recon-ng — для автоматизации всего процесса. * Пассивность. Использование Shodan и поисковых движков (через theHarvester) не генерирует трафик на целевые сервера, делая разведку практически невидимой для службы безопасности цели. * Визуализация. Для сложных целевых архитектур использование Maltego позволяет увидеть картину целиком, что часто упускается при просмотре текстовых логов.