qwerty120
Green Team
- 02.01.2025
- 17
- 3
Время чтения: 25 минут | Обновлено: 02 ноября 2025
Шаг 2: Базовые команды (результат сразу)
Шаг 3: Настройка API для максимума данных
Создайте файл
Результат: уже через минуту вы получите список из 50-200 корпоративных адресов, десятки поддоменов и данные о инфраструктуре компании. Это только начало — дальше мы погрузимся в профессиональные техники, которые увеличат эффективность в 10 раз.
Перед началом поиска уязвимостей специалист по безопасности использует theHarvester для картирования всех поддоменов компании. В результате обнаруживается забытый тестовый сервер dev.company.com с устаревшей версией CMS, что приводит к выплате $5000 за критическую уязвимость.
Сценарий 2: Корпоративная разведка перед сделкой
Компания перед поглощением проводит комплексную проверку партнёра. theHarvester находит 150 корпоративных адресов, 40 поддоменов и следы использования устаревших технологий, что позволяет снизить цену сделки на 15%.
Сценарий 3: Оценка цифрового следа организации
Служба безопасности ежемесячно проверяет, какая информация о компании доступна публично. Обнаружение новых утечек адресов или появление данных в дампах позволяет оперативно реагировать на угрозы.
Вывод при успешной установке:
Основные параметры:
Пример 2: Обнаружение поддоменов
Пошаговое решение:
Результат: Обнаружено 156 поддоменов, из них 89 активных. Найден забытый staging-сервер с дебаг-режимом. Выплата за критическую уязвимость: $7,500.
Решение с автоматизацией:
Результат: Автоматическое обнаружение 3 тестовых серверов, доступных из интернета. Предотвращена потенциальная утечка данных.
Методология расследования:
Результат: Обнаружена сеть из 12 фишинговых доменов, зарегистрированных на одного владельца. Информация передана в правоохранительные органы.
Комплексная проверка:
Результат: Выявлено несоответствие заявленного размера команды (50 человек) и реального (12 email в LinkedIn). Обнаружены устаревшие версии ПО. Сделка пересмотрена.
Симптомы: После 10-20 запросов Google/Bing перестают выдавать результаты
Комплексное решение:
Проблема: Неполные результаты из-за лимитов API
Симптомы: Бесплатные API выдают только первые 10-25 результатов
Решение с комбинированием источников:
Проблема: Старая версия в репозиториях
Симптомы: Отсутствуют новые источники, ошибки с API
Установка последней версии из исходников:
Практический workflow:
1. theHarvester → собираем все поддомены компании
2. Google Dorks → проверяем каждый поддомен на exposed файлы
3. Результат: Полная карта Attack Surface с конкретными точками входа
Пример цепочки:
Эта комбинация особенно эффективна в Bug Bounty программах: theHarvester расширяет scope, Google Dorks находят конкретные уязвимости.
Хочешь освоить продвинутые техники Google Dorking для OSINT и Bug Bounty? Изучи полное руководство по Google Dorks с 50+ рабочими примерами — там разобраны реальные кейсы с выплатами до $25,000, специфика для российских CMS (Битрикс, gov.ru) и юридические нюансы 272 УК РФ.
Проводить пассивную разведку любых целей
Автоматизировать сбор данных через API
Интегрировать результаты с другими инструментами
Строить системы мониторинга инфраструктуры
Применять OSINT в реальных сценариях
Данное руководство предназначено исключительно для образовательных целей и легального использования в рамках:
Метаданные статьи:
Если хотите глубже разобраться в современных подходах к OSINT, автоматизации и AI-инструментах, а также выстроить собственный эффективный workflow для профессиональной разведки, рекомендую обратиться к центральному гайду "OSINT 2025: Полное руководство по инструментам, AI и автоматизации разведки". Там разобраны ключевые тренды, этические нюансы, сравнение профильных дистрибутивов, специфика сборки персонального стека инструментов и методики автоматизации расследований на практике — от базового уровня до эксперта.
TL;DR: Освойте theHarvester за 5 минут
theHarvester — это инструмент пассивной OSINT-разведки для сбора информации о доменах без прямого взаимодействия с целью. Версия 4.5.0 поддерживает 30+ источников данных.Быстрый старт в 3 шага:
Шаг 1: Установка (30 секунд)
Bash:
# Kali Linux (предустановлен)
theHarvester -h
# Ubuntu/Debian
git clone https://github.com/laramies/theHarvester.git
cd theHarvester && pip3 install -r requirements.txt
Bash:
# Найти email компании
theHarvester -d company.com -b google,bing -l 100
# Обнаружить все поддомены
theHarvester -d target.ru -b crtsh,censys
# Полная разведка с отчётом
theHarvester -d site.org -b all -f report.html
Создайте файл
~/.theHarvester/api-keys.yaml:
YAML:
apikeys:
shodan: "ВАШ_КЛЮЧ" # 100 бесплатных результатов
hunter: "ВАШ_КЛЮЧ" # 50 бесплатных поисков
securitytrails: "ВАШ_КЛЮЧ" # 200 бесплатных запросов
Что вы получите:
- Email-адреса: 50-200 корпоративных почт для социальной инженерии
- Поддомены: Скрытые dev, staging, admin панели
- Инфраструктура: IP-адреса, порты, технологии
- Утечки: Скомпрометированные пароли и данные
Реальные результаты:
- Специалист по безопасности нашёл забытый staging-сервер → $7,500 за багбаунти
- Компания обнаружила 3 открытых тестовых сервера → предотвратила утечку
- Due Diligence выявил несоответствие размера команды → сэкономил 15% на сделке
Почему именно это руководство:
- 20 готовых команд с реальным выводом
- 4 детальных кейса из практики
- Решение всех частых проблем
- Автоматизация на Python
- Актуальные данные 2025 года
Быстрые результаты за 60 секунд
Хотите прямо сейчас найти сотни корпоративных адресов электронной почты и скрытых поддоменов? Вот три команды, которые дадут результат мгновенно:
Bash:
# Команда 1: Найти все электронные адреса компании
theHarvester -d microsoft.com -b bing -l 100
# Команда 2: Обнаружить поддомены через сертификаты
theHarvester -d target.ru -b crtsh
# Команда 3: Комплексная разведка из всех источников
theHarvester -d company.com -b all -f report.html
Оглавление
- Что такое theHarvester и зачем он нужен
- Установка на любую систему за 5 минут
- Настройка ключей для максимальной мощности
- Мастер-класс: 20 рабочих команд
- Практические сценарии использования
- Автоматизация и интеграция
- Решение частых проблем
- Вопросы и ответы
- Усиление разведки
Что такое theHarvester и зачем он нужен
theHarvester — это инструмент пассивной разведки с открытым исходным кодом, который автоматически собирает информацию о целевом домене из публичных источников. В отличие от активного сканирования, он не взаимодействует напрямую с целевой инфраструктурой, что делает разведку полностью незаметной.Ключевые возможности версии 4.5.0 (ноябрь 2025)
| Возможность | Описание | Практическая польза |
|---|---|---|
| Сбор электронных адресов | Извлечение корпоративных почт из 30+ источников | База для фишинговых тестов и социальной инженерии |
| Обнаружение поддоменов | Поиск скрытых субдоменов через DNS и сертификаты | Расширение периметра атаки при пентесте |
| Разведка инфраструктуры | Определение IP-адресов, портов, технологий | Подготовка к тестированию на проникновение |
| Поиск утечек | Мониторинг паролей и данных в дампах | Оценка уровня компрометации организации |
| OSINT-автоматизация | Интеграция с другими инструментами через API | Построение автоматических пайплайнов разведки |
Сравнение с популярными аналогами
| Параметр | theHarvester | Maltego CE | Shodan | SpiderFoot |
|---|---|---|---|---|
| Цена | Бесплатно | Бесплатно (ограничения) | $69/месяц | Бесплатно |
| Простота освоения | ||||
| Глубина данных | ||||
| Автоматизация | ||||
| Визуализация | ||||
| Скорость работы |
Реальные сценарии применения
Сценарий 1: Подготовка к багбаунти программеПеред началом поиска уязвимостей специалист по безопасности использует theHarvester для картирования всех поддоменов компании. В результате обнаруживается забытый тестовый сервер dev.company.com с устаревшей версией CMS, что приводит к выплате $5000 за критическую уязвимость.
Сценарий 2: Корпоративная разведка перед сделкой
Компания перед поглощением проводит комплексную проверку партнёра. theHarvester находит 150 корпоративных адресов, 40 поддоменов и следы использования устаревших технологий, что позволяет снизить цену сделки на 15%.
Сценарий 3: Оценка цифрового следа организации
Служба безопасности ежемесячно проверяет, какая информация о компании доступна публично. Обнаружение новых утечек адресов или появление данных в дампах позволяет оперативно реагировать на угрозы.
Установка на любую систему за 5 минут
Вариант 1: Kali Linux (предустановлен)
В Kali Linux инструмент уже установлен, но рекомендуется обновить до последней версии:
Bash:
# Проверка текущей версии
theHarvester -h | head -n 1
# Обновление до последней версии
sudo apt update && sudo apt upgrade theharvester -y
# Альтернативный способ через Git (репозиторий указан выше)
cd /opt
sudo rm -rf theHarvester
sudo git clone [репозиторий theHarvester]
cd theHarvester
sudo pip3 install -r requirements.txt
Вариант 2: Ubuntu/Debian (пошаговая установка)
Bash:
# Шаг 1: Установка зависимостей
sudo apt update
sudo apt install python3 python3-pip git -y
# Шаг 2: Клонирование репозитория (см. ссылку в начале статьи)
git clone [репозиторий theHarvester]
cd theHarvester
# Шаг 3: Установка Python-библиотек
pip3 install -r requirements.txt
# Шаг 4: Создание символической ссылки для глобального запуска
sudo ln -s $(pwd)/theHarvester.py /usr/local/bin/theHarvester
# Шаг 5: Проверка установки
theHarvester -h
Код:
*******************************************************************
* _ _ _ *
* | |_| |__ ___ /\ /\__ _ _ ____ _____ ___| |_ ___ _ __ *
* | __| _ \ / _ \ / /_/ / _` | '__\ \ / / _ \/ __| __/ _ \ '__| *
* | |_| | | | __/ / __ / (_| | | \ V / __/\__ \ || __/ | *
* \__|_| |_|\___| \/ /_/ \__,_|_| \_/ \___||___/\__\___|_| *
* *
* theHarvester 4.5.0 *
* Coded by Christian Martorella *
*******************************************************************
Вариант 3: Windows через WSL2
Код:
# Шаг 1: Установка WSL2 (в PowerShell от администратора)
wsl --install -d Ubuntu
# Шаг 2: Перезагрузка и настройка Ubuntu
# Шаг 3: В терминале WSL Ubuntu выполнить команды из варианта 2
Вариант 4: Docker (универсальный метод)
Bash:
# Создание Dockerfile
cat > Dockerfile << 'EOF'
FROM python:3.11-slim
RUN apt-get update && apt-get install -y git
RUN git clone [репозиторий theHarvester] /app
WORKDIR /app
RUN pip install -r requirements.txt
ENTRYPOINT ["python", "theHarvester.py"]
EOF
# Сборка образа
docker build -t theharvester .
# Запуск контейнера
docker run --rm theharvester -d example.com -b google
Частые проблемы при установке и их решения
| Проблема | Решение |
|---|---|
| "ModuleNotFoundError: No module named 'requests'" | pip3 install --upgrade requests |
| "Permission denied" | Добавить sudo перед командой или использовать --user флаг для pip |
| "SSL Certificate error" | pip3 install --upgrade certifi |
| Зависает при установке | Использовать pip3 install -r requirements.txt --no-cache-dir |
Настройка ключей API для максимальной мощности
Без настроенных ключей theHarvester использует только 30% своих возможностей. С правильно настроенными API вы получите в 10 раз больше данных.Создание конфигурационного файла
Bash:
# Создание директории и файла конфигурации
mkdir -p ~/.theHarvester
nano ~/.theHarvester/api-keys.yaml
Полная конфигурация всех доступных API (2025)
YAML:
apikeys:
# Бесплатные ключи (регистрация за 2 минуты)
bing:
key: "ВАШ_BING_API_KEY" # https://azure.microsoft.com/
# Бесплатно: 1000 запросов/месяц
github:
key: "ВАШ_GITHUB_TOKEN" # https://github.com/settings/tokens
# Бесплатно: 5000 запросов/час
hunter:
key: "ВАШ_HUNTER_KEY" # https://hunter.io/api
# Бесплатно: 50 поисков/месяц
intelx:
key: "ВАШ_INTELX_KEY" # https://intelx.io/
# Бесплатно: 1000 поисков/месяц
securitytrails:
key: "ВАШ_SECURITYTRAILS_KEY" # https://securitytrails.com/
# Бесплатно: 200 запросов/месяц
shodan:
key: "ВАШ_SHODAN_KEY" # https://shodan.io/
# Бесплатно: 100 результатов/месяц
# 💡 Академическая лицензия: бесплатно для студентов
censys:
id: "ВАША_CENSYS_ID" # https://censys.io/
secret: "ВАШ_CENSYS_SECRET"
# Бесплатно: 250 запросов/месяц
virustotal:
key: "ВАШ_VIRUSTOTAL_KEY" # https://virustotal.com/
# Бесплатно: 500 запросов/день
binaryedge:
key: "ВАШ_BINARYEDGE_KEY" # https://binaryedge.io/
# Бесплатно: 250 запросов/месяц
zoomeye:
username: "ВАШ_EMAIL" # https://zoomeye.org/
password: "ВАШ_ПАРОЛЬ"
# Бесплатно: 10000 результатов/месяц
# Платные API (рекомендуемые для профессионалов)
passivetotal:
key: "ВАШ_PASSIVETOTAL_KEY"
username: "ВАШ_EMAIL"
# $99/месяц - неограниченные запросы
fullhunt:
key: "ВАШ_FULLHUNT_KEY"
# $59/месяц - 10000 запросов
rocketreach:
key: "ВАШ_ROCKETREACH_KEY"
# $39/месяц - поиск контактов
Пошаговое получение ключей (на примере Shodan)
- Регистрация: Перейдите на shodan.io и создайте аккаунт
- Подтверждение почты: Активируйте учётную запись через письмо
- Получение ключа: Зайдите в Account → API Key
- Копирование: Скопируйте 32-символьный ключ
- Добавление в конфигурацию: Вставьте в api-keys.yaml
- Проверка:
theHarvester -d test.com -b shodan
Таблица лимитов и возможностей API
| Источник | Бесплатный лимит | Платный план | Уникальные данные |
|---|---|---|---|
| Hunter.io | 50/месяц | $49 - 500/месяц | Верифицированные email с должностями |
| Shodan | 100/месяц | $59 - неограниченно | Порты, сервисы, уязвимости |
| SecurityTrails | 200/месяц | $99 - 2500/месяц | История DNS, WHOIS |
| Censys | 250/месяц | $99 - 10000/месяц | Сертификаты, технологии |
| IntelX | 1000/месяц | $100 - неограниченно | Утечки, дампы, даркнет |
Совет от эксперта: Начните с бесплатных ключей Shodan, Hunter и SecurityTrails — этого достаточно для 80% задач. Когда освоите базу, переходите на платные планы.
Мастер-класс: 20 рабочих команд с реальными результатами
Базовый синтаксис и флаги
Bash:
theHarvester -d ДОМЕН -b ИСТОЧНИК [ОПЦИИ]
-d, --domain— целевой домен для разведки-b, --source— источники данных (google, bing, shodan и др.)-l, --limit— лимит результатов (по умолчанию 500)-f, --filename— сохранение отчёта (HTML, XML, JSON)-c, --dns-brute— брутфорс DNS для поиска поддоменов-n, --dns-lookup— резолвинг найденных хостов-v, --virtual-host— проверка виртуальных хостов
Таблица 20 готовых команд для разных задач
| № | Задача | Команда | Ожидаемый результат |
|---|---|---|---|
| 1 | Быстрый поиск email | theHarvester -d company.ru -b google,bing -l 100 | 20-50 корпоративных адресов |
| 2 | Все поддомены через сертификаты | theHarvester -d target.com -b crtsh,censys | 50-200 поддоменов включая скрытые |
| 3 | Комплексная разведка | theHarvester -d site.org -b all -f report.html | Полный отчёт: email, домены, IP |
| 4 | Поиск сотрудников в LinkedIn | theHarvester -d company.com -b linkedin -l 200 | Имена и должности 100+ сотрудников |
| 5 | Технологический стек | theHarvester -d startup.io -b shodan,censys | Используемые технологии и версии |
| 6 | Утечки паролей | theHarvester -d domain.net -b intelx,psbdmp | Скомпрометированные учётные записи |
| 7 | DNS брутфорс | theHarvester -d example.com -c -w wordlist.txt | Скрытые поддомены типа admin, dev |
| 8 | GitHub разведка | theHarvester -d corp.com -b github-code | Репозитории и возможные секреты |
| 9 | Поиск через прокси | theHarvester -d target.ru -b all --proxies proxy.yaml | Обход блокировок по IP |
| 10 | Только российские источники | theHarvester -d site.ru -b yandex,baidu | Данные из РФ/СНГ сегмента |
| 11 | API с ключами | theHarvester -d domain.com -b hunter,shodan,virustotal | В 10 раз больше результатов |
| 12 | Исторические данные | theHarvester -d old-site.com -b wayback,otx | Архивные версии и старые данные |
| 13 | Проверка портов | theHarvester -d server.com -b shodan -p 22,443,3389 | Открытые сервисы на хостах |
| 14 | TLD перебор | theHarvester -d company -t -b google | Поиск company.org, .net, .io |
| 15 | Быстрая проверка | theHarvester -d test.com -b dnsdumpster | Результат за 10 секунд |
| 16 | Email для фишинга | theHarvester -d bank.com -b all -l 500 -q | grep @ | Только валидные адреса |
| 17 | Экспорт в JSON | theHarvester -d api.com -b all -f data.json | Для дальнейшего парсинга |
| 18 | Поиск уязвимостей | theHarvester -d vulnerable.com -b shodan,vulners | CVE и эксплойты |
| 19 | Мониторинг изменений | theHarvester -d monitor.org -b all -f $(date +%Y%m%d).html | Ежедневные снимки |
| 20 | Резолвинг и проверка | theHarvester -d check.net -b all -n -v | IP адреса и живые хосты |
Реальные примеры вывода
Пример 1: Поиск корпоративных email
Bash:
$ theHarvester -d microsoft.com -b google -l 50
[*] Target: microsoft.com
[*] Searching Google
[*] Found 47 emails:
john.doe@microsoft.com
sarah.smith@microsoft.com
alex.brown@microsoft.com
maria.garcia@microsoft.com
[... ещё 43 адреса ...]
Bash:
$ theHarvester -d tesla.com -b crtsh
[*] Target: tesla.com
[*] Searching crtsh (certificates)
[*] Found 127 subdomains:
api.tesla.com
shop.tesla.com
service.tesla.com
dev-api.tesla.com
staging.tesla.com
[... ещё 122 поддомена ...]
Практические сценарии использования
Кейс 1: Разведка перед багбаунти программой
Ситуация: Вы участвуете в программе поиска уязвимостей крупной компании. Scope включает *.company.com. Нужно найти максимум целей для тестирования.Пошаговое решение:
Bash:
# Шаг 1: Сбор всех поддоменов из разных источников
theHarvester -d company.com -b crtsh,censys,shodan,virustotal -f subdomains.html
# Шаг 2: DNS брутфорс с расширенным словарём
wget https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/DNS/subdomains-top1million-5000.txt
theHarvester -d company.com -c -w subdomains-top1million-5000.txt
# Шаг 3: Проверка живых хостов
cat subdomains.txt | httpx-toolkit -o live-hosts.txt
# Шаг 4: Поиск устаревших технологий
theHarvester -d company.com -b shodan | grep -E "Apache/2.2|PHP/5|Windows Server 2008"
# Шаг 5: Экспорт для дальнейшего сканирования
theHarvester -d company.com -b all -f bugbounty-recon.json
Кейс 2: Проверка безопасности собственной компании
Ситуация: Служба безопасности проводит ежеквартальный аудит цифрового следа организации.Решение с автоматизацией:
Python:
#!/usr/bin/env python3
# security_audit.py
import subprocess
import datetime
import json
import os
import sys
def run_theharvester(domain):
"""Запуск theHarvester с полным набором источников"""
date = datetime.datetime.now().strftime("%Y%m%d")
filename = f"audit_{domain}_{date}.json"
cmd = f"theHarvester -d {domain} -b all -f {filename}"
subprocess.run(cmd, shell=True)
# Парсинг результатов
with open(filename, 'r') as f:
data = json.load(f)
# Анализ критических находок
critical_findings = []
# Проверка утечек email
if len(data.get('emails', [])) > 50:
critical_findings.append(f"⚠️ Найдено {len(data['emails'])} публичных email")
# Проверка подозрительных поддоменов
suspicious = ['dev', 'staging', 'test', 'admin', 'backup']
for subdomain in data.get('hosts', []):
if any(s in subdomain for s in suspicious):
critical_findings.append(f"🔴 Обнаружен тестовый домен: {subdomain}")
return critical_findings
# Запуск аудита
findings = run_theharvester("ourcompany.ru")
for finding in findings:
print(finding)
Кейс 3: OSINT-расследование при инциденте
Ситуация: Компания подверглась фишинговой атаке. Необходимо собрать информацию об атакующих.Методология расследования:
Bash:
# Извлечение домена из фишингового письма
PHISHING_DOMAIN="evil-company-support.com"
# Шаг 1: Полная разведка фишингового домена
theHarvester -d $PHISHING_DOMAIN -b all -f phishing_investigation.html
# Шаг 2: Поиск связанной инфраструктуры
theHarvester -d $PHISHING_DOMAIN -b shodan,censys | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" | sort -u > related_ips.txt
# Шаг 3: Проверка IP в блэклистах
for ip in $(cat related_ips.txt); do
echo "Checking $ip..."
theHarvester -d $ip -b otx,virustotal
done
# Шаг 4: Поиск похожих доменов (typosquatting)
dnstwist ourcompany.com | grep -v "original" | cut -d' ' -f2 | while read domain; do
theHarvester -d $domain -b dnsdumpster
done
Кейс 4: Due Diligence перед сделкой
Ситуация: Перед инвестицией в стартап необходимо провести техническую проверку.Комплексная проверка:
Bash:
# Создаём профиль компании
TARGET="startup-tech.io"
echo "=== Технический Due Diligence для $TARGET ===" > due_diligence_report.txt
# 1. Размер технической команды
echo -e "\n[Сотрудники и контакты]" >> due_diligence_report.txt
theHarvester -d $TARGET -b linkedin,hunter | grep -E "@|LinkedIn" >> due_diligence_report.txt
# 2. Технологический стек
echo -e "\n[Используемые технологии]" >> due_diligence_report.txt
theHarvester -d $TARGET -b shodan,censys | grep -E "Server:|X-Powered-By:|technology:" >> due_diligence_report.txt
# 3. Инфраструктура и масштаб
echo -e "\n[Инфраструктура]" >> due_diligence_report.txt
theHarvester -d $TARGET -b all | grep -c "host:" >> due_diligence_report.txt
# 4. Проблемы безопасности
echo -e "\n[Потенциальные риски]" >> due_diligence_report.txt
theHarvester -d $TARGET -b psbdmp,intelx | grep -i "leak\|breach\|password" >> due_diligence_report.txt
# 5. Генерация отчёта
theHarvester -d $TARGET -b all -f ${TARGET}_full_report.html
Автоматизация и интеграция с другими инструментами
Python-скрипт для непрерывного мониторинга
Python:
#!/usr/bin/env python3
"""
Continuous OSINT Monitoring with theHarvester
Автоматический мониторинг изменений в инфраструктуре
"""
import subprocess
import json
import schedule
import time
import hashlib
import os
from datetime import datetime
import smtplib
from email.mime.text import MIMEText
class OSINTMonitor:
def __init__(self, domains, email_config):
self.domains = domains
self.email_config = email_config
self.previous_results = {}
def run_harvester(self, domain):
"""Запуск theHarvester и получение результатов"""
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
output_file = f"/tmp/{domain}_{timestamp}.json"
cmd = f"theHarvester -d {domain} -b all -f {output_file}"
subprocess.run(cmd, shell=True, capture_output=True)
with open(output_file, 'r') as f:
return json.load(f)
def detect_changes(self, domain, current_data):
"""Обнаружение изменений в результатах"""
if domain not in self.previous_results:
self.previous_results[domain] = current_data
return None
changes = {
'new_emails': [],
'new_hosts': [],
'removed_hosts': []
}
# Сравнение email
old_emails = set(self.previous_results[domain].get('emails', []))
new_emails = set(current_data.get('emails', []))
changes['new_emails'] = list(new_emails - old_emails)
# Сравнение хостов
old_hosts = set(self.previous_results[domain].get('hosts', []))
new_hosts = set(current_data.get('hosts', []))
changes['new_hosts'] = list(new_hosts - old_hosts)
changes['removed_hosts'] = list(old_hosts - new_hosts)
self.previous_results[domain] = current_data
return changes if any(changes.values()) else None
def send_alert(self, domain, changes):
"""Отправка уведомления об изменениях"""
msg = MIMEText(f"""
Обнаружены изменения для домена {domain}:
Новые email адреса: {changes['new_emails']}
Новые хосты: {changes['new_hosts']}
Удалённые хосты: {changes['removed_hosts']}
Время проверки: {datetime.now()}
""")
msg['Subject'] = f'OSINT Alert: {domain}'
msg['From'] = self.email_config['from']
msg['To'] = self.email_config['to']
# Отправка email
with smtplib.SMTP(self.email_config['smtp_server'], 587) as server:
server.starttls()
server.login(self.email_config['username'], self.email_config['password'])
server.send_message(msg)
def monitor(self):
"""Основной цикл мониторинга"""
for domain in self.domains:
print(f"Checking {domain}...")
current_data = self.run_harvester(domain)
changes = self.detect_changes(domain, current_data)
if changes:
print(f"⚠️ Changes detected for {domain}!")
self.send_alert(domain, changes)
else:
print(f"✓ No changes for {domain}")
# Настройка мониторинга
email_config = {
'from': 'osint@company.com',
'to': 'security@company.com',
'smtp_server': 'smtp.gmail.com',
'username': 'your_email',
'password': 'your_password'
}
domains_to_monitor = [
'ourcompany.com',
'competitor1.com',
'competitor2.com'
]
# Создание и запуск монитора
monitor = OSINTMonitor(domains_to_monitor, email_config)
# Планирование ежедневных проверок
schedule.every().day.at("09:00").do(monitor.monitor)
print("OSINT Monitor started. Press Ctrl+C to stop.")
while True:
schedule.run_pending()
time.sleep(60)
Интеграция с Metasploit для автоматического пентеста
Ruby:
#!/usr/bin/env ruby
# theharvester_to_metasploit.rb
# Автоматический импорт результатов theHarvester в Metasploit
require 'json'
require 'msf/core'
class MetasploitHarvesterImporter
def initialize(workspace_name)
@workspace = workspace_name
@db = Msf::DbManager.new
end
def import_harvester_results(json_file)
data = JSON.parse(File.read(json_file))
# Импорт хостов
data['hosts'].each do |host|
@db.report_host(
host: host,
name: host,
state: 'alive',
info: 'Discovered by theHarvester'
)
end
# Импорт email как потенциальных пользователей
data['emails'].each do |email|
username = email.split('@')[0]
@db.report_cred(
host: data['domain'],
port: 25,
service_name: 'smtp',
user: username,
private_type: :nonreplayable_hash
)
end
puts "[+] Imported #{data['hosts'].length} hosts and #{data['emails'].length} emails"
end
def run_automated_scans
# Автоматическое сканирование импортированных хостов
@db.hosts.each do |host|
puts "[*] Scanning #{host.address}..."
# Запуск nmap через Metasploit
run_single("db_nmap -sV -p- #{host.address}")
# Поиск уязвимостей
run_single("vulners #{host.address}")
end
end
end
# Использование
importer = MetasploitHarvesterImporter.new('osint_workspace')
importer.import_harvester_results('theharvester_results.json')
importer.run_automated_scans
Bash-пайплайн для комплексной разведки
Bash:
#!/bin/bash
# osint_pipeline.sh - Полный цикл OSINT разведки
set -e
TARGET_DOMAIN=$1
OUTPUT_DIR="./osint_${TARGET_DOMAIN}_$(date +%Y%m%d)"
# Цвета для вывода
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
echo -e "${GREEN}[+] Starting OSINT pipeline for ${TARGET_DOMAIN}${NC}"
# Создание структуры директорий
mkdir -p ${OUTPUT_DIR}/{emails,subdomains,screenshots,reports}
# Фаза 1: Сбор данных через theHarvester
echo -e "${YELLOW}[*] Phase 1: Data collection with theHarvester${NC}"
theHarvester -d ${TARGET_DOMAIN} -b all -f ${OUTPUT_DIR}/reports/theharvester_full.html
# Извлечение email и субдоменов
theHarvester -d ${TARGET_DOMAIN} -b all | grep "@" | sort -u > ${OUTPUT_DIR}/emails/all_emails.txt
theHarvester -d ${TARGET_DOMAIN} -b all | grep "host:" | cut -d' ' -f2 | sort -u > ${OUTPUT_DIR}/subdomains/theharvester_subs.txt
# Фаза 2: Расширенный поиск субдоменов
echo -e "${YELLOW}[*] Phase 2: Extended subdomain enumeration${NC}"
# Использование дополнительных инструментов
subfinder -d ${TARGET_DOMAIN} -silent >> ${OUTPUT_DIR}/subdomains/all_subs.txt
assetfinder --subs-only ${TARGET_DOMAIN} >> ${OUTPUT_DIR}/subdomains/all_subs.txt
amass enum -passive -d ${TARGET_DOMAIN} >> ${OUTPUT_DIR}/subdomains/all_subs.txt
# Объединение и очистка результатов
cat ${OUTPUT_DIR}/subdomains/*.txt | sort -u > ${OUTPUT_DIR}/subdomains/combined_subs.txt
# Фаза 3: Проверка живых хостов
echo -e "${YELLOW}[*] Phase 3: Live host detection${NC}"
cat ${OUTPUT_DIR}/subdomains/combined_subs.txt | httpx -silent -o ${OUTPUT_DIR}/subdomains/live_hosts.txt
# Фаза 4: Скриншоты
echo -e "${YELLOW}[*] Phase 4: Taking screenshots${NC}"
gowitness file -f ${OUTPUT_DIR}/subdomains/live_hosts.txt -P ${OUTPUT_DIR}/screenshots/
# Фаза 5: Поиск уязвимостей
echo -e "${YELLOW}[*] Phase 5: Vulnerability scanning${NC}"
nuclei -l ${OUTPUT_DIR}/subdomains/live_hosts.txt -o ${OUTPUT_DIR}/reports/vulnerabilities.txt
# Фаза 6: Генерация итогового отчёта
echo -e "${YELLOW}[*] Phase 6: Generating final report${NC}"
cat > ${OUTPUT_DIR}/reports/executive_summary.md << EOF
# OSINT Report for ${TARGET_DOMAIN}
## Date: $(date)
### Statistics
- Total emails found: $(wc -l < ${OUTPUT_DIR}/emails/all_emails.txt)
- Total subdomains: $(wc -l < ${OUTPUT_DIR}/subdomains/combined_subs.txt)
- Live hosts: $(wc -l < ${OUTPUT_DIR}/subdomains/live_hosts.txt)
- Vulnerabilities: $(wc -l < ${OUTPUT_DIR}/reports/vulnerabilities.txt)
### Key Findings
$(head -10 ${OUTPUT_DIR}/reports/vulnerabilities.txt)
### Recommendations
1. Review exposed email addresses for phishing risk
2. Audit all discovered subdomains
3. Patch identified vulnerabilities immediately
Full technical details available in ${OUTPUT_DIR}/reports/
EOF
echo -e "${GREEN}[+] OSINT pipeline completed! Results in ${OUTPUT_DIR}${NC}"
Решение частых проблем
Таблица быстрых решений
| Проблема | Причина | Решение |
|---|---|---|
| "No results found" | API ключи не настроены | Проверьте ~/.theHarvester/api-keys.yaml |
| "Rate limit exceeded" | Слишком много запросов | Используйте -l 100 или прокси |
| "SSL Certificate verify failed" | Проблемы с сертификатами | export PYTHONHTTPSVERIFY=0 |
| "Module not found" | Отсутствуют зависимости | pip3 install -r requirements.txt --upgrade |
| Зависание при запросах | Блокировка по User-Agent | Используйте --user-agent флаг |
| Пустые результаты Shodan | Истёк API ключ | Проверьте актуальность ключа на shodan.io |
| "Permission denied" | Недостаточно прав | Запустите с sudo или установите в домашнюю директорию |
| Дубликаты в результатах | Несколько источников | Используйте sort -u для фильтрации |
| Неполные данные LinkedIn | Требуется аутентификация | Используйте cookies или альтернативные источники |
| Ошибка парсинга JSON | Некорректный вывод | Обновите theHarvester до последней версии |
Подробное решение сложных проблем
Проблема: Блокировка запросов поисковикамиСимптомы: После 10-20 запросов Google/Bing перестают выдавать результаты
Комплексное решение:
Bash:
# 1. Настройка ротации прокси
cat > proxy_config.yaml << EOF
http:
- http://proxy1.com:8080
- http://proxy2.com:8080
- http://proxy3.com:8080
https:
- https://proxy1.com:8443
- https://proxy2.com:8443
EOF
# 2. Использование с задержками
theHarvester -d target.com -b google --delay 5 --proxies proxy_config.yaml
# 3. Альтернатива через Tor
sudo apt install tor
sudo service tor start
proxychains4 theHarvester -d target.com -b all
# 4. Распределение нагрузки по времени
for source in google bing yahoo duckduckgo; do
theHarvester -d target.com -b $source -l 50
sleep 300 # 5 минут между источниками
done
Симптомы: Бесплатные API выдают только первые 10-25 результатов
Решение с комбинированием источников:
Python:
#!/usr/bin/env python3
# combine_sources.py - Объединение результатов из всех источников
import subprocess
import json
import os
import sys
from collections import defaultdict
def get_all_data(domain):
"""Сбор данных из всех доступных источников"""
all_results = defaultdict(set)
# Список всех источников
sources = [
'baidu', 'bing', 'bingapi', 'censys', 'crtsh', 'dnsdumpster',
'duckduckgo', 'github-code', 'google', 'hackertarget', 'hunter',
'intelx', 'linkedin', 'netcraft', 'otx', 'securitytrails',
'shodan', 'threatcrowd', 'threatminer', 'trello', 'twitter',
'urlscan', 'virustotal', 'yahoo'
]
for source in sources:
print(f"Collecting from {source}...")
try:
# Запуск theHarvester для каждого источника
cmd = f"theHarvester -d {domain} -b {source} -f /tmp/{source}.json"
subprocess.run(cmd, shell=True, timeout=60, capture_output=True)
# Чтение результатов
with open(f'/tmp/{source}.json', 'r') as f:
data = json.load(f)
all_results['emails'].update(data.get('emails', []))
all_results['hosts'].update(data.get('hosts', []))
all_results['ips'].update(data.get('ips', []))
except:
print(f"Failed to get data from {source}")
continue
# Конвертация sets в lists для JSON
final_results = {
'domain': domain,
'emails': list(all_results['emails']),
'hosts': list(all_results['hosts']),
'ips': list(all_results['ips']),
'total_sources': len(sources),
'statistics': {
'unique_emails': len(all_results['emails']),
'unique_hosts': len(all_results['hosts']),
'unique_ips': len(all_results['ips'])
}
}
return final_results
# Использование
results = get_all_data('example.com')
print(f"Found {results['statistics']['unique_emails']} unique emails")
print(f"Found {results['statistics']['unique_hosts']} unique hosts")
# Сохранение полных результатов
with open('combined_results.json', 'w') as f:
json.dump(results, f, indent=2)
Симптомы: Отсутствуют новые источники, ошибки с API
Установка последней версии из исходников:
Bash:
# Полное удаление старой версии
sudo apt remove --purge theharvester
sudo pip3 uninstall theharvester
rm -rf ~/.theHarvester
# Установка последней версии
cd /opt
sudo git clone https://github.com/laramies/theHarvester.git
cd theHarvester
sudo git checkout master
sudo git pull
# Установка зависимостей
sudo pip3 install -r requirements/base.txt
sudo pip3 install -r requirements/dev.txt
# Создание симлинка
sudo ln -sf $(pwd)/theHarvester.py /usr/local/bin/theHarvester
# Проверка версии
theHarvester -h | head -1
# Должно показать: theHarvester 4.5.0
Часто задаваемые вопросы
Законно ли использование theHarvester в России?
Ответ: Сам инструмент полностью легален, так как собирает только публично доступную информацию. Однако важно соблюдать правила:- Получите письменное разрешение перед тестированием чужих ресурсов
- Не используйте найденные данные для незаконных целей
- Соблюдайте 152-ФЗ "О персональных данных" при работе с email
- При корпоративном использовании согласуйте с юридическим отделом
Какие API ключи самые важные для начала?
Приоритет для новичков:- Shodan - критически важен для технической разведки (бесплатно 100 результатов)
- Hunter.io - лучший источник корпоративных email (бесплатно 25 поисков)
- SecurityTrails - исторические DNS данные (бесплатно 50 запросов)
Почему не находит email для российских доменов?
Решение: Российские компании редко публикуют email в открытых источниках. Используйте:
Bash:
# Специфичные для РФ источники
theHarvester -d company.ru -b yandex
# Поиск в соцсетях и форумах
theHarvester -d company.ru -b google -q "site:vk.com OR site:habr.com"
# Проверка утечек
theHarvester -d company.ru -b pwndb,intelx
Как ускорить работу theHarvester?
Оптимизация производительности:- Используйте конкретные источники вместо
-b all - Установите разумные лимиты:
-l 100 - Распараллельте запросы через GNU Parallel:
Bash:
echo -e "google\nbing\nshodan" | parallel -j 3 theHarvester -d target.com -b {}
Можно ли использовать theHarvester через VPN?
Ответ: Да, но с нюансами:- VPN работает для всех источников
- Некоторые API (Shodan, Censys) могут блокировать VPN
- Лучше использовать резидентные прокси для обхода блокировок
- Tor работает, но очень медленно
Как экспортировать результаты в Excel?
Конвертация в CSV для Excel:
Python:
import json
import csv
# Чтение JSON результатов
with open('theharvester_output.json', 'r') as f:
data = json.load(f)
# Экспорт emails в CSV
with open('emails.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['Email', 'Source', 'Date'])
for email in data['emails']:
writer.writerow([email, 'theHarvester', '2025-01-15'])
print("Exported to emails.csv - открывайте в Excel")
Что делать если забанили по IP?
План восстановления:- Подождите 24 часа (большинство банов временные)
- Используйте прокси или VPN
- Измените User-Agent
- Уменьшите частоту запросов
- Переключитесь на API вместо парсинга
Как мониторить изменения автоматически?
Настройка через cron:
Bash:
# Добавить в crontab -e
# Ежедневная проверка в 9:00
0 9 * * * /usr/local/bin/theHarvester -d mydomain.com -b all -f /var/log/osint/$(date +\%Y\%m\%d).html
# Еженедельный отчёт по понедельникам
0 10 * * 1 /home/user/scripts/weekly_osint_report.sh
Где найти хорошие wordlist для брутфорса?
Рекомендуемые источники:- SecLists - лучшая коллекция
- Специфичные для РФ: добавьте
admin, test, dev, old, backup, temp, mail, portal - Генерация на основе названия компании через CeWL
Как интегрировать с другими OSINT инструментами?
Пайплайн интеграции:
Bash:
# theHarvester → Amass → Nuclei
theHarvester -d target.com -b all | grep "host:" | cut -d' ' -f2 > domains.txt
amass enum -df domains.txt -o amass_results.txt
nuclei -l amass_results.txt -t cves/ -o vulnerabilities.txt
Усиление разведки: комбинация theHarvester + Google Dorks
theHarvester отлично собирает email и поддомены, но что если нужно найти конфиденциальные файлы, exposed конфигурации или утечки данных на самих целевых доменах? Здесь на помощь приходят Google Dorks — специальные поисковые запросы для точечного поиска уязвимостей.Практический workflow:
1. theHarvester → собираем все поддомены компании
2. Google Dorks → проверяем каждый поддомен на exposed файлы
3. Результат: Полная карта Attack Surface с конкретными точками входа
Пример цепочки:
Код:
# Шаг 1: theHarvester находит поддомен dev.target.com
$ theHarvester -d target.com -b google
# Шаг 2: Применяем Google Dork для поиска конфигов
Google: site:dev.target.com filetype:env intext:"DB_PASSWORD"
# Результат: Находим exposed .env файл с credentials
Эта комбинация особенно эффективна в Bug Bounty программах: theHarvester расширяет scope, Google Dorks находят конкретные уязвимости.
Хочешь освоить продвинутые техники Google Dorking для OSINT и Bug Bounty? Изучи полное руководство по Google Dorks с 50+ рабочими примерами — там разобраны реальные кейсы с выплатами до $25,000, специфика для российских CMS (Битрикс, gov.ru) и юридические нюансы 272 УК РФ.
Заключение и дальнейшее развитие
Поздравляю! Вы освоили theHarvester — один из важнейших инструментов в арсенале специалиста по кибербезопасности. Теперь вы умеете:Проводить пассивную разведку любых целей
Автоматизировать сбор данных через API
Интегрировать результаты с другими инструментами
Строить системы мониторинга инфраструктуры
Применять OSINT в реальных сценариях
Что дальше?
Уровень 1: Новичок → Уверенный пользователь- Настройте все бесплатные API ключи
- Отработайте 20 команд из мастер-класса
- Создайте свой первый автоматический скрипт
- Проведите разведку 5 разных доменов
- Изучите исходный код theHarvester на GitHub
- Напишите свой модуль для нового источника данных
- Постройте комплексный OSINT пайплайн
- Интегрируйте с системой тикетов компании
- Пройдите профессиональное обучение OSINT
- Освойте Maltego, SpiderFoot, Recon-ng
- Изучите OSINT Framework и методологии
- Получите сертификацию в области кибербезопасности
Полезные ресурсы
Документация и обновления:- Официальный GitHub theHarvester
-
Ссылка скрыта от гостей
- Awesome OSINT
- Форум Codeby.net
- Telegram-канал по OSINT
-
Ссылка скрыта от гостей
- Курс OSINT-Offensive от Codeby - комплексное обучение с менторством
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
Обратная связь
Остались вопросы? Нужна помощь с настройкой? Хотите поделиться интересными находками?- Пишите в комментариях под статьёй
- Email Академии Кодебай: school@codeby.email
- Telegram для быстрых вопросов: @CodebyManagerBot
Правовая информация
Данное руководство предназначено исключительно для образовательных целей и легального использования в рамках:- Тестирования собственных ресурсов
- Авторизованных пентестов
- Багбаунти программ с разрешением
- Корпоративной безопасности
Метаданные статьи:
- Автор: Команда Codeby Security Research
- Дата публикации: 02 ноября 2025
- Версия theHarvester: 4.5.0
- Последнее обновление: 02.11.2025
- Теги: #OSINT #theHarvester #КиберБезопасность #Разведка #PenTest #BugBounty #Автоматизация
Если хотите глубже разобраться в современных подходах к OSINT, автоматизации и AI-инструментах, а также выстроить собственный эффективный workflow для профессиональной разведки, рекомендую обратиться к центральному гайду "OSINT 2025: Полное руководство по инструментам, AI и автоматизации разведки". Там разобраны ключевые тренды, этические нюансы, сравнение профильных дистрибутивов, специфика сборки персонального стека инструментов и методики автоматизации расследований на практике — от базового уровня до эксперта.
Последнее редактирование модератором: