Первое задание по OSINT перед пентестом: собрать цифровой след компании за два дня. Открыл SpiderFoot, вбил домен, запустил полный скан - через 15 минут 2400 результатов. Email-адреса, субдомены, IP-диапазоны, упоминания в утечках. И полное непонимание, что из этого важно, а что - мусор. Потом открыл Maltego, перетащил на граф один email, нажал «Run All Transforms» - граф взорвался сотней узлов, стало ещё хуже.
Знакомо? Проблема не в инструментах. Проблема в том, что никто не объясняет, когда какой применять. Разберём три инструмента разведки на основе открытых источников на конкретных сценариях: запрос → инструмент → результат.
SpiderFoot на практике: автоматический сбор данных по домену
SpiderFoot - автоматизированная OSINT-платформа с 200+ модулями для сбора данных из открытых источников. По сути это пылесос: DNS-записи, WHOIS, утечки email, SSL-сертификаты, упоминания в пастах - всё параллельно, всё разом. В классификации MITRE ATT&CK это инструмент для техник Gather Victim Identity Information (T1589, Reconnaissance), Search Victim-Owned Websites (T1594) и DNS/Passive DNS (T1596.001).Типичный кейс: перед внешним пентестом нужно определить периметр цели - все домены, субдомены, email сотрудников, публичные IP-адреса.
Самый простой путь - веб-интерфейс. После установки (
[URL='https://github.com/smicallef/spiderfoot']git clone https://github.com/smicallef/spiderfoot.git[/URL] && pip3 install -r requirements.txt) и запуска python3 sf.py -l 127.0.0.1:5001 открываете http://127.0.0.1:5001, создаёте новый скан, указываете целевой домен и выбираете тип сканирования.Ошибка, на которой я сам потерял пару часов: запуск режима «All» по домену без настройки API-ключей. SpiderFoot начинает стучать во все 200+ источников одновременно, большинство возвращают ошибки (нет ключа), а часть запросов палит вашу разведку - целевые сервисы видят шквал обращений с одного IP. Сделайте иначе: выберите режим «Passive» и добавьте API-ключи хотя бы для Shodan, HaveIBeenPwned и VirusTotal. Настройка - через Settings → API Keys в веб-интерфейсе. Прокси - Settings → Global → HTTP Proxy.
На выходе - таблица сущностей: email-адреса сотрудников (T1589.002), субдомены, IP-адреса (T1590.005), DNS-записи, упоминания в базах утечек. Каждая сущность кликабельна и показывает источник. SpiderFoot покажет, попали ли email вашей цели в слитые базы.
Предусловия и ограничения
SpiderFoot хорош, когда у цели есть публичная инфраструктура: домен, почтовый сервер, веб-сайт. Для физлиц без привязки к домену результаты будут скудные. Режим «All» без ключей - гарантированный способ получить шум вместо данных и засветить разведку. Не делайте так.Maltego: примеры использования для визуализации связей
Если SpiderFoot - пылесос для данных, то Maltego - доска расследования, где все находки связаны линиями. Maltego работает с «сущностями» (entities): домен, email, IP, человек, компания. Кладёте на граф начальную сущность и запускаете «трансформы» - автоматические запросы к источникам. Результат - визуальная карта связей между объектами. Начинаешь с email - через час знаешь, где человек работает, какие у компании домены и кто ещё из сотрудников светится.По данным с официального сайта Maltego, платформа интегрирована с 120+ источниками данных.
Типичный кейс: есть один email сотрудника компании. Нужно построить карту организации - кто ещё работает, какие домены связаны, какие соцсети принадлежат этому человеку.
Пошагово:
- Создаёте новый граф в Maltego CE (Community Edition - бесплатная версия)
- Перетаскиваете сущность Email Address на рабочую область
- Правый клик → Run Transforms → выбираете категорию, например «To Person» или «To Domain»
- Maltego добавляет новые сущности и рисует связи
Ошибка, которую совершают все: «Run All Transforms» на каждой сущности. Граф за минуты превращается в нечитаемую паутину из сотен узлов. Я на одном из первых расследований получил 400 узлов и потратил больше времени на расчистку графа, чем на сам анализ. Запускайте трансформы по одному, на тех сущностях, которые уже проверены. Ненужные трансформы отключайте через Manage → Transforms → Disable.
SpiderFoot vs Maltego: разбор OSINT инструментов по задачам
| Критерий | SpiderFoot | Maltego |
|---|---|---|
| Тип задачи | Массовый сбор по домену или IP | Визуализация связей между сущностями |
| Интерфейс | Веб-интерфейс, таблицы | Графический редактор с графами |
| Стоимость | Полностью бесплатен | CE бесплатна, полная версия платная |
| Лучший сценарий | Первичная разведка периметра | Расследование: email → человек → компания |
| Ограничение | Нет визуализации связей | Ручная работа, медленнее на больших объёмах |
| Когда НЕ использовать | Нужна карта связей между людьми | Нужен быстрый скан 500 субдоменов |
На практике эти инструменты дополняют друг друга: SpiderFoot собирает сырые данные, Maltego визуализирует связи между ними. Начинайте со SpiderFoot, переносите ключевые находки в Maltego. Не наоборот - иначе будете строить граф из воздуха.
Telegram OSINT разведка: поиск упоминаний и утечек
Telegram - отдельная вселенная для цифровой разведки. Публичные каналы, чаты, боты - источники, которые не индексируются обычными поисковыми системами (T1593.001, Reconnaissance). Три подхода: ручной поиск, сервисы мониторинга и скрипты на Telethon.Ручной поиск - начинайте с него. TGStat (tgstat.ru) - агрегатор Telegram-каналов. Вводите название компании или ключевое слово, получаете список каналов и постов с упоминаниями. Бесплатно, без технических навыков, без рисков для аккаунта. Для первого захода - за глаза хватит.
Автоматизация через Telethon - когда ручного поиска мало. Telethon - Python-библиотека для работы с Telegram API. Для начала получите API credentials на my.telegram.org.
Python:
from telethon import TelegramClient
api_id = 12345 # ваш api_id с my.telegram.org
api_hash = 'your_hash' # ваш api_hash
client = TelegramClient('osint_session', api_id, api_hash)
async def search_channel(channel, keyword):
await client.connect()
async for msg in client.iter_messages(channel, search=keyword):
print(f"{msg.date}: {msg.text[:100]}")
await client.disconnect()
Ошибка, которая стоит аккаунта: спам-запросы к Telegram API. Telegram агрессивно банит за массовые запросы.
TelegramClient использует параметр flood_sleep_threshold (по умолчанию 60 секунд) - при флуд-предупреждении клиент автоматически подождёт. И главное - никогда не используйте для OSINT свой основной аккаунт. Заведите отдельный. Серьёзно, не поленитесь.Предусловия и ограничения
Telethon работает только с публичными каналами и группами. Закрытые чаты требуют членства. Юридическая сторона: сбор персональных данных без согласия субъекта - нарушение ст. 137 УК РФ (до 4 лет лишения свободы) и ст. 13.11 КоАП РФ (штрафы до 500 тыс. рублей за обработку ПДн без законных оснований, до 18 млн рублей за повторное нарушение по ред. от 30.05.2025). За утечки - до 15 млн рублей за первичное и до 500 млн рублей за повторное нарушение (ст. 13.11 КоАП РФ). Это не абстрактная страшилка - штрафы реальные.Боевое применение OSINT: рабочий workflow от домена до отчёта
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Наблюдение из практики: большая часть времени OSINT-аналитика уходит не на нажатие кнопок, а на интерпретацию. SpiderFoot выдаст 2000 записей - задача отсеять 1950 нерелевантных. Maltego нарисует граф из 200 сущностей - задача найти три ключевые связи. Новички часто тратят недели на сравнение инструментов, читают обзоры, ставят пять утилит одновременно - и ни одну не осваивают до уровня, когда результат приносит пользу.
Эффективнее взять один инструмент, прогнать через него десять доменов и научиться отличать сигнал от шума. SpiderFoot для этого подходит лучше всего: бесплатный, с веб-интерфейсом, результат за минуты. Maltego и Telegram-разведку подключать уже потом, когда понятно, какие данные нужно связывать и где их искать.
Попробуйте прогнать через SpiderFoot свой рабочий домен (или домен любого публичного сервиса) в режиме Passive - и посмотрите, сколько о вас уже знает интернет. Результат может неприятно удивить. На IB Basics эту цепочку разбирают как одно из первых направлений - берут с любого старта, без «вы должны знать Linux на уровне X».