
На прошлогоднем CTF-турнире команда убила полтора часа на OSINT-задание с единственной фотографией заброшенной парковки — без ориентиров, без подписи, без контекста. Три участника из ТОП-10 решили этот таск за тридцать секунд: exiftool вытащил GPS-координаты прямо из EXIF, оставалось подставить их в Google Earth и забрать флаг. Разница между часом мучений и полуминутой — не в знании инструментов, а в порядке действий. Эта статья — пошаговый воркфлоу для трёх ключевых техник OSINT для CTF: анализ метаданных фото, геолокация по визуальным подсказкам и обратный поиск по изображениям. С конкретными командами и разбором ловушек, которые расставляют авторы заданий.
OSINT для начинающих часто выглядит как «погугли и найди». На деле каждое задание по разведке на открытых источниках моделирует конкретный этап рекогносцировки из матрицы MITRE ATT&CK: Подробнее — в нашем обзоре osint для специалиста по информационной безопасности.
Когда связываешь CTF-задачи с реальными техниками цифровой разведки, подход к решению меняется. Ты не просто «решаешь таск» — ты тренируешь навык, который реальные атакующие используют в первой фазе вторжения. По данным CrowdStrike Global Threat Report 2025, 75% вторжений в 2024 году начинались с использования действительных учётных данных, а их сбор в значительной части случаев стартовал именно с открытых источников. IBM X-Force фиксирует рост атак с использованием учётных данных на 71% год к году и оценивает приток свежих кредов в даркнет в 6 000 записей ежедневно.
В CTF-формате задания по OSINT обычно раскладываются на три категории:
| Тип задания | Что дано | Что нужно найти |
|---|---|---|
| Метаданные | Файл (фото, документ, аудио) | Флаг в EXIF, комментариях, скрытых полях |
| Геолокация | Фотография места | Координаты, адрес, название объекта |
| Поиск по изображению | Фрагмент фото, скриншот | Оригинальный источник, связанную информацию |
На практике задания часто комбинируют все три: извлекаешь метаданные, по координатам проверяешь место на карте, через reverse image search находишь оригинальный пост с флагом. Линейность — иллюзия; реальный процесс — дерево решений.
Метаданные — первое, что нужно проверить в любом 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:
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 окажется необрезанная версия с флагом или с дополнительными визуальными маркерами для геолокации.
Анализ метаданных фото — не серебряная пуля. Понимание ограничений экономит время на переход к следующей технике:
Социальные сети стрипают EXIF. Facebook, Twitter/X, Telegram при загрузке удаляют GPS-координаты и большинство метаданных. Если в условии задания указано, что фото скачано из соцсети — EXIF скорее всего пуст. Не тратьте время.
Скриншоты не содержат EXIF оригинала. Скриншот — новое изображение, созданное ОС. У него свои метаданные (модель устройства, время создания), но не данные оригинальной фотографии.
PNG беднее JPEG. Формат PNG не поддерживает стандартный EXIF-контейнер, хотя может содержать tEXt-чанки с произвольными данными. Если задание выдало PNG — ищите информацию в strings или в текстовых чанках через exiftool -v2.
Намеренная модификация. Авторы продвинутых тасков вписывают ложные координаты или прячут флаг в стеганографии EXIF-полей — данные выглядят как валидный EXIF, но содержат закодированное сообщение. Подозрительные base64-строки или hex-последовательности в поле MakerNote — сигнал к декодированию.
Если EXIF пуст или содержит только системные поля — переходите к визуальному анализу и геолокации.
Геолокация CTF заданий — самый творческий тип задач. У тебя есть изображение, и нужно определить, где оно сделано. GPS в метаданных нет (иначе задание слишком простое). Работают только глаза и системный подход к визуальным маркерам. По сути — детективная работа, только вместо отпечатков пальцев ты ищешь шрифт на дорожном знаке.
Методика базируется на последовательном анализе визуальных элементов. По данным ctf.support, ключевые категории: архитектура, ландшафт, язык на знаках, типы транспорта, направление теней и дорожная разметка.
Надписи и язык. Первое, на что обращаете внимание — любой текст. Вывеска магазина, номер дома, дорожный знак, даже граффити. Если текст нечитаем, сам алфавит уже сужает географию: кириллица (Россия, Украина, Болгария, Сербия — дальше различаете по специфике букв), арабская вязь, деванагари, тайское письмо. Конкретный язык сужает до страны или группы стран.
Дорожные знаки и разметка. Форма знаков, цвет фона, стиль указателей различаются по странам. Ромбовидные жёлтые знаки — Северная Америка. Красная окантовка на круглом белом фоне — Европа и СНГ. Синий фон указателей — Скандинавия, Франция. Двойная жёлтая осевая разметка — США, Канада. Белая штриховая — Европа.
Транспорт и номерные знаки. Формат номеров — один из сильнейших индикаторов. Длинные белые с синей полосой слева — Евросоюз. Короткие белые с триколором — Россия. Жёлтые задние номера — Великобритания, Нидерланды. Тип транспорта тоже помогает: тук-туки сужают до Юго-Восточной Азии, маршрутки ПАЗ — до России (и тут ошибиться невозможно).
Ландшафт и растительность. Красная латеритная почва — тропики. Берёзовые рощи — умеренный пояс Евразии. Эвкалипты — Австралия. Рельеф (горы, равнины, побережье) сужает регион ещё сильнее, особенно в сочетании с другими маркерами.
Тени и положение солнца. Направление и длина теней позволяют определить полушарие и приблизительную широту. Тень указывает на север — северное полушарие. На юг — южное. Сервис SunCalc (suncalc.org) рассчитывает положение солнца для любой точки на карте в заданное время — полезно, когда из метаданных известна дата и время съёмки.
Архитектура. Фахверковые дома — Германия, Эльзас. Панельные пятиэтажки — постсоветское пространство. Деревянные дома на сваях с верандами — Юго-Восточная Азия. Плоские крыши с характерной белой штукатуркой — Средиземноморье.
После сбора визуальных подсказок верифицируете гипотезу через инструменты и сервисы:
| Инструмент | Применение | Когда эффективен |
|---|---|---|
| Google Earth Pro | 3D-осмотр, исторические снимки | Есть примерный регион, нужна точная точка |
| Google Street View | Сравнение панорам на уровне улицы | Видны характерные здания или перекрёстки |
| Yandex Panorama | Панорамы СНГ, Турция, частично Европа | Постсоветское пространство — покрытие лучше Google |
| SunCalc | Расчёт положения солнца | На фото видны тени, известно время съёмки |
| Overpass Turbo | Запросы к OpenStreetMap | Нужно найти все объекты типа X в радиусе Y |
Воркфлоу геолокации: определяете регион по языку и знакам, сужаете до города по архитектуре и ландшафту, находите конкретную точку через Street View или спутниковые снимки. Пример: на фото дорожный знак с текстом на грузинском (мхедрули), горы на заднем плане, характерные балконы тбилисской застройки. Регион — Грузия, Тбилиси. Дальше по уникальному зданию находите точку через Google Street View, проверяете совпадение ракурса и забираете координаты.
В таких случаях переходите к третьей технике — обратному поиску по изображениям.
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 и наоборот. Иногда алгоритм поисковика по-разному обрабатывает форматы.
При неудаче 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 может быть как подсказкой, так и ложным следом.
Для поиска флагов 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 комментариев
Пожалуйста, войдите, чтобы оставить комментарий.
Загрузка комментариев...