
На прошлогоднем CTF таск дал единственную зацепку — username cipher_fox42. За 40 минут, не отправив ни одного пакета к целевому серверу, я собрал email, город проживания, три профиля в соцсетях и вытащил флаг из метаданных фотографии на забытом аккаунте Flickr. Вся работа уложилась в пассивную разведку: Sherlock, пара Google-дорков, проверка email через Have I Been Pwned и обратный поиск по аватарке. Ни одного активного сканирования — чистый OSINT.
Эта статья — разбор того же процесса, но с разбивкой по трём входным точкам: username, email и домен. С конкретными командами, типичными граблями новичков и полным воркфлоу для CTF-таска.
Разведка на основе открытых источников (OSINT) строится на простом цикле: постановка задачи → сбор данных → обработка → анализ → фиксация результатов. Русскоязычные гайды подробно описывают этот цикл, но обычно застревают на теории и не доходят до конкретных команд. Дальше будет наоборот — минимум теории, максимум практики. Подробнее — в нашем обзоре osint для специалиста по информационной безопасности.
В классификации MITRE ATT&CK пассивная разведка относится к тактике Reconnaissance. Три группы техник покрывают почти всё, что делается в OSINT на CTF:
Зачем это знать для CTF? Многие организаторы строят таски по ATT&CK-матрице, и понимание техник помогает предсказать, где спрятан флаг. А в write-up'ах ссылка на конкретную технику ATT&CK показывает, что ты понимаешь контекст, а не просто потыкал в инструменты.
Теперь — к конкретным входным точкам. Порядок разбора совпадает с тем, как задачи обычно устроены на CTF: username → email → домен. В реальной разведке порядок может быть любым — зависит от того, какая зацепка дана первой.
Username — самая частая стартовая точка в CTF-тасках категории OSINT. Организаторы дают ник, задача — раскопать флаг где-то в цифровом следе «персонажа». Принцип работы базируется на одном поведенческом паттерне: люди переиспользуют username. Если человек зарегистрировался как h4ck3r_m1ke на GitHub, с высокой вероятностью тот же ник встретится на Reddit, Steam, Telegram и ещё десятке платформ.
Sherlock — стандартный инструмент для перебора username по 400+ сайтам. Ставится в пару команд, работает из терминала.
git clone https://github.com/sherlock-project/sherlock.git
cd sherlock
pip install -r requirements.txt
python3 sherlock_project/sherlock.py cipher_fox42
# Или: pip install . && sherlock cipher_fox42
На выходе — список платформ, где обнаружен аккаунт с этим ником, с прямыми ссылками на профили. Типичный результат для активного пользователя — 15-30 совпадений.
Нюанс, на котором спотыкаются новички: Sherlock проверяет наличие страницы по HTTP-статусу. Некоторые сайты отдают 200 OK даже для несуществующих профилей — это ложные срабатывания (false positives). Каждую найденную ссылку нужно открыть руками и убедиться, что профиль реальный, а не заглушка с текстом «пользователь не найден». Я на этом терял время не раз — Sherlock радостно показывает 30 хитов, а реальных из них штук 12.
Sherlock покрывает не всё. Maigret — форк Sherlock с расширенной базой (более 2500 сайтов) и дополнительной аналитикой. Умеет вытаскивать из найденных профилей аватарку, привязанные ссылки и другие доступные поля (конкретный набор зависит от платформы). Запуск: maigret cipher_fox42 --all-sites. Флаг --all-sites включает проверку по полной базе, но время работы растёт до нескольких минут. Без прокси или задержек (--timeout) часть сайтов вернёт rate-limit ошибки или false negative — результат будет неполным.
WhatsMyName работает по другому принципу — это веб-сервис и JSON-база данных, которую поддерживает OSINT-сообщество. База регулярно обновляется, и WhatsMyName часто первым добавляет поддержку нишевых платформ, до которых Sherlock ещё не добрался.
На CTF рабочая стратегия: Sherlock первым (он быстрее), затем Maigret на те ники, где нужна глубина. WhatsMyName — когда первые два не дали нужную зацепку и есть подозрение, что профиль живёт на какой-нибудь нишевой платформе вроде Keybase или Mastodon-инстанса.
По данным ShadowDragon, техника «Screen name reconnaissance» — поиск аккаунтов с одинаковым ником на разных платформах — входит в базовый набор профильного анализа наряду с анализом метаданных профиля и просмотром архивных постов.
Ошибка 1: остановиться на списке. Сам по себе список найденных аккаунтов бесполезен. Ценность — в данных внутри профилей: био, аватарки, посты, подписки, даты активности. На CTF флаг может валяться в описании профиля на забытом сайте, в метаданных аватарки или в единственном посте двухлетней давности.
Ошибка 2: игнорировать вариации ника. Если дан username cipher_fox42, проверяй cipherfox42, cipher.fox.42, cipher_fox, cipherfox. Люди модифицируют ники под требования платформ: где-то запрещены подчёркивания, где-то ограничена длина, где-то обязательна цифра.
Ошибка 3: не документировать находки. Через 20 открытых вкладок ты забудешь, где видел подсказку. Заведи файл в CherryTree, Obsidian или хотя бы в блокноте. Записывай каждый найденный профиль: URL, что нашёл, что проверить дальше. На CTF-турнирах с таймером это спасает минуты.
Email — вторая по частоте входная точка в CTF-тасках и основной идентификатор в bug bounty. Один email-адрес может вывести на утечки паролей, привязанные соцсети, домен организации и даже физическое местоположение владельца.
Масштаб проблемы: по данным IBM X-Force Threat Intelligence Index 2025, ежедневно в даркнете появляется более 6000 свежих наборов учётных данных. Согласно CrowdStrike Global Threat Report 2025, 75% вторжений в 2024 году использовали действительные учётные данные. Verizon DBIR 2025 фиксирует: 38% утечек данных связаны с кражей credentials. Email + пароль из утечки — рабочий вектор атаки, а не теоретическая угроза.
Have I Been Pwned (HIBP) — первый сервис, куда отправляется найденный email. Он агрегирует данные из публично известных утечек и показывает, в каких инцидентах email был скомпрометирован.
Масштаб утечек в базе HIBP: Facebook — 509 миллионов записей (2019, утекли телефоны, имена, даты рождения, геолокация, места работы), LinkedIn — 164 миллиона (2012, email и хеши паролей), Twitter — 6,7 миллиона (2022, имена, email, номера телефонов, био, геолокация), Instagram — 6,2 миллиона (2026, email, usernames, телефоны, геолокация), Duolingo — 2,7 миллиона (2023, email, usernames, изучаемые языки).
Для CTF это практическая информация. Если email фигурирует в утечке LinkedIn — у владельца есть профессиональный профиль с указанием места работы. Утечка Facebook — реальное имя и город. Утечка Duolingo — username на платформе и изучаемые языки, что может дать подсказку к геолокации (изучает финский → вероятно, связан с Финляндией или собирается туда переезжать).
Проверка делается через веб-интерфейс: вводишь email, получаешь список утечек с описанием типов скомпрометированных данных. Для автоматизации есть API, но для CTF ручной проверки хватает.
Holehe — Python-инструмент, который проверяет, зарегистрирован ли email на конкретных платформах. Принцип хитрый: Holehe отправляет запрос на восстановление пароля и анализирует ответ сервера. Если сервер отвечает «инструкции отправлены» — аккаунт существует. Если «email не найден» — аккаунта нет.
По данным OSINT Industries, аналогичный подход применяется для верификации email на Facebook, Twitter и Instagram — функция «Forgot Password» подтверждает существование аккаунта и иногда показывает частичную информацию: фрагмент привязанного номера телефона или username.
Запуск: holehe target@example.com. На выходе — таблица сервисов с отметками «зарегистрирован» или «не найден». Но тут подвох: на 2025 год многие ключевые модули Holehe (Google, Microsoft, Amazon, Instagram) де-факто сломаны из-за антибот-защиты и CAPTCHA — реальное покрытие значительно меньше заявленного списка. Перед использованием на CTF с таймером загляни в открытые issues и PR в репозитории, чтобы понять, какие модули реально работают. Вместо ручной проверки 50 сайтов ты получаешь конкретный список из 5-10 платформ, где аккаунт точно есть. Дальше каждый из них проверяется вручную — ищем био, посты, аватарки, связанные данные.
Google Dorks для поиска информации о цели по email — мощный и недооценённый инструмент. По классификации MITRE ATT&CK это Search Engines (T1593.002). Несколько рабочих операторов:
"target@example.com" — точное совпадение email в кавычках, покажет форумы, комментарии, публичные документы"target@example.com" site:github.com — поиск email в репозиториях GitHub. Разработчики часто оставляют email в коммитах и конфигах"target@example.com" filetype:pdf — поиск в публичных PDF: резюме, научные статьи, корпоративные отчёты"@example.com" site:pastebin.com "password" | "credentials" — поиск утечек email с конкретного домена в PastebinНа CTF Google Dorks регулярно дают решающую зацепку. Типичная ситуация: email из задания находится в публичном коммите на GitHub, где в файле .env лежит флаг, замаскированный под «тестовый API-ключ». Или email упоминается в комментарии на форуме рядом с другим ником, который ведёт на профиль с флагом в био.
Ещё одна техника: анализ заголовков email (email headers). Если в таске дан файл письма (.eml), заголовки содержат IP-адрес отправителя, используемый почтовый сервер и маршрут письма через серверы. Команда grep -i "Received:" email.eml извлечёт цепочку серверов, а обратный DNS-запрос по IP поможет определить географию отправителя.
Правовой контекст. При работе с email помни о ФЗ-152: согласно ст. 7, операторы и третьи лица не вправе раскрывать персональные данные без согласия субъекта. В CTF ты работаешь с вымышленными персонажами — это легально. В bug bounty — только с данными, явно указанными в scope программы. Сбор цифровых следов реальных людей без их согласия и публикация результатов — это уже не OSINT, а нарушение закона.
Третья входная точка — доменное имя. В CTF это может быть домен «компании», от имени которой составлен таск. В bug bounty — основной домен из scope. Пассивная разведка домена отличается от активного сканирования тем, что не отправляет трафик к целевому серверу напрямую, а использует публичные базы данных, кеши и логи Certificate Transparency.
В терминах MITRE ATT&CK это Gather Victim Network Information: Domain Properties (T1590.001).
Команда whois example.com в терминале — первый шаг анализа доменного имени. WHOIS-запрос показывает регистратора, даты создания и продления, а иногда — имя, email и телефон владельца (если не включена Privacy Protection). На что смотреть:
Registrant email — может совпасть с email из предыдущего этапа разведки, подтверждая связь между доменом и целью. Это перекрёстная проверка, и на CTF она часто оказывается ключом к решению.
Name servers — указывают на хостинг-провайдера. NS-записи вида ns1.cloudflare.com означают, что реальный IP скрыт за Cloudflare, и нужны другие методы для его определения.
Creation date — недавно зарегистрированный домен может указывать на фишинговую кампанию или тестовый стенд CTF-организаторов.
Registrar — некоторые регистраторы популярны в определённых регионах, что подсказывает геолокацию.
Для исторических данных WHOIS используй сервисы вроде DomainTools или Whoxy. Они хранят архивные записи. Бывает, владелец включил Privacy Protection недавно, а в архиве ещё видны реальные данные — имя и контактный email. Это как забыть стереть историю браузера: данные удалены «сейчас», но кеш помнит всё.
Поддомены — золотая жила для footprinting и reconnaissance. Организации забывают про тестовые поддомены: staging.example.com, dev.example.com, old.example.com. На них часто крутятся уязвимые сервисы, админки без аутентификации или устаревшие версии сайта.
crt.sh — публичная база данных SSL-сертификатов (Certificate Transparency logs). Каждый выпущенный SSL-сертификат попадает в базу вместе с доменными именами, для которых выдан. Запрос через браузер: https://crt.sh/?q=%25.example.com — покажет все поддомены, для которых когда-либо выпускался сертификат.
theHarvester автоматизирует сбор поддоменов и email одновременно:
theharvester -d example.com -b crtsh,dnsdumpster,rapiddns -l 200
Флаг -b задаёт источники данных, -l ограничивает количество результатов. theHarvester собирает не только поддомены, но и email-адреса, привязанные к домену — связывая этап разведки по домену с этапом разведки по email. Это ключевой момент: инструменты OSINT для начинающих кажутся изолированными, но на практике они формируют цепочку, где выход одного инструмента становится входом для следующего.
DNS-записи домена содержат массу данных, которые новички обычно пропускают. Команда dig example.com ANY покажет все типы записей.
MX-записи указывают на почтовый сервер. MX-запись 10 aspmx.l.google.com — компания использует Google Workspace. Собственный сервер mail.example.com — можно дальше копать инфраструктуру через обратный DNS.
TXT-записи содержат SPF, DKIM и DMARC-конфигурацию. SPF-запись перечисляет IP-адреса и серверы, с которых разрешена отправка почты от имени домена. По сути это карта email-инфраструктуры. Запрос: dig example.com TXT. Если в SPF указаны include:spf.protection.outlook.com — компания сидит на Microsoft 365.
CNAME-записи показывают алиасы. Запись blog.example.com CNAME example.wordpress.com — блог хостится на WordPress.com. Запись shop.example.com CNAME shops.myshopify.com — магазин на Shopify.
На CTF TXT-записи иногда используются организаторами как место для размещения флага или подсказки. Проверяй DNS первым делом — dig target-domain.com TXT занимает две секунды и может сэкономить час работы. Я однажды потратил 40 минут на обход кроличьих нор, а флаг тупо лежал в TXT-записи.
Соберём всё в единую последовательность. Условие таска: дан username ghost_rider_99, нужно найти флаг формата FLAG{...}.
Шаг 1: перебор username. Запускаем sherlock ghost_rider_99. Из 400+ сайтов получаем совпадения на GitHub, Reddit, Steam, Twitter и Pinterest. Открываем каждый профиль.
Шаг 2: анализ профилей. На GitHub у ghost_rider_99 один публичный репозиторий — форк калькулятора. В истории коммитов видим email: ghost.rider99@proton.me. На Reddit — пост годичной давности с фотографией. На Twitter — пустой аккаунт, но в био указан город.
Шаг 3: проверка email. Вводим ghost.rider99@proton.me в Have I Been Pwned — email фигурирует в утечке Duolingo (фактически — скрейпинг через открытый API). Из неё можно узнать имя, username на платформе и изучаемые языки, но прямых геоданных в ней нет. Запускаем holehe ghost.rider99@proton.me — email зарегистрирован на Gravatar, Spotify и Flickr.
Шаг 4: глубокое погружение. Gravatar показывает аватарку — ту же, что на GitHub. Flickr — три фотографии, одна с метаданными EXIF. Spotify — публичный плейлист с названием, содержащим часть флага.
Шаг 5: метаданные. Скачиваем фото с Flickr и извлекаем EXIF:
exiftool photo.jpg | grep -i "comment\|copyright\|gps"
В поле Comment или UserComment находим оставшуюся часть флага. GPS-координаты подтверждают геолокацию из профиля Twitter.
Шаг 6: Google Dorks. Запрос "ghost_rider_99" OR "ghost.rider99" находит комментарий на форуме со ссылкой на Pastebin. В Pastebin — ещё один фрагмент флага.
Шаг 7: сборка и фиксация. Собираем все части флага, документируем цепочку для write-up'а. Ни одного активного сканирования — вся работа через публичные источники.
Этот воркфлоу масштабируется. На bug bounty вместо флага ты ищешь забытые поддомены с тестовыми средами, email сотрудников для оценки периметра и утёкшие API-ключи в публичных репозиториях. Инструменты и логика те же — меняется цель.
Осваивать 50 утилит одновременно — путь к прокрастинации. Ниже — набор, который закрывает подавляющее большинство задач на CTF и первые шаги в bug bounty.
| Задача | Инструмент | Тип | Когда использовать |
|---|---|---|---|
| Поиск по username | Sherlock | CLI, Python | Первый шаг при наличии ника |
| Расширенный поиск username | Maigret | CLI, Python | Когда Sherlock не хватает |
| Проверка утечек email | Have I Been Pwned | Веб-сервис | Любой найденный email |
| Проверка регистраций email | Holehe | CLI, Python | После HIBP — поиск аккаунтов |
| Сбор поддоменов и email | theHarvester | CLI, Python | Разведка по домену |
| WHOIS-запрос | whois (встроен в Linux) | CLI | Первый шаг по домену |
| SSL-сертификаты | crt.sh | Веб-сервис | Поиск поддоменов |
| Метаданные файлов | ExifTool | CLI | Анализ скачанных фото и документов |
| Поисковые операторы | Google Search (Dorks) | Веб | На каждом этапе |
Все CLI-инструменты предустановлены в Kali Linux или ставятся через pip install. Для старта хватит виртуальной машины с Kali и браузера. Ставить Kali на основную систему не нужно — VirtualBox или VMware решают задачу с изоляцией.
OSINT Framework (osintframework.com) — структурированный каталог OSINT-инструментов по категориям: email, username, домены, геолокация, соцсети. Он не заменяет практику с конкретными инструментами, но помогает сориентироваться, когда задача нестандартная и непонятно, чем её решать. Сервисы меняют API, сайты закрывают публичные профили — набор рабочих инструментов обновляется каждые несколько месяцев, так что следи за актуальностью.
Самая распространённая проблема начинающих в OSINT — не нехватка инструментов, а неспособность вовремя остановиться и проанализировать собранное. Наблюдаю это раз за разом: человек запускает Sherlock, получает 30 ссылок, открывает каждую, собирает ещё 20 email-адресов через theHarvester, прогоняет их через HIBP — и через два часа сидит перед простынёй данных, не понимая, что с ней делать. Инструменты работают быстро, а голова за ними не успевает.
На CTF это стоит времени и баллов. В реальной работе — потеря фокуса и пропущенные зацепки. OSINT методология важнее скорости сбора: лучше потратить 10 минут на анализ пяти найденных профилей, чем 40 минут на прогон через все возможные базы. Перекрёстная проверка данных из разных источников (username привёл к email, email подтвердился в утечке, утечка дала геолокацию, геолокация совпала с профилем) — вот что отличает результат от хаотичного набора ссылок.
OSINT-навыки деградируют без регулярной практики. Сервисы меняют API, Google обновляет работу операторов, платформы закрывают публичные профили. То, что работало полгода назад, может не сработать сегодня. Единственный способ оставаться в форме — решать задачи: CTF-таски, учебные расследования, проверка собственного цифрового следа. Навык OSINT ценен не сам по себе, а как фундамент для всего остального в ИБ — от пентеста до Threat Intelligence. Если только начинаешь путь в информационную безопасность и хочешь разложить базу системно, а не блуждать между разрозненными гайдами — на IB Basics показывают, что делать в первый месяц после «хочу в ИБ».
🚀 Хочешь закрепить на практике? Реши задачи по теме на HackerLab — категория «pentest-machines».
0 комментариев
Пожалуйста, войдите, чтобы оставить комментарий.
Загрузка комментариев...