
За три CTF-сезона наблюдаю одну и ту же картину: команда из четырёх человек тратит 30–40 минут на OSINT-таск за 50 очков. Дан ник — нужно найти флаг. Трое гуглят вручную, один запускает Maigret. Через полторы минуты инструмент выдаёт десяток совпадений по платформам. Ещё минута — email в био одного из профилей. Пробивают через Have I Been Pwned, находят утечку, декодируют строку из метаданных — флаг. Три минуты против сорока.
Разница между «искать» и «искать системно» — это и есть ядро OSINT для начинающих. Не инструменты решают, а алгоритм в голове. Ниже — пошаговый workflow для трёх базовых векторов CTF OSINT: ник, email, фото.
В реальном OSINT-расследовании данные разрозненные, часть источников недоступна, результат непредсказуем. В CTF всё иначе: авторы таска намеренно выстраивают цепочку хлебных крошек от стартовой зацепки до флага. Задача участника — обнаружить эту цепочку и пройти её до конца, не свернув в тупик. Подробнее — в нашем подробном разборе osint для специалиста по информационной безопасности.
Типичный CTF OSINT-таск выглядит так: дают один артефакт — ник, email-адрес, изображение или URL — и просят найти конкретный ответ. Промежуточные шаги никто не подсказывает. Именно тут начинающие проваливаются: вместо системного перебора векторов уходят в хаотичный поиск, проверяют случайные гипотезы и сжигают время.
Ещё одно отличие: в CTF данные синтетические или намеренно сделаны публичными. В реальности сбор информации о физлицах регулируется ФЗ-152 «О персональных данных» — ст. 5 обязывает ограничивать обработку ПДн конкретными целями, а ст. 7 запрещает раскрытие без согласия субъекта. На CTF эти ограничения не действуют, но привычка понимать границы формируется именно на учебных тасках. Потренировавшись «на кошках», потом не наступишь на грабли в бою.
Каждая техника из CTF OSINT имеет прямой аналог в матрице MITRE ATT&CK. Те же методы применяют атакующие на этапе разведки перед реальными вторжениями:
Это даёт два бонуса. Во-первых, системный чек-лист: получил артефакт — прошёлся по списку техник, проверил, какие применимы. Во-вторых, после CTF те же навыки напрямую переносятся в работу пентестера на фазе разведки. Один к одному.
Ник — самый частый стартовый артефакт в CTF OSINT-тасках. По одному username нужно определить, на каких платформах зарегистрирован пользователь, и вытянуть из профилей дополнительные данные — email, фото, местоположение, связанные аккаунты.
Sherlock — первое, о чём узнаёт каждый начинающий. Проверяет наличие username на 300+ сайтах. Быстрый, но с высоким процентом false positive: если сайт возвращает HTTP 200 на любой запрос (включая несуществующие профили), Sherlock засчитывает совпадение. На практике из 20 «найденных» профилей реальных может быть 5–7. Остальное — мусор.
Maigret — форк Sherlock с расширенной базой (свыше 2500 сайтов) и улучшенной логикой проверки. Главное отличие: Maigret умеет парсить найденные профили и вытягивать из них email из био, ссылки на другие аккаунты, имя. Для CTF это предпочтительный вариант — один запуск даёт и список платформ, и данные для следующего шага.
WhatsMyName — веб-проект с постоянно обновляемой базой. Можно использовать через браузер (whatsmyname.app) или интегрировать JSON-базу в скрипты. Полезен как дополнение к Maigret: покрывает ряд региональных и нишевых платформ, которых нет в основной базе.
| Инструмент | Количество сайтов | False positive | Парсинг профилей | Установка |
|---|---|---|---|---|
| Sherlock | 300+ | Высокий | Нет | pip install sherlock |
| Maigret | 2500+ | Средний | Да | pip install maigret |
| WhatsMyName | 500+ | Низкий | Нет | Веб-интерфейс / JSON |
Workflow для CTF: запускаем Maigret с парсингом, фильтруем результаты, сомнительные совпадения проверяем руками.
maigret d4rkfox_92 --timeout 10 --tags username --parse
Команда запускает поиск по нику d4rkfox_92, ограничивает таймаут 10 секундами (отсекает медленные сайты — на CTF время дороже полноты) и включает парсинг найденных профилей. На выходе — список URL с подтверждёнными совпадениями и извлечённые поля.
Получили список совпадений. Дальше — по шагам.
Отсеять false positive. Открываем каждый URL и проверяем: профиль реально принадлежит целевому пользователю или это однофамилец? В CTF авторы обычно используют уникальные ники вроде d4rkfox_92, но ловушки с похожими никами на разных платформах — классический приём для усложнения таска.
Проверить bio, about-секции, описания. Тут авторы прячут следующую зацепку: email, ссылку на другой профиль, зашифрованную строку. По данным CTF-воркшопа Maltego, в одном из тасков Account Attribution требовалось найти профиль на Bluesky по email, а в био лежала строка synt{L0h_t0g_z3} — ROT13-кодировка, которая декодировалась в flag{Y0u_g0t_m3}. Без проверки био этот флаг просто не найти.
Построить граф связей. Нашли совпадения на нескольких платформах — проверяем, ссылаются ли профили друг на друга. Одинаковый аватар, совпадающий email или пересечение подписок подтверждают: перед нами один человек. Несовпадение хотя бы трёх из четырёх признаков (аватар, email, дата регистрации, стиль постов) — сигнал ложного совпадения.
Зафиксировать результат. Даже на CTF записываем каждый шаг: URL, что нашли, что проверили. Один текстовый файл с таймстемпами экономит 10–15 минут, когда через час возвращаешься к тому же таску с новой зацепкой. Проверено на собственных потерянных часах.
Email — второй по частоте стартовый артефакт в CTF OSINT-тасках. Иногда его дают напрямую, иногда находим на предыдущем шаге: в био профиля, в коммитах на GitHub, в метаданных документа.
Have I Been Pwned (HIBP) — первый и обязательный шаг при работе с email. Сервис показывает, в каких утечках фигурирует адрес. Масштаб того, с чем можно столкнуться, впечатляет: утечка LinkedIn 2012 года — 164 миллиона учётных записей (email + пароли). Утечка START в 2021 году — 7,4 миллиона записей с email, именами, паролями и геолокациями. Yandex Dump 2014 — 1,18 миллиона комбинаций email + пароль.
В CTF авторы используют утечки как звено цепочки: email из профиля → HIBP показывает утечку → в утечке содержатся дополнительные данные (пароль, который сам может быть флагом, или подсказка к следующему шагу). По данным IBM X-Force Threat Intelligence Index 2025, ежедневно в dark web появляется более 6000 свежих учётных данных — вот почему email-разведка остаётся одним из самых результативных OSINT-векторов и в CTF, и в реальной работе.
Утечки вроде Adapt (9,3 млн записей — email, имена, должности, телефоны) или Appen (5,8 млн записей — email, IP-адреса, пароли) показывают: даже единичный email может раскрыть целый кластер информации о человеке. Место работы, должность, IP-адрес, из которого можно вытянуть геолокацию.
HIBP не дал результата — переходим к целевому поиску. Базовые дорки для email:
"target@email.com" — прямой поиск по всему индексу Google"target@email.com" site:github.com — поиск в коммитах и профилях GitHub"target@email.com" site:pastebin.com — поиск в публичных пастахДля CTF часто работает поиск по домену email. Если адрес на кастомном домене (user@ctfchallenge.com), стоит проверить WHOIS домена — техника T1596.002 может раскрыть регистранта, контактные данные и связанные домены. Поиск поддоменов через site:*.ctfchallenge.com дополняет картину.
Hunter.io полезен при работе с корпоративным доменом — сервис показывает паттерн email-адресов организации и находит публично доступные адреса сотрудников. В CTF пригодится, если таск строится вокруг вымышленной компании и нужно раскопать конкретного сотрудника.
Связки через IntelTechniques позволяют по одному email построить граф: к каким аккаунтам привязан адрес, где он засветился. В CTF-контексте это экономит время на ручном переборе платформ.
Третий базовый вектор CTF OSINT — работа с изображениями. Два направления: извлечение метаданных (EXIF) и обратный поиск по визуальному содержимому.
ExifTool — стандартный инструмент для извлечения метаданных из файлов. В CTF авторы регулярно прячут флаги или подсказки прямо в EXIF-данных: GPS-координаты, комментарии, поле автора, дата создания, модель камеры.
exiftool -GPS* -Comment -Author -CreateDate suspect_photo.jpg
Команда вытягивает GPS-координаты, комментарии, поле автора и дату создания. GPS-координаты в CTF часто ведут к конкретному месту, название которого — флаг. В поле Comment может лежать закодированная строка (Base64, hex). Поле Author иногда содержит ник или email — точку входа для следующего шага.
Как отмечает ctf.support, перед загрузкой изображения в любой онлайн-сервис обратного поиска всегда сначала проверяем файл локально через exiftool или strings image.jpg. Флаги и координаты часто спрятаны именно в метаданных. Загрузка в Google Images в этом случае — пустая трата времени. Сначала копай в файле, потом ищи снаружи.
Ещё один приём: strings suspect_photo.jpg | grep -i flag — ищет текстовые строки внутри бинарного файла. Иногда флаг вписан напрямую без привязки к EXIF-полям — просто как текстовая последовательность в raw-данных изображения. Грубо, но работает.
Если метаданные пусты (автор таска прогнал файл через exiftool -all= перед публикацией), переходим к обратному поиску изображений. Три движка дают разные результаты, и выбор зависит от содержимого фото.
Yandex Images — сильнейший для лиц и кириллических источников. Yandex индексирует российские и восточноевропейские платформы, которые Google не покрывает. Если на фото лицо — Yandex часто находит другие фото того же человека на разных площадках. Ограничение: может быть недоступен из некоторых регионов без VPN.
Google Images / Google Lens — наиболее широкий индекс. Хорош для ландшафтов, зданий, логотипов, предметов. Часто находит оригинал фото, если оно было опубликовано на англоязычном ресурсе.
TinEye — специализируется на точном поиске. Не ищет «похожие» изображения — находит, где именно этот файл был загружен, с какого домена и когда впервые появился в индексе. Незаменим для определения первоисточника.
В CTF-тасках по геолокации (GeoINT) на фото дают локацию без подписи, нужно определить место. По данным CTF-воркшопа Maltego, для определения места съёмки анализируем:
Последний пункт — хронолокация — отдельная техника для определения времени съёмки. В CTF-таске Account Attribution участникам нужно было определить время съёмки фото Венгерского парламента в Будапеште. Решение: по дате из поста в соцсети и координатам здания загрузили данные в SunCalc, сопоставили длину теней от здания (высота ~96 метров) с симулированным положением солнца и определили окно 8:00–10:00 утра. Техника T1591.001 в чистом виде — красиво и чётко.
Разберём типичный составной таск, который объединяет все три вектора. Формат: «дано → делаем → получили».
Дано: ник securefox_ctf, задание — найти флаг.
Шаг 1: поиск по нику. Запускаем maigret securefox_ctf --parse. Совпадения на GitHub, Twitter/X и Steam. GitHub-профиль содержит email в bio: securefox_ctf@proton.me. На Twitter — аватар с фрагментом городского пейзажа. Steam-профиль пустой — false positive (Steam часто показывает дефолтные страницы при отсутствии реального профиля, Maigret это не всегда фильтрует).
Шаг 2: пробиваем email. Проверяем securefox_ctf@proton.me через Have I Been Pwned — утечек нет (ProtonMail редко фигурирует в крупных утечках). Google Dork: "securefox_ctf@proton.me" — находим публичный пост на Pastebin, где этот email упоминается рядом с другим ником s3cure_f0x. Пробиваем второй ник через WhatsMyName — находим профиль на Reddit с постом, содержащим ссылку на Imgur-изображение.
Шаг 3: анализ изображения. Скачиваем фото с Imgur. Запускаем exiftool image.jpg — в поле Comment лежит Base64-строка. Декодируем: echo "ZmxhZ3tPUzFOVF9tNHN0M3J9" | base64 -d → flag{OS1NT_m4st3r}.
Флаг найден. Общее время при системном подходе — 5–8 минут.
Этот сценарий показывает ключевой принцип CTF OSINT: каждый найденный артефакт (ник → email → второй ник → изображение) становится входной точкой для следующего шага. Цепочка работает, только если проверяешь каждый артефакт по всем доступным векторам, а не останавливаешься на первом результате. Остановился — потерял нить.
Вместо бесконечных списков — таблица конкретных инструментов для решения тасков на CTF уровня university и regional. Каждый проверен на реальных соревнованиях.
| Задача | Инструмент | Когда использовать | Ограничение |
|---|---|---|---|
| Поиск по нику | Maigret | Первый шаг при username-таске | Медленный на больших базах, требует Python 3.8+ |
| Поиск по нику (веб) | whatsmyname.app | Быстрая проверка без установки | Меньше платформ, чем у Maigret |
| Утечки по email | Have I Been Pwned | Любой email-артефакт | API лимитирован, бесплатен для ручных проверок |
| Обратный поиск фото | Yandex Images | Фото с лицами, кириллические источники | Требует VPN из некоторых регионов |
| Обратный поиск фото | TinEye | Определение первоисточника фото | Только точные совпадения, не ищет «похожие» |
| Метаданные фото | ExifTool | Любой файл изображения в таске | Метаданные могут быть вычищены автором |
| Геолокация / время | SunCalc | GeoINT-таски с тенями на фото | Требует знания даты и примерной локации |
| Целевой поиск | Google Dorks | Email, ники, домены | Результат зависит от точности запроса |
| Архивные данные | Wayback Machine | Удалённый контент, старые версии страниц | Не все страницы архивируются |
| Декодирование | CyberChef | ROT13, Base64, hex, URL-encoding | Не инструмент поиска, а вспомогательный |
Стартовый набор для 70% CTF OSINT-тасков: Maigret + ExifTool + HIBP + CyberChef. Этих четырёх хватит для большинства заданий университетского и регионального уровня. Остальное — по ситуации.
Авторы тасков намеренно расставляют ловушки. Ниже — то, что чаще всего сбивает начинающих, и как с этим справляться.
Ник alexhacker может быть найден на 30 платформах. Из них 25 — совершенно разные люди, зарегистрировавшие тот же username. В CTF совпадение ника ещё не значит совпадение личности. Верификация: одинаковый аватар, пересечение дат регистрации, общий email или URL в профиле. Три из четырёх признаков не совпадают — это не целевой профиль. Идём дальше.
Отдельная ловушка — фейковые профили-приманки. Автор таска создаёт два профиля с похожими никами: один содержит флаг, второй уводит в тупик с ложной зацепкой. Единственная защита — перекрёстная проверка через несколько независимых источников. Если email из профиля A не подтверждается данными из профиля B — один из них подставной.
ROT13 в био профиля, Base64 в EXIF-комментарии, hex-строка в описании GitHub-репозитория — стандартные приёмы авторов тасков. Нашли строку, которая выглядит как случайный набор символов, но имеет характерную длину и структуру? Base64 обычно оканчивается на = или ==, ROT13 часто содержит synt вместо flag. Пробуем стандартные преобразования. CyberChef справляется со всеми за секунды: загружаем строку, применяем рецепт Magic — он автоматически определяет тип кодировки.
Профиль удалён, пост стёрт, страница возвращает 404 — не повод сдаваться. Wayback Machine (web.archive.org) хранит снимки страниц за разные даты. В CTF авторы иногда намеренно удаляют контент после публикации таска, рассчитывая, что участники догадаются проверить архив. Прямая тренировка навыка работы с удалённым контентом — в MITRE ATT&CK это маппится на T1593 (Search Open Websites/Domains, Reconnaissance).
И ещё момент, который часто упускают: некоторые авторы прячут данные в совсем неочевидных местах — в названиях файлов, в HTML-комментариях страниц, в alt-тексте изображений. Просмотр исходного кода страницы через Ctrl+U и команда strings по скачанным файлам — привычки, которые окупаются на каждом втором таске.
Наблюдая за десятками команд на CTF-соревнованиях, вижу устойчивый паттерн: команды, которые проваливают OSINT-таски, не хуже разбираются в инструментах. Они хуже документируют процесс. Запустили Sherlock, получили 20 ссылок, открыли три, отвлеклись на четвёртую — и через 15 минут не помнят, что уже проверяли. Как собрать цифровой след системно — это не про знание Maigret или ExifTool. Это про дисциплину: открыл профиль, записал URL, проверил био, зафиксировал результат, перешёл к следующему. Без этого любые OSINT-инструменты превращаются в генератор шума.
Вторая проблема — зацикленность на инструментах вместо мышления. Начинающие спрашивают «какой инструмент использовать», хотя правильный вопрос — «какой артефакт у меня есть и куда он может привести». Ник ведёт к профилям, профили — к email, email — к утечкам, утечки — к паролям и связанным аккаунтам. Это граф, и его нужно обходить методично, а не прыгать между вершинами наугад. Инструменты меняются каждый сезон. Алгоритм поиска — нет.
По данным CrowdStrike Global Threat Report 2025, 75% реальных вторжений начинаются с действительных учётных данных. Эти данные злоумышленники находят теми же OSINT-методами, которые отрабатываются на CTF. Если хочешь пройти цепочку целиком — от разведки до пост-эксплуатации — на WAPT (codeby.school) этот путь покрывают с лабами на каждый этап.
🚀 Хочешь закрепить на практике? Реши задачи по теме на HackerLab — категория «pentest-machines».
0 комментариев
Пожалуйста, войдите, чтобы оставить комментарий.
Загрузка комментариев...