Главная / Блог / OSINT для CTF: как искать флаги через метаданные, геолокацию и поиск по изображениям

15 мин.00

OSINT для CTF: как искать флаги через метаданные, геолокацию и поиск по изображениям

OSINT для CTF: как искать флаги через метаданные, геолокацию и поиск по изображениям

OSINT для CTF: как искать флаги через метаданные, геолокацию и поиск по изображениям

На прошлогоднем CTF-турнире команда убила полтора часа на OSINT-задание с единственной фотографией заброшенной парковки — без ориентиров, без подписи, без контекста. Три участника из ТОП-10 решили этот таск за тридцать секунд: exiftool вытащил GPS-координаты прямо из EXIF, оставалось подставить их в Google Earth и забрать флаг. Разница между часом мучений и полуминутой — не в знании инструментов, а в порядке действий. Эта статья — пошаговый воркфлоу для трёх ключевых техник OSINT для CTF: анализ метаданных фото, геолокация по визуальным подсказкам и обратный поиск по изображениям. С конкретными командами и разбором ловушек, которые расставляют авторы заданий.

Что стоит за OSINT-заданиями в CTF

OSINT для начинающих часто выглядит как «погугли и найди». На деле каждое задание по разведке на открытых источниках моделирует конкретный этап рекогносцировки из матрицы MITRE ATT&CK: Подробнее — в нашем обзоре osint для специалиста по информационной безопасности.

  • Извлечение GPS-координат из фотографии — по логике близко к Determine Physical Locations (T1591.001, тактика Reconnaissance)
  • Поиск аккаунтов через обратный поиск по изображению — по логике близко к Gather Victim Identity Information (T1589, Reconnaissance)
  • Работа с поисковиками и дорками — Search Engines (T1593.002, Reconnaissance)
  • Анализ публичных баз и технических метаданных — Search Open Technical Databases (T1596, Reconnaissance)

Когда связываешь CTF-задачи с реальными техниками цифровой разведки, подход к решению меняется. Ты не просто «решаешь таск» — ты тренируешь навык, который реальные атакующие используют в первой фазе вторжения. По данным CrowdStrike Global Threat Report 2025, 75% вторжений в 2024 году начинались с использования действительных учётных данных, а их сбор в значительной части случаев стартовал именно с открытых источников. IBM X-Force фиксирует рост атак с использованием учётных данных на 71% год к году и оценивает приток свежих кредов в даркнет в 6 000 записей ежедневно.

В CTF-формате задания по OSINT обычно раскладываются на три категории:

Тип задания Что дано Что нужно найти
Метаданные Файл (фото, документ, аудио) Флаг в EXIF, комментариях, скрытых полях
Геолокация Фотография места Координаты, адрес, название объекта
Поиск по изображению Фрагмент фото, скриншот Оригинальный источник, связанную информацию

На практике задания часто комбинируют все три: извлекаешь метаданные, по координатам проверяешь место на карте, через reverse image search находишь оригинальный пост с флагом. Линейность — иллюзия; реальный процесс — дерево решений.

Анализ метаданных фото: EXIF данные изображения как первый шаг к флагу

Метаданные — первое, что нужно проверить в любом OSINT-задании с файлом. Не после визуального осмотра, не после загрузки в Google Lens — до всего. Это правило экономит время в подавляющем большинстве случаев. Я на турнирах всегда начинаю с exiftool, даже если на фото — явная геолокационная задача. Два раза из трёх там уже лежит ответ.

Что искать и как извлекать

Требования к окружению: exiftool (Perl-based, работает на Linux, macOS, Windows). Установка: sudo apt update && sudo apt install libimage-exiftool-perl на Debian/Ubuntu, brew install exiftool на macOS. Рекомендуется версия 12+ для корректного разбора нестандартных MakerNote-полей. Минимальные ресурсы — exiftool работает на любой машине с 512 МБ RAM. Интернет для этого шага не нужен.

EXIF (Exchangeable Image File Format) — контейнер метаданных, который камера или программа записывает в файл изображения. Там хранятся модель камеры, дата съёмки, параметры экспозиции и — что критично для поиска флагов CTF — GPS-координаты.

exiftool challenge.jpg

Вывод содержит десятки полей. Для CTF в первую очередь интересны:

  • GPS Position — координаты «широта, долгота». Если есть — задание наполовину решено.
  • Comment / UserComment / ImageDescription — авторы CTF прячут флаги в текстовых полях метаданных. Самый ленивый способ спрятать флаг — и самый частый.
  • XMP-данные — расширенные метаданные Adobe, могут содержать произвольный текст.
  • Thumbnail Image — встроенная превьюшка. Иногда оригинал обрезан, а в превью остаётся исходная версия с подсказкой.
  • Creator / Author — имя, которое ведёт к аккаунту в соцсетях или к следующему этапу задания.

Для быстрого извлечения GPS:

exiftool -GPSLatitude -GPSLongitude -GPSPosition challenge.jpg
# GPS Latitude  : 55 deg 45' 8.10" N
# GPS Longitude : 37 deg 37' 4.08" E
# GPS Position  : 55 deg 45' 8.10" N, 37 deg 37' 4.08" E

Координаты из примера указывают на центр Москвы. Подставляете их в Google Maps или Google Earth — проверяете, совпадает ли локация с условием задания.

Помимо exiftool полезно прогнать файл через strings challenge.jpg. Утилита вытаскивает все текстовые строки из бинарного файла. Флаги формата flag{...} или CTF{...} иногда вписаны прямо в тело файла, минуя структуру EXIF. Ещё одна обязательная проверка — file challenge.jpg: убедитесь, что расширение соответствует реальному формату. Авторы заданий любят подсунуть PNG с расширением .jpg или ZIP-архив, замаскированный под изображение.

Отдельный приём — извлечение встроенного thumbnail командой exiftool -b -ThumbnailImage challenge.jpg > thumb.jpg. Бывает, автор задания обрезал изображение, убрав подсказку из видимой части, но не пересоздал превью. В thumb.jpg окажется необрезанная версия с флагом или с дополнительными визуальными маркерами для геолокации.

Ограничения и когда exiftool не поможет

Анализ метаданных фото — не серебряная пуля. Понимание ограничений экономит время на переход к следующей технике:

Социальные сети стрипают EXIF. Facebook, Twitter/X, Telegram при загрузке удаляют GPS-координаты и большинство метаданных. Если в условии задания указано, что фото скачано из соцсети — EXIF скорее всего пуст. Не тратьте время.

Скриншоты не содержат EXIF оригинала. Скриншот — новое изображение, созданное ОС. У него свои метаданные (модель устройства, время создания), но не данные оригинальной фотографии.

PNG беднее JPEG. Формат PNG не поддерживает стандартный EXIF-контейнер, хотя может содержать tEXt-чанки с произвольными данными. Если задание выдало PNG — ищите информацию в strings или в текстовых чанках через exiftool -v2.

Намеренная модификация. Авторы продвинутых тасков вписывают ложные координаты или прячут флаг в стеганографии EXIF-полей — данные выглядят как валидный EXIF, но содержат закодированное сообщение. Подозрительные base64-строки или hex-последовательности в поле MakerNote — сигнал к декодированию.

Если EXIF пуст или содержит только системные поля — переходите к визуальному анализу и геолокации.

Геолокация по фото OSINT: от дорожных знаков до точных координат

Геолокация CTF заданий — самый творческий тип задач. У тебя есть изображение, и нужно определить, где оно сделано. GPS в метаданных нет (иначе задание слишком простое). Работают только глаза и системный подход к визуальным маркерам. По сути — детективная работа, только вместо отпечатков пальцев ты ищешь шрифт на дорожном знаке.

Визуальные подсказки для геолокации

Методика базируется на последовательном анализе визуальных элементов. По данным ctf.support, ключевые категории: архитектура, ландшафт, язык на знаках, типы транспорта, направление теней и дорожная разметка.

Надписи и язык. Первое, на что обращаете внимание — любой текст. Вывеска магазина, номер дома, дорожный знак, даже граффити. Если текст нечитаем, сам алфавит уже сужает географию: кириллица (Россия, Украина, Болгария, Сербия — дальше различаете по специфике букв), арабская вязь, деванагари, тайское письмо. Конкретный язык сужает до страны или группы стран.

Дорожные знаки и разметка. Форма знаков, цвет фона, стиль указателей различаются по странам. Ромбовидные жёлтые знаки — Северная Америка. Красная окантовка на круглом белом фоне — Европа и СНГ. Синий фон указателей — Скандинавия, Франция. Двойная жёлтая осевая разметка — США, Канада. Белая штриховая — Европа.

Транспорт и номерные знаки. Формат номеров — один из сильнейших индикаторов. Длинные белые с синей полосой слева — Евросоюз. Короткие белые с триколором — Россия. Жёлтые задние номера — Великобритания, Нидерланды. Тип транспорта тоже помогает: тук-туки сужают до Юго-Восточной Азии, маршрутки ПАЗ — до России (и тут ошибиться невозможно).

Ландшафт и растительность. Красная латеритная почва — тропики. Берёзовые рощи — умеренный пояс Евразии. Эвкалипты — Австралия. Рельеф (горы, равнины, побережье) сужает регион ещё сильнее, особенно в сочетании с другими маркерами.

Тени и положение солнца. Направление и длина теней позволяют определить полушарие и приблизительную широту. Тень указывает на север — северное полушарие. На юг — южное. Сервис SunCalc (suncalc.org) рассчитывает положение солнца для любой точки на карте в заданное время — полезно, когда из метаданных известна дата и время съёмки.

Архитектура. Фахверковые дома — Германия, Эльзас. Панельные пятиэтажки — постсоветское пространство. Деревянные дома на сваях с верандами — Юго-Восточная Азия. Плоские крыши с характерной белой штукатуркой — Средиземноморье.

Инструменты OSINT для геолокации и верификация

После сбора визуальных подсказок верифицируете гипотезу через инструменты и сервисы:

Инструмент Применение Когда эффективен
Google Earth Pro 3D-осмотр, исторические снимки Есть примерный регион, нужна точная точка
Google Street View Сравнение панорам на уровне улицы Видны характерные здания или перекрёстки
Yandex Panorama Панорамы СНГ, Турция, частично Европа Постсоветское пространство — покрытие лучше Google
SunCalc Расчёт положения солнца На фото видны тени, известно время съёмки
Overpass Turbo Запросы к OpenStreetMap Нужно найти все объекты типа X в радиусе Y

Воркфлоу геолокации: определяете регион по языку и знакам, сужаете до города по архитектуре и ландшафту, находите конкретную точку через Street View или спутниковые снимки. Пример: на фото дорожный знак с текстом на грузинском (мхедрули), горы на заднем плане, характерные балконы тбилисской застройки. Регион — Грузия, Тбилиси. Дальше по уникальному зданию находите точку через Google Street View, проверяете совпадение ракурса и забираете координаты.

Когда геолокация не работает

  • Интерьерные фото. Без окон и внешних ориентиров определить местоположение почти невозможно. Исключение — уникальные вывески или узнаваемый дизайн внутри помещения.
  • Ночные снимки. Без теней и деталей ландшафта остаётся только искусственное освещение и читаемые вывески.
  • Сгенерированные изображения. AI-генерация создаёт реалистичные фото несуществующих мест. Признаки: артефакты на текстах, несогласованные тени, неестественные текстуры. Если текст на вывеске выглядит как «абракадабра» — скорее всего генерация.
  • Общие природные ландшафты. Хвойный лес, пшеничное поле, морской берег без ориентиров — география слишком широка.

В таких случаях переходите к третьей технике — обратному поиску по изображениям.

Поиск по изображению онлайн: reverse image search в CTF-заданиях

Reverse image search помогает найти оригинальный источник фотографии, визуально похожие изображения и связанную информацию. Как искать информацию по фотографии в CTF: задание требует установить, где фото впервые появилось, идентифицировать объект или человека, найти полную версию обрезанного кадра.

Поисковики и их особенности

Google Lens / Google Images. Наибольшая база проиндексированных изображений. Работает через images.google.com — значок камеры — загрузка файла. Хорошо находит достопримечательности, товары, мемы. Слабее с лицами и малоизвестными объектами.

Yandex Images. Google и Yandex индексируют разные наборы данных — для каждого из них есть контент, которого нет у конкурента. Yandex заметно лучше работает с русскоязычным интернетом и соцсетями СНГ. И вот что критично: Yandex значительно лучше ищет по лицам. Если в CTF-задании дано фото человека — начинайте с Yandex. Я на этом не раз экономил кучу времени.

TinEye. Специализированный поисковик, работающий на сопоставлении изображений (image matching), а не на анализе содержимого. TinEye показывает, где именно публиковалась конкретная фотография, и умеет сортировать результаты по дате — находит первоисточник. Для задач типа «найди, откуда взялось это фото» — незаменим.

Bing Visual Search. Дополнительный вариант с собственным индексом. Периодически находит результаты, отсутствующие и в Google, и в Yandex.

Практическое правило: прогоняйте изображение через все четыре поисковика. Это занимает две-три минуты и часто даёт неожиданные находки.

Приёмы повышения точности

Стандартная загрузка полного изображения — первый шаг. Если результатов нет или они нерелевантны, применяйте дополнительные приёмы:

Кадрирование. Обрежьте изображение, оставив только ключевой объект — здание, знак, логотип. Поисковик может не распознать объект на загромождённом фоне, но найдёт его в изоляции.

Зеркалирование. Некоторые CTF-задания специально зеркалят фото горизонтально, чтобы сбить поиск по изображению онлайн. Отразите кадр и загрузите повторно. Дешёвый трюк со стороны авторов, но если не знаешь — можно застрять.

Поиск фрагмента. Уникальный элемент — логотип, герб, вывеска — вырезайте и ищите отдельно. Логотипы индексируются плотнее, чем случайные фотографии.

Изменение формата. Конвертируйте PNG в JPEG и наоборот. Иногда алгоритм поисковика по-разному обрабатывает форматы.

  • Уникальные фото для задания. Автор CTF сфотографировал объект специально — изображения нет в индексе. Тут только визуальный анализ.
  • Сильная обработка. Фильтры, цветокоррекция, наложение текста и водяных знаков снижают точность матчинга.
  • AI-генерация. Сгенерированные изображения не имеют оригинала в интернете по определению.
  • Закрытые базы. Контент из приватных групп и корпоративных порталов не индексируется.

При неудаче reverse search возвращайтесь к визуальному анализу — геолокация по подсказкам в таком случае становится основным методом.

Полный воркфлоу: от файла до флага

Разрозненные техники работают хуже выстроенной последовательности. Воркфлоу ниже покрывает большинство OSINT-заданий с изображениями и минимизирует потерю времени на тупиковые ветки.

Шаг 1 — Метаданные. Запускаете exiftool challenge.jpg и strings challenge.jpg. Проверяете GPS, текстовые поля, комментарии, авторство. Извлекаете thumbnail. Проверяете реальный формат файла через file. Если флаг найден — задание решено. Если есть GPS — переходите к шагу 4. Если EXIF пуст — шаг 2.

Шаг 2 — Reverse image search. Загружаете изображение в Google Lens, Yandex Images, TinEye, Bing. Проверяете полное изображение, затем ключевые фрагменты (кадрирование, зеркалирование). Если нашёлся оригинал — изучаете контекст: подписи, комментарии, геотеги на платформе. Флаг может быть в описании поста. Если совпадений нет — шаг 3.

Шаг 3 — Визуальный анализ. Изучаете содержимое фото: текст, знаки, язык, архитектуру, ландшафт, транспорт, тени. Формулируете гипотезу о регионе → стране → городе → районе.

Шаг 4 — Верификация на картах. Проверяете гипотезу (или координаты из EXIF) через Google Earth, Street View, Yandex Panorama. Уточняете точку. Сравниваете ракурс фото с панорамой — угол обзора, высота съёмки и видимые объекты должны совпадать.

Шаг 5 — Расширение контекста. Если задание требует не координаты, а другую информацию — используете найденные данные как отправную точку. Имя автора из EXIF → поиск в соцсетях через T1593.001 (Social Media). Координаты → адрес → владелец здания. Логотип → компания → сотрудники.

Шаг 6 — Сборка флага. Собираете найденные данные в требуемый формат. Обращайте внимание на детали: координаты могут быть нужны с точностью до секунд или в десятичном формате, названия — на языке оригинала или транслитом.

Этот воркфлоу — дерево решений, не линейная последовательность. Если шаг 1 дал GPS — пропускаете 2 и 3. Если reverse search нашёл оригинал — визуальный анализ не нужен. Скорость на CTF определяется тем, насколько быстро ты понимаешь, какой шаг пропустить.

Типичные ловушки авторов заданий

Авторы CTF знают стандартный воркфлоу и ставят ловушки. Вот на чём горят чаще всего:

Ложные метаданные. GPS ведёт в океан или на полюс. Всегда проверяйте координаты на карте — если точка посреди Тихого океана, данные подложные.

Стеганография в EXIF. Флаг закодирован в нестандартных полях. Длинная base64-строка в UserComment или hex-последовательность в MakerNote — пробуйте декодировать. echo "base64_string" | base64 -d — дело десяти секунд.

Многослойные задания. Первый результат — не ответ, а подсказка. Координаты ведут к зданию → на фасаде QR-код → QR ведёт к URL → на странице флаг. Если ответ нашёлся слишком легко — подумай, не промежуточный ли это шаг.

Обрезанные подсказки. Ключевая информация (номер дома, название улицы) намеренно обрезана на краю кадра. Ищите вторичные подсказки: отражения в стёклах, тени от объектов за кадром, частично видимые надписи.

Подменённый thumbnail. Изображение выглядит как чистое фото, но внутри EXIF лежит старая превьюшка от другого файла с координатами или текстом. Срабатывает в обе стороны — thumbnail может быть как подсказкой, так и ложным следом.

Инструменты OSINT для CTF: сводная таблица

Для поиска флагов CTF через анализ изображений нужен минимальный набор инструментов и сервисов. Все бесплатны:

Инструмент Тип Применение Ограничения
exiftool CLI, локальный Извлечение EXIF, GPS, текстовых полей Бесполезен при очищенных метаданных
strings CLI, локальный Поиск текста в бинарных файлах Даёт мусор на выходе, нужна ручная фильтрация
file CLI, локальный Определение реального формата файла Не покрывает все экзотические форматы
Google Lens Веб Reverse image search, определение объектов Слабее Yandex по лицам и СНГ-контенту
Yandex Images Веб Reverse search, поиск лиц Хуже индексирует англоязычный контент
TinEye Веб Точные совпадения, хронология публикаций Малая база по сравнению с Google/Yandex
Google Earth Pro Десктоп/Веб 3D-осмотр, исторические снимки Для полного функционала нужна установка
SunCalc Веб Расчёт положения солнца Нужна дата и хотя бы примерное время съёмки

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

Для работы со всем перечисленным достаточно: любая ОС (Linux предпочтительнее), установленный exiftool, браузер и интернет. Никакого GPU или выделенного железа не нужно.


Большинство участников CTF подходят к OSINT-заданиям как к головоломке — «покрутить картинку и найти ответ». Навык, который реально тренируется на этих задачах, — не использование exiftool или Google Lens. Это умение выстраивать цепочку: отправная точка → гипотеза → верификация → следующий шаг. Последовательность, которая в MITRE ATT&CK описана как Reconnaissance и которую реальные атакующие применяют до того, как напишут первый эксплойт.

Я наблюдаю одну и ту же картину на турнирах: команды, которые решают OSINT быстрее остальных, не знают больше инструментов. Они быстрее отбрасывают тупиковые направления. За пять секунд оценивают: «метаданные пусты, reverse search не дал результата — значит, ответ в визуальных подсказках» — и переключаются. Команды, которые буксуют, продолжают грузить одну и ту же фотографию в десятый сервис, надеясь на чудо. Скорость отсечения ложных гипотез важнее знания сервисов.

Этот навык не прокачивается чтением — только нарешиванием на разнородных задачах. GeoGuessr даёт хорошую базу для геолокации, но CTF-формат добавляет два измерения: работу с файлами (метаданные, стеганография) и необходимость связывать находки в цепочку из нескольких шагов. Нарешивайте от тривиальных «найди GPS в EXIF» до многослойных расследований — со временем мозг начинает автоматически ранжировать гипотезы, и то, что раньше занимало час, укладывается в минуты. OSINT в CTF — только фаза разведки; если хочешь не ограничиваться writeup'ами, а пройти полную цепочку от рекона до эксплуатации с лабами на каждый этап — на WAPT это разбирается модуль за модулем.

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

Поделиться

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

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

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