
На одном из недавних CTF-турниров задание в категории OSINT начиналось с единственного ника — d4rkph0enix. Ни email, ни фотографии, ни подсказок. Через 47 минут из этого ника выстроилась цепочка: GitHub-аккаунт с email в коммитах, три соцсети, Flickr-профиль с GPS-координатами в EXIF — а в координатах зашифрован флаг. Задание закрыли 12 команд из 80. Остальные застряли на первом шаге, потому что не знали, в каком порядке запускать инструменты и как переходить от одного найденного артефакта к следующему.
Вот об этом и поговорим — конкретные команды, алгоритм мышления и пошаговый разбор задачи от голого никнейма до флага. Разведка по открытым источникам в формате CTF, без воды.
OSINT-задания на CTF проверяют не умение взламывать, а способность находить связи между разрозненными фрагментами публичной информации. В работе пентестера этот навык съедает добрую половину времени на этапе рекогносцировки. В терминах MITRE ATT&CK это фаза Reconnaissance — техники Search Open Websites/Domains (T1593), Gather Victim Identity Information (T1589) и Search Open Technical Databases (T1596). Каждая CTF-задача по OSINT моделирует одну из этих техник в безопасной песочнице. Подробнее — в нашем руководстве по osint для специалиста по информационной безопасности.
Масштаб доступных данных — голова кругом. Предположительно собранный (scraped) датасет Instagram, всплывший на хакерском форуме в 2024 году, содержал миллионы записей с никнеймами, email и геолокацией. Утечка Internet Archive (сентябрь 2024) — около 31 миллиона аккаунтов. По IBM X-Force Threat Intelligence Index 2025, на теневых площадках ежедневно появляется свыше 6000 свежих скомпрометированных учёток. Каждая такая точка — потенциальная зацепка в CTF-задании или реальном расследовании.
OSINT-задачи на CTF делятся на три категории:
Каждая категория требует своего набора инструментов OSINT и определённого алгоритма, но все три объединяет одна OSINT-методология — последовательный pivoting от одного артефакта к следующему. Начинаешь с email — через час знаешь, где человек обедает.
Прежде чем запускать Sherlock или holehe, нужно выстроить процесс. CTF-задание ограничено по времени, а хаотичный перебор инструментов съедает минуты впустую. Разница между решённым заданием и потраченным временем — в системном подходе.
Записываем всё, что дано в условии задачи: никнейм, email, фрагмент текста, изображение — любой артефакт. Фиксируем в текстовый файл с временными метками. На CTF это кажется избыточным, но когда через 40 минут нужно вернуться к промежуточному результату — заметки экономят критические минуты.
Полезная привычка — создать шаблон заметки перед началом турнира:
Target: d4rkph0enix
Type: username
Given data: только ник
Found:
[14:02] GitHub: github.com/d4rkph0enix → email в коммитах
[14:07] Reddit: u/d4rkph0enix → bio содержит ссылку на блог
[14:15] holehe: email найден на Spotify, Instagram, Imgur
На этапе фиксации определяется, какие инструменты запускать первыми и в каком порядке обрабатывать результаты. Не формальность — рабочий инструмент.
Запускаем автоматические инструменты параллельно. Пока Sherlock обходит сотни сайтов — руками проверяем Google Dorks. Пока holehe сканирует email — смотрим Have I Been Pwned.
Ключевое правило: каждый найденный артефакт — новая точка входа. Нашли email через GitHub — проверяем его через holehe — находим регистрацию на Spotify — в профиле Spotify указан город — город ведёт к локальному форуму. Это и есть pivoting — техника последовательного расширения разведки, основа любого OSINT-расследования.
В терминах MITRE ATT&CK это переход между подтехниками: от Search Engines (T1593.002) к Social Media (T1593.001) и далее к Email Addresses (T1589.002). Понимание этих связей помогает не только на CTF, но и при описании результатов в отчёте.
Собранные данные нужно верифицировать. В CTF часто расставлены ловушки: фейковые аккаунты с похожими никами, подставные email. Проверяем консистентность: совпадают ли аватарки, стилистика постов, временные зоны активности. Если никнейм на GitHub создан в 2019 году, а аккаунт с тем же ником на Reddit — в 2024-м с совершенно другой тематикой, скорее всего это другой человек.
Чек-лист валидации (я его держу открытым в соседней вкладке): - Аватарки на разных платформах совпадают или стилистически похожи - Даты регистрации аккаунтов укладываются в логичную хронологию - Тематика постов и интересы пересекаются - Часовой пояс активности одинаков на разных платформах - Если найден email — проверить привязку к найденным аккаунтам через holehe
Поиск по никнейму — самый распространённый тип OSINT-заданий на CTF. Задача: по одному никнейму найти максимум связанных аккаунтов и извлечь из них дополнительные идентификаторы. В MITRE ATT&CK это техника Social Media (T1593.001, Reconnaissance).
Sherlock — консольная утилита на Python, проверяет наличие аккаунта с заданным никнеймом на 400+ платформах. Установка через pip install sherlock-project или клонирование репозитория с GitHub. В Kali доступен из коробки.
Базовый запуск: sherlock d4rkph0enix. Утилита последовательно опрашивает каждый сайт и выдаёт список найденных профилей с прямыми URL. Для CTF полезны дополнительные флаги: --timeout 10 (ускоряет сканирование), --print-found (только положительные результаты), --output results.txt (сохранение в файл).
sherlock d4rkph0enix --timeout 10 --print-found --output results.txt
Типичный вывод на CTF: 5–15 найденных аккаунтов из 400+. Но вот нюанс — приличная часть совпадений окажется ложноположительными. Некоторые сайты отвечают кодом 200 даже для несуществующих профилей. Каждый результат Sherlock нужно проверять руками: открыть URL, убедиться, что профиль реальный и содержит активность, зафиксировать полезные данные.
Частая ошибка новичков — слепо доверять выводу Sherlock. Инструмент не различает пустой профиль и активный аккаунт. На реальном CTF можно потерять 20 минут, исследуя фейковый аккаунт на Pinterest, который оказался автоматически сгенерированной заглушкой. Потренировавшись «на кошках», начинаешь отсеивать мусор за секунды.
Maigret — форк Sherlock с расширенной базой сайтов (2500+) и встроенной аналитикой. Отличие: Maigret извлекает метаданные из найденных профилей — дату регистрации, количество постов, связанные аккаунты — и формирует структурированный отчёт.
Запуск: maigret d4rkph0enix. Для CTF удобен HTML-отчёт: maigret d4rkph0enix --html. Maigret генерирует интерактивную страницу с графом связей между найденными аккаунтами, что заметно ускоряет анализ на этапе валидации.
На практике Maigret чаще полезен для поиска аккаунтов на нишевых платформах, которых нет в базе Sherlock: региональные соцсети, форумы разработчиков, специализированные коммьюнити. Авторы CTF-заданий знают, что участники запускают Sherlock и останавливаются на очевидных результатах, поэтому нередко прячут флаг именно на платформе, которую Sherlock не покрывает, а Maigret — покрывает. Такие дела.
Автоматические инструменты покрывают далеко не все платформы. Для CTF нужно владеть ручным поиском:
Google Dorks по нику. Запрос "d4rkph0enix" -site:github.com -site:twitter.com исключает уже найденные платформы и показывает неочевидные упоминания: комментарии на блогах, посты на форумах, фрагменты в пастебинах.
Проверка Git-коммитов. Если найден GitHub-аккаунт, email автора часто виден в истории коммитов. В клонированном репозитории команда git log --format='%ae' | sort -u выводит все уникальные email-адреса. Авторы CTF-заданий часто «забывают» скрыть email в старых коммитах — один из самых надёжных способов перейти от ника к email.
Telegram, Discord, Keybase. Эти платформы слабо индексируются поисковиками и часто отсутствуют в базах Sherlock и Maigret. Ручная проверка через поиск внутри платформы занимает 30 секунд, но иногда даёт ключевой артефакт, которого нет больше нигде.
Wayback Machine. Удалённые профили, снятые посты, старые версии страниц — web.archive.org хранит снэпшоты. Если аккаунт найден, но очищен — Wayback Machine может показать его состояние годичной давности. Иногда это единственный путь к флагу.
Когда email известен — из условия задачи или найден через анализ ника — начинается второй этап разведки. Цель: определить, на каких сервисах зарегистрирован этот email, есть ли он в базах утечек данных и какие дополнительные артефакты из него можно вытянуть.
holehe — консольный инструмент, который проверяет, зарегистрирован ли email на десятках популярных сервисов. Принцип работы: holehe отправляет запрос через механизм восстановления пароля и по ответу определяет, существует ли аккаунт. Часть модулей (в частности для Twitter/X и Instagram) может не работать из-за изменений API на стороне сервисов — перед CTF стоит проверить актуальность. Среди проверяемых платформ — Spotify, Adobe, Imgur, Pinterest и десятки других.
Запуск: holehe target@example.com. Результат — список сервисов с пометками: зарегистрирован, не зарегистрирован, rate limited. На CTF holehe даёт быстрый обзор цифрового следа и определяет направление дальнейшего поиска.
Нюанс для тех, кто планирует перейти от CTF к реальной работе: holehe отправляет настоящие запросы на восстановление пароля. На некоторых сервисах владелец email получит уведомление. В CTF это не проблема — задание создано для поиска. Но в реальных расследованиях этот момент критичен для OPSEC.
Have I Been Pwned (HIBP) — первая остановка для проверки email на присутствие в публичных утечках. Сервис агрегирует данные из сотен инцидентов и показывает, в каких именно утечках фигурирует адрес, включая типы скомпрометированных данных: пароли, имена, телефоны, адреса.
На CTF утечки используются двояко. Первый сценарий: авторы задания создают фейковую утечку и размещают её на paste-сайте. Находится через Google Dorks: "target@example.com" site:pastebin.com. Второй сценарий: задание ссылается на реальную утечку как контекст, и нужно найти в публичных данных дополнительные идентификаторы, связанные с тем же email.
Для глубокого поиска по утечкам — Intelligence X. Сервис ищет по email, домену, IP, Bitcoin-адресу в архивах утечек, paste-сайтов и даркнета. Бесплатная версия ограничена количеством запросов, но для CTF обычно хватает за глаза.
theHarvester работает в обратном направлении: вместо проверки конкретного email он собирает все email-адреса, имена и поддомены, связанные с заданным доменом. В CTF он полезен, когда задание связано с организацией и нужно найти конкретного сотрудника.
Типичный CTF-сценарий: дан домен компании, требуется найти email администратора. Запуск theharvester -d target-company.com -b google,bing -l 200 соберёт все упоминания email с этого домена в поисковиках. Классическая реализация техники Gather Victim Identity Information — Email Addresses (T1589.002, Reconnaissance) по MITRE ATT&CK.
Google Dorks — расширенные поисковые операторы, превращающие Google в инструмент разведки. По MITRE ATT&CK это техника Search Engines (T1593.002, Reconnaissance). Для CTF наиболее полезны:
"username" filetype:pdf — поиск документов с упоминанием никаsite:github.com "target@email.com" — поиск email в публичном кодеinurl:"/users/" "username" — поиск профилей на форумах и CMS"username" site:pastebin.com OR site:ghostbin.com — пасты с никнеймомintitle:"index of" "username" — открытые директорииКомбинирование операторов сужает результаты: "d4rkph0enix" -github -twitter filetype:txt найдёт текстовые файлы с упоминанием ника за пределами уже проверенных платформ.
Авторы CTF-заданий часто прячут подсказки в местах, которые индексирует Google, но не проверяют стандартные инструменты: комментарии к коммитам в GitLab, файлы robots.txt, страницы «About» на забытых поддоменах, .env файлы в публичных репозиториях. Google Dorks — зачастую единственный способ раскопать такие артефакты без ручного перебора.
EXIF-данные фотографий — источник информации, который новички систематически игнорируют. Камера записывает в файл модель устройства, дату и время съёмки, параметры экспозиции и — если не отключено — GPS-координаты. В CTF-задачах изображения нередко содержат координаты флага прямо в метаданных.
ExifTool — стандартный инструмент для извлечения метаданных. Команда exiftool image.jpg выводит все доступные поля. Для быстрого извлечения GPS:
exiftool -GPSLatitude -GPSLongitude -DateTimeOriginal photo.jpg
Координаты из вывода вставляются напрямую в Google Maps. На CTF авторы заданий часто вкладывают подсказку именно в координаты — либо они указывают на конкретное здание, либо сами координаты в определённом формате содержат закодированный флаг.
Обратный поиск изображений — вторая критичная техника. Если в задании дана аватарка или фотография, Яндекс Картинки нередко дают результаты лучше, чем Google Images, особенно для изображений людей и мест из СНГ-региона. TinEye полезен для поиска точных совпадений: показывает, где конкретное изображение публиковалось ранее и в каком разрешении.
Алгоритм работы с изображением на CTF: скачать файл → прогнать через ExifTool (метаданные) → загрузить в Яндекс Картинки и TinEye (обратный поиск) → проверить через Google Lens (распознавание текста и объектов). Каждый инструмент может дать уникальную зацепку: ExifTool — координаты, Яндекс — исходную публикацию, Google Lens — текст на вывеске в кадре.
Соцсети (Instagram, Facebook, Twitter) стрипают EXIF-метаданные при загрузке изображений. Если аватарка найдена в соцсети — метаданных в ней не будет. Но если обратный поиск приведёт к тому же изображению на Flickr, в блоге или на форуме — там EXIF может сохраниться полностью. Вот тут-то и начинается самое интересное.
Разберём типичную OSINT-задачу пошагово — «дано — что делаем — что нашли». Задание демонстрационное, но техники и инструменты реальные.
Дано: никнейм cyber_owl_42. Найдите флаг формата FLAG{...}.
Шаг 1: автоматический поиск по нику. Запускаем sherlock cyber_owl_42 --print-found. Результат: найдены профили на GitHub, Reddit, Steam, Keybase. Проверяем каждый руками.
GitHub: профиль содержит один репозиторий — форк dotfiles-конфига. README пустой. Клонируем и проверяем историю коммитов: git log --all --format='%H %ae %s'. В одном из коммитов — email owl42real@proton.me и сообщение «fixed typo in config». Фиксируем.
Reddit: профиль активен в сабреддитах по CTF и Linux. В комментарии пишет: «мой блог на owl42.blog, там writeup по прошлому CTF». Фиксируем домен.
Шаг 2: разведка по найденному email. Запускаем holehe owl42real@proton.me (помним, что holehe отправляет реальные запросы на восстановление пароля — владелец email может получить уведомления; в реальных расследованиях это активное, а не пассивное действие). Результат: email зарегистрирован на Spotify, Imgur, Adobe, Discord. Instagram проверяем руками (модуль holehe может быть неактуален) — профиль закрыт, но в bio: «Photographer | CTF player | 42». Аватарка — фото совы на фоне городской улицы.
Проверяем email через HIBP — утечек нет. Google Dorks: "owl42real@proton.me" — находим упоминание на paste-сайте. Паста удалена, но кэшированная версия через Google Cache содержит фрагмент конфигурации с паролем тестового сервера. Отмечаем, но это не флаг.
Шаг 3: обратный поиск изображений. Сохраняем аватарку из Instagram. ExifTool — метаданных нет (Instagram стрипает EXIF при загрузке). Загружаем в Яндекс Картинки — находим ту же фотографию на Flickr-аккаунте owl42photo. Flickr EXIF не удаляет.
Скачиваем оригинал с Flickr, запускаем exiftool -gps* flickr_photo.jpg — получаем GPS-координаты конкретного парка. В описании фотографии на Flickr: «My favorite spot. Can you find what I left here?»
Шаг 4: анализ блога и финальная сборка. Открываем owl42.blog. Блог содержит writeup'ы и раздел «About». Смотрим HTML-исходник страницы «About» (Ctrl+U) — находим комментарий: <!-- FLAG{0s1nt_m4st3r_2024} -->.
Весь процесс занял около 35 минут. Цепочка: ник → Sherlock → GitHub (email) → Reddit (домен блога) → Instagram (фото) → Flickr (EXIF) → блог (флаг в HTML-комментарии).
Шесть пивотов. Каждый артефакт открывал новое направление поиска. Ни один инструмент в одиночку задачу не решал.
Чтобы не тратить время на выбор инструментов прямо на турнире — сводная таблица, которая закрывает подавляющее большинство OSINT-задач:
| Задача | Инструмент | Что даёт |
|---|---|---|
| Поиск по нику | Sherlock | Проверка 400+ платформ, быстрый старт |
| Расширенный поиск по нику | Maigret | 2500+ платформ, HTML-отчёт с графом |
| Email на сервисах | holehe | Десятки сервисов (часть модулей может быть неактуальна) |
| Утечки по email | Have I Been Pwned | Бесплатная проверка публичных утечек |
| Email по домену | theHarvester | Сбор email, поддоменов, имён |
| Расширенный поиск | Google Dorks | Поиск по кэшу, типам файлов, сайтам |
| Метаданные фото | ExifTool | GPS, камера, дата, комментарии |
| Обратный поиск фото | Яндекс Картинки, TinEye | Оригинал и копии изображения |
| Архивные страницы | Wayback Machine | Удалённый контент, старые версии |
Все инструменты бесплатны. Kali содержит большинство из коробки. Для других ОС — установка через pip или скачивание с GitHub.
За десятки CTF-турниров сформировался устойчивый список типичных провалов в OSINT-категории. Я их наблюдал (и совершал) достаточно, чтобы составить антирейтинг:
Туннельное зрение. Участник находит один аккаунт и закапывается только в него, игнорируя остальные результаты. Правило: сначала собрать все точки входа, потом последовательно копать каждую.
Игнорирование исходного кода страниц. HTML-комментарии, скрытые мета-теги, данные в JavaScript — авторы заданий систематически прячут подсказки в коде. Ctrl+U на каждом найденном сайте — рефлекс, который нужно выработать. Без вариантов.
Отказ от ручного поиска. Если Sherlock и Maigret ничего существенного не дали — это не тупик. Это сигнал переключиться на ручные техники: Telegram, Discord, Wayback Machine, Google Dorks с исключениями уже проверенных платформ.
Отсутствие заметок. Через 30 минут поиска в голове каша из десятков URL и промежуточных находок. Без документирования приходится перепроверять уже проверенное. Текстовый файл с таймстампами — минимум, который экономит время.
Пренебрежение Wayback Machine. Удалённые страницы, старые версии профилей, снятые посты — web.archive.org хранит снэпшоты миллиардов страниц. На CTF задания с удалённым контентом встречаются регулярно.
Поверхностная проверка Git-истории. Многие смотрят только последний коммит. Старые коммиты могут содержать email, реальные имена, ключи API и другие артефакты, которые автор позже попытался удалить. git log --all — ваш друг.
Инструмент OSINT — не волшебная палочка, а линза для фокусировки. Результат определяется не количеством запущенных скриптов, а качеством аналитической работы между запусками. Один точный Google Dork иногда ценнее полного прогона Maigret по всей базе из 2500 сайтов.
За последний год CTF-организаторы заметно усложнили OSINT-задачи: простые поиски по нику уходят в прошлое, а в моде — многоступенчатые цепочки с pivoting через 4–5 платформ и верификацией данных из разных источников. Это отражение реальности: по CrowdStrike Global Threat Report 2025, 75% вторжений в 2024 году использовали действительные учётные данные. Их сбор — чистый OSINT. Атакующие не ломают периметр «в лоб» — они собирают информацию о людях, находят пароли в утечках, строят фишинговые письма на основе цифрового следа конкретного сотрудника. По IBM X-Force, рост атак с использованием скомпрометированных учёток составил 71% за год. Техники из этой статьи — те же, что применяются при реальных атаках и при защите от них. Разница между CTF-игроком и пентестером — не в знании инструментов, а в объёме накатанной практики и умении выстраивать цепочку от первого артефакта до результата. Если хочешь не просто решать отдельные задачи, а пройти всю цепочку от рекона до эксплуатации — на WAPT разбирают именно это, с лабой на каждый этап.
🚀 Хочешь закрепить на практике? Реши задачи по теме на HackerLab — категория «pentest-machines».
0 комментариев
Пожалуйста, войдите, чтобы оставить комментарий.
Загрузка комментариев...