Тёмный стол аналитика с широким монитором, на котором светится граф связей Maltego вокруг центрального email-адреса. Рядом ноутбук с чатом Telegram, тёплый свет экрана падает на стикеры и остывший...


Первое задание по 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 сотрудника компании. Нужно построить карту организации - кто ещё работает, какие домены связаны, какие соцсети принадлежат этому человеку.

Пошагово:
  1. Создаёте новый граф в Maltego CE (Community Edition - бесплатная версия)
  2. Перетаскиваете сущность Email Address на рабочую область
  3. Правый клик → Run Transforms → выбираете категорию, например «To Person» или «To Domain»
  4. Maltego добавляет новые сущности и рисует связи
Через 3-4 итерации из одного email можно раскопать: ФИО владельца, другие адреса, связанные домены, профили в соцсетях, IP-адреса серверов. По MITRE ATT&CK - Search Open Websites/Domains (T1593, Reconnaissance) и Social Media (T1593.001).

Ошибка, которую совершают все: «Run All Transforms» на каждой сущности. Граф за минуты превращается в нечитаемую паутину из сотен узлов. Я на одном из первых расследований получил 400 узлов и потратил больше времени на расчистку графа, чем на сам анализ. Запускайте трансформы по одному, на тех сущностях, которые уже проверены. Ненужные трансформы отключайте через Manage → Transforms → Disable.

SpiderFoot vs Maltego: разбор OSINT инструментов по задачам​

КритерийSpiderFootMaltego
Тип задачиМассовый сбор по домену или 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».
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab