
Три артефакта — фотография, никнейм и PDF-документ. Типичный OSINT-таск на CTF формата Jeopardy, и именно на нём большинство новичков зависает. Не из-за сложности — из-за отсутствия системы: непонятно, за что хвататься первым, какой инструмент запускать и как связать разрозненные находки в цепочку до флага.
За два года работы с OSINT-категориями на CTF-площадках — от учебных комнат на TryHackMe до живых соревнований — я выработал последовательность, которая закрывает подавляющее большинство типовых заданий. Здесь — именно она: конкретные команды, инструменты и логика решения от получения артефакта до ввода флага.
OSINT-задания проверяют навыки пассивной разведки — сбора информации из открытых источников без прямого взаимодействия с целью. В терминологии MITRE ATT&CK это фаза Reconnaissance: техники T1593 (Search Open Websites/Domains), T1589 (Gather Victim Identity Information) и T1596 (Search Open Technical Databases). В реальных пентестах OSINT идёт первым этапом kill chain — до сканирования портов и эксплуатации. В CTF задания обычно изолированы: организаторы дают набор артефактов и просят найти конкретный факт. Но подход тот же — последовательное извлечение данных из каждого артефакта и их сопоставление.
Типичные категории OSINT-заданий в CTF:
Каждая категория требует своего инструмента и своей логики. Ниже — подробный разбор трёх основных направлений: поиск по нику, работа с изображениями и анализ метаданных.
Перед запуском любого инструмента — прочитай условие задания дважды. На практике именно невнимательность к формулировке стоит часов потерянного времени. В условии почти всегда спрятана подсказка: ключевое слово, формат флага, намёк на конкретную платформу.
Алгоритм первого подхода к OSINT-таску:
flag{...}, CTF{...})| Тип артефакта | Первый инструмент | Что ищем |
|---|---|---|
| Никнейм | Sherlock / Maigret | Список платформ с этим ником |
| Фотография | ExifTool, затем обратный поиск | Метаданные, затем оригинал и место |
| PDF / DOCX | ExifTool / FOCA | Автор, дата, софт, скрытые поля |
| Домен / URL | WHOIS + Wayback Machine | Владелец, история изменений |
| Have I Been Pwned / Hunter.io | Связанные аккаунты, утечки |
Это не серебряная пуля — задания бывают нестандартными. Но как стартовая точка таблица работает в подавляющем большинстве случаев.
Задание даёт никнейм. Цель — найти профили пользователя на разных платформах и вытащить из них нужную информацию. В MITRE ATT&CK это техника T1589 (Gather Victim Identity Information) с подтехниками T1589.002 (Email Addresses) и T1589.003 (Employee Names).
Установка Sherlock и базовый запуск:
# Установка через pip (рекомендуемый способ)
pip install sherlock-project
# Или через репозиторий (последний коммит — 2025)
git clone https://github.com/sherlock-project/sherlock.git
cd sherlock && pip install -r requirements.txt
# Запуск поиска по нику
sherlock targetusername --print-found
Флаг --print-found выводит только сайты с подтверждённым наличием аккаунта, отсекая шум.
Три основных инструмента для поиска по нику. Выбор зависит от задачи:
| Инструмент | База сайтов | Плюсы | Ограничения | Когда использовать |
|---|---|---|---|---|
| Sherlock | 400+ | Быстрый, активно поддерживается (2025), минимум зависимостей | Выдаёт false positives на сайтах с открытой регистрацией, не парсит содержимое профиля | Первый проход — быстро получить список платформ |
| Maigret | 3000+ | Парсит данные профиля (имя, био, аватар), огромная база | Работает медленнее, тяжелее по ресурсам, иногда требует ручной верификации | Когда нужны детали профилей, а не только факт наличия |
| WhatsMyName | 500+ | Веб-интерфейс (whatsmyname.app), не требует установки | Меньше сайтов, нет CLI для автоматизации | Быстрая проверка без терминала, перекрёстная верификация |
На практике я запускаю Sherlock первым — результат за 1-2 минуты. Если нужно копнуть глубже — Maigret. WhatsMyName использую для перекрёстной проверки, когда Sherlock показывает сомнительный результат на малоизвестном сайте.
Sherlock выдал 15 ссылок — что дальше? Открываем каждую и ищем зацепки:
В CTF-заданиях флаг нередко спрятан в одном конкретном профиле: в био на GitHub, в описании канала на YouTube, в старом посте. Задача — найти именно тот профиль из всего списка.
Типичная ошибка новичков — остановиться на первом найденном аккаунте. Один совпавший ник — это гипотеза, не факт. Подтверждение — одинаковый аватар, пересекающиеся данные (имя, город, email) на нескольких платформах.
Масштаб цифрового следа хорошо иллюстрируют утечки: по данным Have I Been Pwned, утечка LinkedIn затронула 164 миллиона аккаунтов, Twitter — почти 7 миллионов, Instagram — более 6 миллионов. Каждая такая утечка содержит email-адреса, никнеймы, геолокации. В учебных CTF этот контекст напрямую не используется, но понимание масштаба объясняет, почему поиск по нику вообще работает — люди переиспользуют одни и те же ники на десятках платформ.
Задание содержит изображение. Первое действие — не загружать его в Google Images, а проверить метаданные через ExifTool (об этом — в следующем разделе). Второе — обратный поиск по изображению.
Три движка индексируют разные массивы данных. Использовать только один — терять информацию.
| Движок | Сильная сторона | Ограничения | URL |
|---|---|---|---|
| Google Images | Самая большая база, находит визуально похожие изображения | Плохо работает с кадрированными или отзеркаленными фото | images.google.com |
| Yandex Images | Лучший движок для поиска по лицам и контенту из СНГ-сегмента | Меньше западных источников | yandex.ru/images |
| TinEye | Показывает точные совпадения и хронологию появления изображения в интернете | Не ищет по визуальному сходству, только по точным копиям и их модификациям | tineye.com |
Google не дал результата? Пробуйте Yandex. Авторы CTF-заданий иногда намеренно используют изображения, которые находятся только через один конкретный сервис. По разборам OSINT-заданий NahamCon CTF (InfoSec Write-ups), последовательная проверка через все три движка — не рекомендация, а обязательная часть методики.
Установка не нужна — все три сервиса работают через браузер. Загружаете изображение на каждый сервис и ищете: оригинал фотографии в большем разрешении, страницу первого появления в интернете, связанные изображения с дополнительными зацепками.
Задание просит определить место съёмки, а GPS-координат в метаданных нет — работаем глазами. Методика, описанная Bellingcat и отточенная тренировками на GeoGuessr:
После определения примерного региона — переходим в Google Maps или Yandex Maps со Street View для верификации.
GeoGuessr (geoguessr.com) — полноценный тренажёр, а не игрушка. Месяц регулярных игр — и начинаешь определять страну по типу дорожного покрытия и цвету отбойников. Для OSINT-заданий в CTF это инвестиция, которая окупается быстро.
Метаданные — служебная информация внутри файла: кто создал, когда, каким софтом. Для фотографий — нередко GPS-координаты. Люди публикуют файлы, не подозревая, что внутри зашита информация, которую они не планировали раскрывать.
В CTF-заданиях метаданные — частый источник флага или ключ к следующему шагу. На r/securityCTF регулярно всплывает наблюдение: подозрительно большой размер файла (например, PNG на 343 МБ) — сигнал проверить не только метаданные, но и спрятанные данные через strings или стеганографические инструменты.
ExifTool — универсальный инструмент для чтения и записи метаданных файлов любых форматов. Автор — Phil Harvey, проект активно поддерживается (регулярные релизы, репозиторий на GitHub).
Требования к окружению:
- ОС: Linux, macOS, Windows
- Установка на Kali/Debian: sudo apt install libimage-exiftool-perl
- macOS: brew install exiftool
- Сеть: не требуется — работает полностью офлайн
- RAM: минимальные требования (менее 100 МБ)
Базовая команда — exiftool filename.jpg. Выведет все доступные метаданные. Пример вывода (демонстрация концепции, не реальный CTF-таск):
ExifTool Version Number : 12.76
File Name : photo.jpg
GPS Position : 55.7558 N, 37.6173 E
Artist : JohnDoe_1987
Camera Model Name : Canon EOS 5D Mark IV
Software : Adobe Photoshop CC 2023
Create Date : 2024:03:15 14:22:07
User Comment : flag{m3tadata_is_ev3rywhere}
На что смотреть в выводе:
Для PDF-документов ExifTool извлекает автора, название организации, используемый редактор. Для DOCX — имя пользователя системы, внутренние ревизии, общее время редактирования.
Если ExifTool не показал ничего полезного — следующий шаг: strings filename.jpg | grep -i flag или strings filename.jpg | grep -i "http". Команда strings вытаскивает все текстовые строки из бинарного файла. Иногда флаг спрятан не в стандартных метаданных, а прямо в теле файла. Как указывает справочник ctf.support: «Before uploading, always check the image locally with exiftool or strings — flags and coordinates are often left in metadata».
Онлайн-альтернатива для быстрой проверки без установки — Jeffrey's Exif Viewer (exif.regex.info). Загружаем файл и получаем визуальное представление метаданных. Удобно, когда нет доступа к терминалу, но проигрывает ExifTool по полноте вывода.
Покажу, как три техники объединяются в цепочку. Сценарий обобщён из нескольких учебных CTF-тасков — не конкретное задание, а демонстрация методики.
Условие: Дан никнейм phantom_coder_42 и JPEG-фотография. Найти email автора.
Шаг 1 — Поиск по нику. Запускаем sherlock phantom_coder_42 --print-found. Получаем список платформ: GitHub, Reddit, Twitter, Steam, Keybase. Открываем каждый профиль.
Шаг 2 — Анализ профилей. На GitHub находим репозиторий с коммитами. В истории коммитов Git хранит email автора — стандартное поведение Git, и новички про это забывают. В серии Keeber на NahamCon CTF (разбор на InfoSec Write-ups) именно коммиты стали источником ключевых данных: один содержал API-токен, другой — файл с паролями. Проверяем Wayback Machine (web.archive.org) — возможно, страница профиля менялась и старая версия содержит удалённую информацию.
Шаг 3 — Работа с фотографией. Запускаем exiftool photo.jpg. Находим GPS-координаты и имя автора в поле Artist. Координаты вставляем в Google Maps — получаем город. Имя из метаданных сопоставляем с данными из профилей.
Шаг 4 — Обратный поиск. Загружаем фото в Yandex Images и TinEye. TinEye показывает, что фото впервые появилось на личном блоге. На блоге в контактах — email.
Шаг 5 — Сборка. Email с блога + ник + город из метаданных = подтверждённый ответ. Вводим email как флаг.
Вся цепочка у подготовленного участника занимает 15-30 минут. Ключ — не пропускать шаги и фиксировать каждую находку.
Когда стандартные инструменты не дали результата, Google Dorks открывают доступ к данным за пределами обычной выдачи. Базовые операторы для OSINT в CTF:
site:github.com "phantom_coder_42" — поиск упоминаний ника на конкретной платформе"phantom_coder_42" filetype:pdf — документы, связанные с никомintitle:"phantom_coder_42" — страницы, где ник фигурирует в заголовкеcache:example.com/profile — кешированная версия удалённой страницыЭти операторы реализуют технику T1593.002 (Search Engines, Reconnaissance) в классификации MITRE ATT&CK и используются не только в CTF, но и в реальной разведке по открытым источникам.
Тема, которую большинство гайдов для начинающих обходит стороной. Каждый запрос, каждый просмотр профиля оставляет цифровой след:
Для учебных CTF-заданий это не критично — вы исследуете вымышленные объекты на изолированных платформах. Но привычки закладываются с самого начала. Если через полгода окажетесь в ситуации реальной разведки — переучиваться будет больно.
Базовые правила операционной безопасности при OSINT:
И главное: формулируйте задачу перед началом поиска. «Найти максимум информации» — это не задача, это хаос. «Установить email владельца ника X» — задача. Конкретная цель определяет набор инструментов, ограничивает объём работы и даёт критерий завершения.
Теория без практики в OSINT не работает. Проверенные ресурсы для отработки навыков:
Порядок прохождения для первого месяца: OhSINT на TryHackMe (день 1-2) → Sakura Room (день 3-5) → Google Dorking Room (день 6-7) → задачи Sofia Santos (неделя 2-3) → первый живой CTF с OSINT-категорией через CTFtime (неделя 4).
По одному заданию в день — через месяц категория OSINT перестанет вызывать ступор.
Разведка по-настоящему ощущается только когда сам прогоняешь цепочку от ника до флага — на бумаге это выглядит линейно, а в реальности на каждом шаге есть развилка. Готовый стенд с OSINT-заданиями на русском языке есть на HackerLab.pro — российская CTF-платформа с 12 категориями (web, OSINT, forensics, crypto и другие); нужна регистрация, после неё доступны таски всех уровней.
За два года работы с OSINT-тасками я пришёл к выводу, который не вписывается в красивые инструкции: подавляющее большинство заданий решается тремя инструментами — Sherlock, ExifTool и обратный поиск по картинке. Не десятью. Не двадцатью. Тремя.
Проблема новичков не в нехватке инструментов — в интернете собраны списки на сотни позиций, от Maltego до Recon-ng. Проблема в том, что люди тратят неделю на установку и настройку сложных фреймворков вместо того, чтобы за полчаса пройти OhSINT и понять базовую логику. Сложные инструменты нужны для сложных задач, но до сложных задач надо ещё дорасти.
Я вижу одну и ту же картину на каждом CTF: команда с Maltego Enterprise и кастомными трансформами проигрывает одиночке, который просто внимательно прочитал условие и запустил exiftool. Навык чтения данных важнее навыка запуска инструментов. Метаданные бесполезны, если не знаешь, что с ними делать. GPS-координаты бесполезны, если не можешь определить, что здание на фото — не там, куда указывают координаты (а в CTF так бывает — координаты подменяют специально). Обратный поиск бесполезен, если не проверяешь все три движка.
Начинайте с малого, решайте по одному заданию в день, фиксируйте каждый тупик и каждую ошибку. Через месяц OSINT-категория на CTF перестанет быть загадкой и станет источником стабильных очков. Если хочется не только читать, а пройти базу системно — на codeby.school курс IB Basics закрывает фундамент без академического тона.
🚀 Хочешь закрепить на практике? Реши задачи по теме на HackerLab — категория «pentest-machines».
0 комментариев
Пожалуйста, войдите, чтобы оставить комментарий.
Загрузка комментариев...