Главная / Блог / OSINT CTF задачи: находим людей, домены и геолокацию — пошаговый разбор

13 мин.00

OSINT CTF задачи: находим людей, домены и геолокацию — пошаговый разбор

OSINT CTF задачи: находим людей, домены и геолокацию — пошаговый разбор

OSINT CTF задачи: находим людей, домены и геолокацию — пошаговый разбор

На последнем Maltego Community OSINT CTF одна из задач началась с единственного email-адреса: davidjs1@deliveryotter.com. Из адреса вытаскиваешь юзернейм davidjs1, прогоняешь по платформам, находишь профиль на Bluesky — а в био строка synt{L0h_t0g_z3}. Фрагмент synt — это flag в ROT13. Расшифровка даёт флаг Y0u_g0t_m3. Три инструмента, пять минут работы. Но без понимания методологии тут можно зависнуть на часы, потому что непонятно даже, в какую сторону копать. Ниже — разбор типовых OSINT CTF задач по категориям: поиск людей, разведка доменов и геолокация. С командами, тупиками и логикой рассуждений на каждом шаге.

Место OSINT в цепочке атаки и типы CTF задач

OSINT по MITRE ATT&CK — тактика Reconnaissance. Техники, которые отрабатываются на CTF, напрямую маппятся на реальные TTP:

  • Поиск людейGather Victim Identity Information (T1589), включая Email Addresses (T1589.002) и Employee Names (T1589.003)
  • Разведка доменовGather Victim Network Information (T1590), Domain Properties (T1590.001), DNS (T1590.002)
  • Поиск по открытым источникам — Search Open Websites/Domains (T1593), Social Media (T1593.001)

В реальной цепочке атаки разведка по открытым источникам — первый этап: initial access невозможен без качественного reconnaissance. На CTF этот этап изолирован в отдельные задачи, но навыки переносятся один к одному: те же запросы, те же инструменты, та же логика pivoting.

Классификация OSINT задач

Русскоязычные подборки обычно сводятся к перечислению платформ — GeoGuessr, TryHackMe, Trace Labs. Но понимание типологии задач важнее знания площадок:

Тип задачи Что дано Что найти Ключевые инструменты
SOMINT (Social Media Intelligence) Email, никнейм, фрагмент профиля Аккаунт, связи, скрытые данные Sherlock, Maigret, ручной дорк
GEOINT (Geospatial Intelligence) Фото, спутниковый снимок Координаты, адрес, страну Google Maps, Overpass Turbo, SunCalc
Cyber Threat Intel IP-адрес, домен, хеш файла Связанную инфраструктуру VirusTotal, Shodan, WHOIS
IMINT (Image Intelligence) Изображение Метаданные, скрытые данные ExifTool, reverse image search
Хронолокация Фото с тенями/освещением Время съёмки SunCalc, анализ теней

Этот маппинг — практический ориентир: увидев задание, сразу понимаешь, какой класс инструментов доставать и куда рассуждать.

Поиск людей по открытым источникам: от никнейма до профиля

Username enumeration — Sherlock и Maigret

Классическая задача SOMINT: дан email или никнейм, нужно раскопать связанные аккаунты. На Maltego Community CTF (по их официальному walkthrough) задача Account Attribution – 1 начиналась с email davidjs1@deliveryotter.com. Из него вытаскивается юзернейм davidjs1 и прогоняется по платформам.

Два основных инструмента для username enumeration:

Sherlock — проверяет юзернейм по 400+ сайтам (активный, 60k+ звёзд на GitHub). Запуск: sherlock davidjs1 --timeout 10 --print-found. Быстрый, но генерирует false positives на платформах, где любой юзернейм возвращает HTTP 200.

Maigret — форк Sherlock с расширенной базой (2500+ сайтов) и более умной фильтрацией false positives (активный, 12k+ звёзд). Запуск: maigret davidjs1 --timeout 15 --no-recursion. Медленнее в 3-5 раз, но точнее на порядок.

Оба работают только с точным юзернеймом. Если человек использует разные ники на разных платформах — прямой перебор бесполезен. Тогда нужен pivot через email: проверка на Have I Been Pwned покажет, в каких утечках фигурировал адрес, а утечка может содержать связанный юзернейм с другой платформы. Для контекста: только утечка Exploit.In (2016) содержала 593 миллиона уникальных email-адресов с паролями. Email из CTF-задачи с высокой вероятностью где-то «засветился».

Когда Sherlock недостаточен и нужен Maigret: если username даёт 50+ «найденных» профилей в Sherlock, большинство из которых — мусор. Maigret валидирует контент страницы и отсекает ложные срабатывания. Для CTF с коротким таймером Sherlock быстрее; для глубокой разведки — Maigret.

Email footprinting и cross-platform pivoting

Если дан только email, цепочка такая:

  1. Извлечь домен — deliveryotter.com из davidjs1@deliveryotter.com
  2. Проверить домен — WHOIS, DNS, существует ли сайт
  3. Извлечь юзернейм — часть до @
  4. Username enumeration — Sherlock/Maigret по юзернейму
  5. Проверить утечки — Have I Been Pwned, dehashed
  6. Проверить email напрямую — Gravatar, регистрация на сервисах

theHarvester автоматизирует сбор email-адресов и поддоменов для домена. Запуск: theHarvester -d deliveryotter.com -b google,bing,dnsdump -l 200. Требует настроенных API-ключей для полноценной работы — без ключей доступны только базовые модули.

По MITRE ATT&CK это прямая реализация T1589.002 (Email Addresses) и T1593.001 (Social Media) — сбор идентификационной информации через открытые источники.

Задача на CTF почти всегда строится на цепочке pivots — email ведёт к юзернейму, юзернейм к профилю на Bluesky или GitHub, профиль содержит подсказку для следующего шага. На Maltego CTF профиль на Bluesky содержал строку в ROT13 — распознать кодировку помогает характерный маркер: synt = flag. CyberChef (gchq.github.io/CyberChef/) закрывает любой вариант декодирования за секунды.

Пассивная разведка домена: WHOIS, DNS и архивы

WHOIS, DNS и Certificate Transparency

Задачи категории Cyber Threat Intel часто начинаются с домена или IP-адреса. Принцип пассивной разведки — выжать максимум информации без прямого взаимодействия с целью.

WHOIS — первый шаг при получении домена. whois target.com покажет регистратора, даты регистрации и обновления, иногда контактные данные администратора. На CTF организаторы часто регистрируют домены со специфичными данными, в которых спрятана подсказка.

DNS-записи раскрывают инфраструктуру цели. dig target.com ANY +noall +answer покажет A-записи (IP хостинга), MX-записи (почтовый сервис), TXT-записи (SPF/DKIM конфигурация — иногда содержат подсказки), CNAME (связанные поддомены).

Passive DNS через SecurityTrails или VirusTotal показывает историю DNS-резолвов — какие IP были привязаны к домену раньше. Это критично для задач, где домен уже не работает, но исторические данные нужны для ответа.

Certificate Transparency (crt.sh) — публичные логи SSL-сертификатов. Запрос %.target.com на crt.sh покажет все поддомены, для которых когда-либо выпускались сертификаты. На Maltego CTF задача Domain Pivot (Cyber Threat Intel, 15 баллов) требовала исследовать домен подозрительного reverse proxy — через анализ SSL-сертификата определялась компания, подписавшая сертификат.

Wayback Machine (web.archive.org) — незаменим, когда сайт изменился или удалён. CTF-организаторы прячут флаги в старых версиях страниц. Введите URL, выберите снэпшот за нужную дату, ищите изменения в HTML-коде, мета-тегах, комментариях в исходниках. Задача «From the archives» на Maltego CTF прямо указывала на архивный анализ в названии.

По MITRE ATT&CK — T1590.001 (Domain Properties) и T1590.002 (DNS).

Shodan CTF разведка

Shodan индексирует устройства и сервисы в интернете. На CTF используется для поиска открытых портов, определения технологий и обнаружения кривых конфигураций.

Базовые запросы Shodan для CTF:

  • hostname:target.com — все устройства на домене
  • ssl.cert.subject.cn:target.com — поиск по SSL-сертификату
  • org:"Company Name" — все устройства организации
  • http.title:"Dashboard" — админки без авторизации (да, такое всё ещё встречается)
  • port:8080 product:nginx — конкретные сервисы на нестандартных портах

Бесплатный аккаунт Shodan ограничен базовыми запросами и двумя страницами результатов. Данные обновляются не в реальном времени — Shodan сканирует интернет периодически, информация может отставать на дни или недели. Для актуальных данных на конкретном IP стоит попробовать censys.io.

Место в kill chain: Shodan-разведка — этап reconnaissance (T1590). На реальном внешнем пентесте после Shodan идёт fingerprinting конкретных сервисов через nmap и поиск эксплойтов. На CTF цепочка обычно короче: Shodan-запрос выявляет баннер, баннер содержит версию сервиса, версия указывает на флаг или следующий шаг.

Геолокация по фото CTF: от визуальных подсказок до хронолокации

Геолокация — самая зрелищная категория OSINT CTF задач. Дано фото, нужно определить место, а иногда и время съёмки. Чувствуешь себя детективом из сериала — только вместо лупы ExifTool и Google Maps.

Шаг 1: Метаданные. Прогоняем фото через exiftool photo.jpg. GPS-координаты в EXIF — простейший случай, но на CTF метаданные обычно вычищены. Тем не менее ExifTool может показать модель камеры, дату, программу обработки — иногда это подсказка (скриншот с iPhone 16 сужает временной диапазон).

Шаг 2: Reverse image search. Загружаем фото в Google Images, Yandex Images и TinEye одновременно. Yandex часто работает лучше Google для фото зданий и уличных сцен в Европе и СНГ — у него сильнее визуальное распознавание архитектуры. Если фото уникальное (сделано организаторами CTF) — reverse search не поможет, переходим к ручному анализу.

Шаг 3: Визуальные маркеры. Ключ к ручной геолокации:

Маркер Что даёт Пример
Номерные знаки Страна, регион EU-формат vs US vs RU
Уличные указатели Язык, город Кириллица, латиница, арабская вязь
Растительность Климатическая зона Пальмы = тропики, берёзы = умеренный пояс
Архитектура Регион, эпоха Хрущёвки, фахверк, мавританский стиль
Направление теней Полушарие Тени на юг = северное полушарие
Бренды и вывески Страна, город Локальные сети, операторы связи

На Maltego CTF задача Account Attribution – 2 (SOMINT, 5 баллов) требовала по фото из поста на Bluesky определить отель, из которого сделан снимок. Через reverse image search опознавалось здание Венгерского парламента в Будапеште. Дальше — альтернативный метод: поиск публичных веб-камер в районе парламента выявил камеру на Hotel Victoria с совпадающим ракурсом. Та же камера упоминалась на официальном сайте отеля. Элегантно.

Overpass Turbo — зверь для задач, когда визуальные маркеры дают только приблизительное направление. Запросы типа «все мечети в радиусе 500 м от перекрёстка» или «все заправки Shell рядом с автострадой A1» резко сужают область поиска. Синтаксис Overpass API требует привычки, но для CTF обычно хватает нескольких шаблонных запросов с node/way фильтрами.

Хронолокация — определяем время по теням

Хронолокация — определение времени съёмки по положению солнца и теней. На Maltego CTF эта техника использовалась в задаче Account Attribution – 3 (20 баллов): дано фото Венгерского парламента, нужно определить временной диапазон съёмки из четырёх вариантов.

Метод по шагам:

  1. Определить дату — из контекста задачи (пост в соцсети, метаданные, условие)
  2. Определить местоположение — результат предыдущего шага геолокации (Будапешт)
  3. Оценить высоту объекта — здание Венгерского парламента около 96 метров (общедоступная информация)
  4. Открыть SunCalc (suncalc.org) — ввести координаты и дату
  5. Сопоставить тени — длина и направление тени на фото vs расчётная позиция солнца

В задаче CTF тени на фото указывали на утреннее время. SunCalc подтвердил: ответ — между 8:00 и 10:00 AM.

Метод требует видимых теней от объекта известной высоты. Пасмурная погода, снимки в помещении, фото без выраженных теней — всё это делает хронолокацию невозможной. Реалистичная точность — окно в 2-3 часа, не минуты. Не кино, увы.

Google dorks для OSINT задач

Google dorks — запросы с операторами расширенного поиска — работают в большинстве OSINT CTF задач. По MITRE ATT&CK это T1593 (Search Open Websites/Domains).

Полезные операторы для CTF:

  • site:target.com filetype:pdf — PDF-документы на домене цели (часто содержат метаданные автора)
  • site:target.com inurl:admin — административные панели
  • "John Smith" site:linkedin.com — поиск человека на конкретной платформе
  • intitle:"index of" site:target.com — открытые директории
  • site:pastebin.com "target.com" — утечки на Pastebin
  • cache:target.com/page — кешированная версия страницы (альтернатива Wayback Machine)
  • intext:"flag{" site:target.com — прямой поиск формата флага (работает на плохо настроенных CTF — и да, такое бывает)

Google борется с автоматизацией — частые запросы приведут к CAPTCHA. Для массового dorking есть GooFuzz или модули в Recon-ng с настроенными задержками между запросами. На CTF обычно хватает 10-15 ручных запросов в браузере.

TryHackMe предлагает отдельную комнату Google Dorking для отработки этих навыков — от базового поиска до продвинутых операторов.

Cyber Threat Intelligence: IP-адреса и файловые артефакты

Отдельный класс OSINT задач — работа с индикаторами компрометации. На Maltego CTF задача «From the archives» (Cyber Threat Intel, 10 баллов) давала IP-адрес 47.96.17[.]237 и требовала найти связанный ZIP-архив.

Цепочка решения из официального walkthrough Maltego:

  1. Ввести IP в VirusTotal
  2. Перейти на вкладку Relations
  3. Просмотреть файлы, которые коммуницировали с этим IP
  4. Среди артефактов обнаружить Microsoft.AppRuntime.5017.214.zip

Аналогичные задачи решаются через связку инструментов:

  • VirusTotal — связи IP с файлами, доменами, URL, исторические данные
  • AbuseIPDB — репутация IP-адреса. Бесплатный API-тир: 1000 запросов в день через endpoint /api/v2/check?ipAddress=X. Confidence score от 0 до 100; значение выше 75 — порог для подозрительной активности
  • Shodan — открытые сервисы и баннеры на IP-адресе

При анализе IP через AbuseIPDB учитывайте: Tor exit nodes часто показывают высокий confidence score. Перед выводами проверяйте адрес по списку exit-нод через torproject.org/exit-addresses. IP из CGNAT-диапазонов тоже дают ложные срабатывания — один адрес, тысячи пользователей.

Инструменты OSINT для CTF — trade-off таблица

Выбор инструмента зависит от типа задачи. Сравнение с ограничениями, которые важны именно на CTF:

Инструмент Задача Преимущества Ограничения Статус поддержки
Sherlock Username enumeration Быстрый, 400+ сайтов Много false positives Активный, 60k+ звёзд на GitHub
Maigret Username enumeration 2500+ сайтов, фильтрация FP Медленнее Sherlock в 3-5 раз Активный, 12k+ звёзд
theHarvester Email/domain recon Multi-source Требует API-ключей для полной работы Активный
ExifTool Metadata extraction 400+ форматов файлов Метаданные часто очищены на CTF Активный, регулярные релизы
Maltego CE Visual link analysis Графы связей, трансформации Community edition: 12 результатов на трансформацию Коммерческий, CE бесплатна
Shodan Infrastructure recon Глобальная индексация Бесплатный тир ограничен, не real-time Коммерческий, бесплатный тир
SunCalc Хронолокация Бесплатный, точный Требует знания даты и локации Веб-инструмент, стабильный
Recon-ng Framework разведки Модульная архитектура Кривая обучения, настройка модулей Активный

Требования к окружению

Для решения OSINT CTF задач:

  • ОС: Kali Linux 2024.x (предустановлены theHarvester, ExifTool) или любой Linux/macOS/Windows с Python 3.8+
  • RAM: 4 ГБ минимум — инструменты OSINT нетребовательны к ресурсам
  • Интернет: обязателен — все инструменты работают с внешними API и сервисами
  • Python-пакеты: pip install sherlock-project maigret для установки username-чекеров
  • Дополнительно: браузер с VPN (некоторые сервисы ограничивают доступ по геолокации), бесплатные аккаунты Shodan и VirusTotal для доступа к API
  • Offline-режим: практически неприменим — вся суть OSINT в работе с внешними источниками

Методология решения OSINT задач: decision tree

На CTF время теряется не на инструментах, а на выборе направления. Вот алгоритм, который работает в большинстве случаев:

Шаг 1 — классифицировать вводную. Что дано: email, никнейм, фото, IP, домен, хеш? Тип вводной определяет класс задачи и набор инструментов.

Шаг 2 — выжать максимум из первого артефакта. - Email: домен + юзернейм + проверка утечек (HIBP) - Фото: ExifTool (метаданные) + reverse image search + визуальные маркеры - Домен: WHOIS + DNS + Wayback Machine + crt.sh - IP: VirusTotal + Shodan + AbuseIPDB

Шаг 3 — pivot. Каждый найденный артефакт порождает новые направления. Email привёл к юзернейму, юзернейм — к профилю, профиль содержит фото, фото даёт геолокацию. Цепочка pivots — ядро OSINT-методологии.

Шаг 4 — проверить кодировки. CTF-организаторы прячут флаги в Base64, ROT13, Hex, стеганографии. Характерные маркеры: synt = flag в ROT13, ZmxhZ3s= = flag{ в Base64. CyberChef закрывает все варианты декодирования.

Шаг 5 — зафиксировать путь. Документируйте каждый шаг: какой запрос сделали, что получили, какие тупики попробовали. На CTF это экономит время при возврате к задаче; в реальной работе — обязательная часть отчёта.

Главная ошибка новичков на OSINT CTF — пытаться автоматизировать всё. Sherlock прогнал, theHarvester запустил, ExifTool отработал — а флага нет. Потому что задача требовала ручного анализа: прочитать bio на Bluesky, заметить странный паттерн в тексте, распознать ROT13 по характерному виду строки. Автоматизация закрывает рутину, но аналитическое мышление — то, что отличает решившего от зависшего.

Второе наблюдение: большинство OSINT-задач строятся на цепочке из 3-5 pivots. Нашли промежуточный результат, но не видите связи с флагом — вероятно, нужен ещё один pivot. На Maltego CTF задача «Bad Manners» (Vehicle, 30 баллов — максимальный вес среди всех задач) требовала серии переходов от номерного знака к владельцу через несколько баз данных. Не бросайте направление после первого тупика — проверьте хотя бы два альтернативных пути, прежде чем менять вектор.

За последний год я разобрал порядка сотни OSINT-задач с разных CTF-площадок, и паттерн один: побеждают не те, кто знает больше инструментов, а те, кто быстрее строит гипотезы и проверяет их. Sherlock и Maigret — это 20% успеха. Остальные 80% — умение задать правильный вопрос: «Зачем организатор дал именно этот email? Что в нём необычного? Почему домен такой странный?» Инструменты любой участник поставит за десять минут. А привычку думать как аналитик нужно вырабатывать на десятках задач — и тут важна не только категория OSINT: на реальном пентесте разведка — первый шаг перед эксплуатацией, и без качественного reconnaissance весь дальнейший engagement рассыпается. Если хочешь не просто writeup читать, а пройти всю цепочку атаки руками — на WAPT эту связку reconnaissance → exploitation разбирают в лабах на каждый кейс.

🚀 Хочешь закрепить на практике? Реши задачи по теме на HackerLab — категория «pentest-machines».

Поделиться

0 комментариев

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

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