Что такое OSINT и зачем он нужен тестировщику
Разведка по открытым источникам не требует отправки ни одного пакета на серверы цели. Вы просто собираете то, что уже доступно публично. Это может быть список адресов электронной почты, найденный через поисковые системы, имена сотрудников из профилей LinkedIn, информация о доменах из регистрационных записей WHOIS, технические данные о серверах из баз вроде Shodan. Всё это вместе создаёт картину, которая помогает понять, с чем именно вам предстоит работать.
Для тестировщика безопасности OSINT ценен по нескольким причинам. Во-первых, он позволяет выявить цели, о существовании которых вы могли не подозревать. Например, вы можете обнаружить тестовый сервер, забытый администраторами, или веб-приложение, развёрнутое на нестандартном порту. Во-вторых, собранная информация упрощает социальную инженерию: зная имена сотрудников и их должности, можно построить убедительную фишинговую атаку. В-третьих, OSINT помогает лучше понять контекст бизнеса и расставить приоритеты при тестировании. Если вы знаете, что компания активно использует облачные сервисы, имеет смысл проверить конфигурацию этих сервисов, а не только внутреннюю сеть.
theHarvester: быстрый сбор email и поддоменов
theHarvester - это, пожалуй, самый простой инструмент для начала знакомства с OSINT. Его задача узкая, но важная: собрать как можно больше адресов электронной почты, имён хостов и поддоменов, связанных с целевым доменом. Инструмент обращается к поисковым системам, серверам PGP-ключей и другим публичным источникам, агрегируя результаты в одном отчёте.
theHarvester предустановлен в Kali Linux. Если вы работаете в другом дистрибутиве, установить его можно из репозитория или собрать из исходников. В Debian и Ubuntu достаточно выполнить команду:
| 1 | sudo apt install theharvester |
Базовый синтаксис выглядит так: вы указываете домен через флаг -d, ограничиваете количество результатов с помощью -l и выбираете источник данных флагом -b. Например, чтобы найти до 500 адресов, связанных с доменом example.com, через поисковую систему DuckDuckGo, выполните:
| 1 | theHarvester -d example.com -l 500 -b duckduckgo |
В ответ вы получите список найденных email-адресов, имён хостов и, возможно, IP-адресов. Если вы хотите задействовать сразу все доступные источники, укажите -b all:
| 1 | theHarvester -d example.com -b all |
Однако стоит учитывать, что не все источники работают одинаково хорошо. Некоторые поисковые системы блокируют автоматические запросы, поэтому результаты могут быть неполными. Google, например, часто отказывает в обслуживании, если видит слишком много запросов с одного IP-адреса. В таких случаях имеет смысл комбинировать несколько источников или использовать DuckDuckGo и Bing, которые более лояльны к автоматизации.
Сохранить результаты в файл для дальнейшего анализа можно с помощью флага -f. Инструмент создаст HTML-отчёт, который удобно открыть в браузере:
| 1 | theHarvester -d example.com -b google,bing -f report |
После завершения работы вы получите файл report.html со структурированным списком найденных данных. Это особенно удобно, когда вы проводите масштабное исследование и хотите сохранить промежуточные результаты.
Recon-ng: полноценный фреймворк для OSINT
Если theHarvester - это скальпель, то Recon-ng - целый хирургический набор. Это модульный фреймворк, написанный на Python, который напоминает Metasploit, но предназначен для разведки. Recon-ng хранит все собранные данные в базе данных SQLite, что позволяет модулям обмениваться информацией и накапливать результаты. Вы можете запустить один модуль для сбора поддоменов, а затем использовать эти данные в другом модуле для поиска контактов или проверки открытых портов.
Recon-ng также предустановлен в Kali Linux. После запуска вы попадаете в интерактивную оболочку, где первым делом нужно создать рабочее пространство. Это изолирует данные одного проекта от другого:
| 1 | workspaces create myproject |
Фреймворк не содержит модулей «из коробки», начиная с версии 5.0. Их нужно устанавливать из официального маркетплейса. Посмотреть список доступных модулей можно командой:
| 1 | marketplace search |
Для начала работы с доменом установите несколько базовых модулей. Например, модуль google_site_web ищет поддомены через Google-дорки, а brute_hosts перебирает поддомены по словарю:
| 1 2 | marketplace install recon/domains-hosts/google_site_web marketplace install recon/domains-hosts/brute_hosts |
После установки модуля его нужно загрузить, задать исходные данные и запустить. Например, чтобы найти поддомены для домена example.com с помощью Google:
| 1 2 3 | modules load recon/domains-hosts/google_site_web options set SOURCE example.com run |
Recon-ng сохранит найденные хосты в базу данных. Вы можете просмотреть их командой show hosts. А затем, например, запустить модуль для поиска контактов, связанных с этими хостами:
| 1 2 3 | marketplace install recon/domains-contacts/whois_pocs modules load recon/domains-contacts/whois_pocs run |
Многие модули Recon-ng требуют API-ключей от сторонних сервисов: Shodan, Censys, Hunter.io и других. Без ключей функциональность ограничивается публичными веб-источниками, но и этого часто бывает достаточно для первого этапа разведки. Добавить ключ можно командой:
| 1 | keys add shodan_api YOUR_API_KEY |
Recon-ng также позволяет генерировать отчёты на основе собранных данных. Модули категории Reporting создают HTML, CSV или XML-файлы, которые можно приложить к отчёту о тестировании.
Сравнение theHarvester и Recon-ng
Эти два инструмента решают разные задачи, и выбор между ними зависит от целей. theHarvester - это быстрый способ получить «снимок» публичной информации о домене. Он не требует настройки, не нуждается в API-ключах и выдаёт результат за считанные секунды. Если вам нужно просто узнать, какие email-адреса и поддомены связаны с целью, theHarvester справится с этим лучше всего.
Recon-ng - это инструмент для более глубокой и методичной работы. Он требует времени на настройку, установку модулей и, возможно, получение API-ключей. Зато он позволяет выстраивать цепочки исследований: найденные поддомены можно проверить на открытые порты, контакты - использовать для дальнейшего поиска, а все данные сохраняются в структурированной базе. Если вы проводите длительное тестирование и хотите, чтобы результаты были воспроизводимыми, Recon-ng станет незаменимым помощником.
На практике эти инструменты часто используют вместе. Сначала theHarvester даёт быстрый обзор, а затем Recon-ng позволяет углубиться в детали и систематизировать собранную информацию.
Безопасность и этика
Разведка по открытым источникам не нарушает границ систем, но это не означает, что она полностью безопасна с этической точки зрения. Собирая информацию о сотрудниках компании, вы работаете с персональными данными. В некоторых юрисдикциях это регулируется законами о защите приватности. Всегда убеждайтесь, что у вас есть письменное разрешение на проведение тестирования, и не выходите за рамки согласованного объёма работ. Если вы практикуетесь, используйте домены, специально созданные для обучения, например vulnweb.com, или развёртывайте собственные лабораторные стенды. Никогда не применяйте инструменты OSINT против реальных организаций без их явного согласия — это может быть расценено как подготовка к атаке.
FAQ (Часто задаваемые вопросы)
Нужно ли устанавливать theHarvester и Recon-ng отдельно, если я использую Kali Linux?
Нет, оба инструмента предустановлены в Kali Linux. Вы можете запустить их сразу после установки системы.
Почему theHarvester не находит email-адреса через Google?
Google активно блокирует автоматические запросы, поэтому результаты могут быть пустыми. Попробуйте использовать другие источники: DuckDuckGo, Bing или all, чтобы задействовать все доступные поисковые системы.
Можно ли использовать Recon-ng без API-ключей?
Да, но функциональность будет ограничена модулями, которые работают с публичными веб-страницами. Для полноценной разведки, включая поиск открытых портов через Shodan или анализ уязвимостей через Censys, потребуются API-ключи.
В чём главное отличие theHarvester от Recon-ng?
theHarvester - это утилита для быстрого сбора email и поддоменов. Recon-ng — это фреймворк с базой данных и модулями, позволяющий выстраивать многоэтапные цепочки разведки и сохранять результаты между сессиями.
Заключение
OSINT - это первый и, пожалуй, самый важный этап любого тестирования безопасности. Инструменты вроде theHarvester и Recon-ng позволяют собрать ценную информацию, не рискуя быть обнаруженным и не нарушая границ систем. Начните с простых запросов в theHarvester, чтобы получить общее представление о домене. Затем переходите к Recon-ng, чтобы систематизировать данные и углубиться в детали. И помните: собранная информация — это только начало. Настоящая ценность появляется тогда, когда вы анализируете её и превращаете в понимание инфраструктуры цели. Для дальнейшего изучения обратитесь к нашим статьям «Nmap для начинающих: сканирование портов и сетей на практике».


