Главная / Блог / OSINT для начинающих: цифровой след в CTF

14 мин.00

OSINT для начинающих: цифровой след в CTF

OSINT для начинающих: цифровой след в CTF

За три CTF-сезона наблюдаю одну и ту же картину: команда из четырёх человек тратит 30–40 минут на OSINT-таск за 50 очков. Дан ник — нужно найти флаг. Трое гуглят вручную, один запускает Maigret. Через полторы минуты инструмент выдаёт десяток совпадений по платформам. Ещё минута — email в био одного из профилей. Пробивают через Have I Been Pwned, находят утечку, декодируют строку из метаданных — флаг. Три минуты против сорока.

Разница между «искать» и «искать системно» — это и есть ядро OSINT для начинающих. Не инструменты решают, а алгоритм в голове. Ниже — пошаговый workflow для трёх базовых векторов CTF OSINT: ник, email, фото.

Разведка по открытым источникам в CTF: чем таск отличается от реального расследования

В реальном OSINT-расследовании данные разрозненные, часть источников недоступна, результат непредсказуем. В CTF всё иначе: авторы таска намеренно выстраивают цепочку хлебных крошек от стартовой зацепки до флага. Задача участника — обнаружить эту цепочку и пройти её до конца, не свернув в тупик. Подробнее — в нашем подробном разборе osint для специалиста по информационной безопасности.

Типичный CTF OSINT-таск выглядит так: дают один артефакт — ник, email-адрес, изображение или URL — и просят найти конкретный ответ. Промежуточные шаги никто не подсказывает. Именно тут начинающие проваливаются: вместо системного перебора векторов уходят в хаотичный поиск, проверяют случайные гипотезы и сжигают время.

Ещё одно отличие: в CTF данные синтетические или намеренно сделаны публичными. В реальности сбор информации о физлицах регулируется ФЗ-152 «О персональных данных» — ст. 5 обязывает ограничивать обработку ПДн конкретными целями, а ст. 7 запрещает раскрытие без согласия субъекта. На CTF эти ограничения не действуют, но привычка понимать границы формируется именно на учебных тасках. Потренировавшись «на кошках», потом не наступишь на грабли в бою.

Техники Reconnaissance из MITRE ATT&CK в OSINT-тасках

Каждая техника из CTF OSINT имеет прямой аналог в матрице MITRE ATT&CK. Те же методы применяют атакующие на этапе разведки перед реальными вторжениями:

  • Поиск по нику в соцсетях — Social Media (T1593.001, Reconnaissance)
  • Google Dorking по email и доменам — Search Engines (T1593.002, Reconnaissance)
  • Извлечение email-адресов из профилей — Email Addresses (T1589.002, Reconnaissance)
  • Геолокация по фото — Determine Physical Locations (T1591.001, Reconnaissance)
  • Анализ должностей и ролей через профили — Identify Roles (T1591.004, Reconnaissance)
  • Проверка WHOIS доменов — WHOIS (T1596.002, Reconnaissance)
  • Сбор данных с сайтов цели — Search Victim-Owned Websites (T1594, Reconnaissance)

Это даёт два бонуса. Во-первых, системный чек-лист: получил артефакт — прошёлся по списку техник, проверил, какие применимы. Во-вторых, после CTF те же навыки напрямую переносятся в работу пентестера на фазе разведки. Один к одному.

Поиск по нику: деанонимизация по нику через Maigret и Sherlock

Ник — самый частый стартовый артефакт в 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 с подтверждёнными совпадениями и извлечённые поля.

Что делать с результатами: workflow для CTF

Получили список совпадений. Дальше — по шагам.

Отсеять 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 OSINT: утечки, дорки и скрытые аккаунты

Email — второй по частоте стартовый артефакт в CTF OSINT-тасках. Иногда его дают напрямую, иногда находим на предыдущем шаге: в био профиля, в коммитах на GitHub, в метаданных документа.

Проверка утечек через Have I Been Pwned

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-адрес, из которого можно вытянуть геолокацию.

Google Dorking и целевой поиск по email

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

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 в чистом виде — красиво и чётко.

Пошаговый разбор CTF OSINT-таска: от ника до флага

Разберём типичный составной таск, который объединяет все три вектора. Формат: «дано → делаем → получили».

Дано: ник 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 → второй ник → изображение) становится входной точкой для следующего шага. Цепочка работает, только если проверяешь каждый артефакт по всем доступным векторам, а не останавливаешься на первом результате. Остановился — потерял нить.

OSINT инструменты для начинающих: минимальный набор для CTF

Вместо бесконечных списков — таблица конкретных инструментов для решения тасков на 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. Этих четырёх хватит для большинства заданий университетского и регионального уровня. Остальное — по ситуации.

Типичные ловушки в OSINT-тасках CTF

Авторы тасков намеренно расставляют ловушки. Ниже — то, что чаще всего сбивает начинающих, и как с этим справляться.

Ложные совпадения и фейковые профили

Ник 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 комментариев

Пожалуйста, войдите, чтобы оставить комментарий.

Загрузка комментариев...

Читайте также

Wireshark для начинающих: фильтры и анализ трафика CTF

12 мин.

4

Wireshark для начинающих: фильтры и анализ трафика CTF

14 000 пакетов, один фильтр, 10 секунд до флага. Разбор pcap в Wireshark: 12 display-фильтров, анализ HTTP/DNS/FTP, ARP-спуфинг и CyberChef для CTF

10 ОКТЯБРЬ, 2026

SQL-инъекции в CTF: от обнаружения до blind SQLi

12 мин.

8

SQL-инъекции в CTF: от обнаружения до blind SQLi

Пошаговый разбор SQL-инъекций в CTF: UNION, error-based, boolean и time-based blind техники, автоматизация на Python, обход WAF и sqlmap. Реальные payload'ы.

10 ОКТЯБРЬ, 2026

XXE уязвимость: как эксплуатировать в CTF

13 мин.

10

XXE уязвимость: как эксплуатировать в CTF

7 техник эксплуатации XXE: classic, blind OOB, error-based, SVG upload, XInclude, Content-Type switch. Пошаговые пейлоады с Burp Suite и таблица выбора.

9 ОКТЯБРЬ, 2026