Статья OSINT-челлендж: deanonymization через соцсети и метаданные

Привет, читатель — Kotu на связи.

Наверняка, листая ленту, ты натыкался на «ещё одно хорошее расследование», где автор находил информацию на того или иного персонажа буквально из ничего. Иногда кажется, что для таких навыков нужно быть «тру хацкером со стажем работы на дистрибутивах Linux не в один год».
На деле же всё проще, да и блэчить нам тут не надо. Упремся лишь в одну абревиатуру — OSINT.
Конечно, чтобы стать специалистом в таком нелёгком, а иногда и весьма изматывающем деле, нужен опыт. Но его можно нарабатывать, решая различные CTF-задачи, затрагивающие не только OSINT, но и GEOINT.

Для решения медиум-тасков всегда достаточно пары-тройки инструментов в своём арсенале. В остальном — это сбор, хранение и сортировка полученной информации.
Сегодня мы займёмся поиском данных из открытых источников. Используя инструменты и ТГ ботов (бесплатных) уже проверенных годами и найдем флаг.

Для разминки хорошо заходят классические OSINT‑таски из CTF, где нужно по паре зацепок вроде фото, названия заведения или кусочка вывески выйти на конкретное место или объект. Разборы таких заданий показывают, как даже простой поиск аэропорта по деталям окружения постепенно превращается в выстроенную цепочку разведки, а не в «магическое озарение».

Неплохой тренажёр — разборы OSINT‑лабораторий на HackTheBox: там шаг за шагом видно, как из одной-двух исходных деталей выстраивается весь маршрут до флага. Такие упражнения учат не столько «знать кучу инструментов», сколько правильно формулировать гипотезы и последовательно отсеивать лишнее.

Для тех кто еще в танке:

OSINT - (Open source intelligence) или же разведка по открытым источникам. То есть сбор и анализ информации, полученной из разных общедоступных информационных каналов. По сути, такими источниками может быть что угодно: газеты и журналы, телевидение и радио, данные, публикуемые официальными организациями, научные исследования и доклады на конференциях и так далее.

В целом, OSINT — это очень мощная вещь. В этом вас убедят ребята с форумов 4chan: им порой хватает лишь фотографии флага на фоне открытого неба. Четко поставленная цель с этого форума будет достигнута, в этом мы уже не раз убеждались.
Да, это относится к GEOINT, но без первоначальной разведки профиля или информации о передвижениях Шайа Лабафа они, возможно, не получили бы начального вектора. Тогда дело пошло бы медленнее или вовсе ничем интересным не закончилось бы.

Если немного затрагивать GEOINT (геопространственная разведка) - это процесс использования и анализа изображений, геопространственной информации для описания, оценки и визуального отображения физических особенностей и установления географической привязки деятельности на Земле.

В общем и целом способов пробива существует большое множество; большая часть из них заканчивается на INT (сокращённо — intelligence), или, переводя на русский, — разведка. Именно оттуда собственно всё это и пришло.

Обычно все методы разведки совмещают под одной аббревиатурой — OSINT. Поэтому не удивляйся, если после прочтения этой статьи пойдёшь решать задание, а вас встретит фото пляжа вместо фото человека.

OSINT деанонимизация через соцсети поиск по фотографии метаданные


Всё, вокруг чего построен OSINT, — это данные. Обычно их делят на активные и пассивные.
Активные — это всё, что человек публикует сам: фото, посты, личная информация, геотеги.
Пассивные — это IP, почта, паспортные данные, номер телефона и любые следы, которые остаются при регистрации на очередном сайте, даже если человек про них уже забыл.
Обычно такие данные не предназначены для того, чтобы их использовали вне сервиса. Но к сожалению зачастую их сливают недобросовестные сотрудник, или хакеры.

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

Инструменты

Что-же перейдем к инструментам, здесь я бы хотел отдельно сказать о ботах и инструментах которые мы сможем найти на гитхабе или уже установленных инструментах. В целях удобства разделю их на два типа:

Боты\Сайты

Боты в Telegram уже набрали огромную популярность. Тут всё просто: ими легче пользоваться, не нужно лезть в терминал, а многие до сих пор его откровенно боятся. (Проще кинуть пару монет боту и получить данные в аккуратном, красиво упакованном виде) отчасти это не наш способ. Тут важно понимать разницу: большинство таких ботов работают на своих теневых базах и не имеют отношения к OSINT. Это уже не открытые источники, а серые схемы, которые выходят за рамки закона. Тем не менее есть боты, которые действительно используют только открытые данные, и вот они как раз вписываются в OSINT. Однако в последнее время ботов (даже тех что не нарушали никаких политик) стали очень быстро закрывать. Некоторые решили по своей воле и исходя из собственной безопасности удалять своих ботов. Поэтому иногда возникают проблемы с их нахождением. Очень редко большая часть закрепляется в телеграмм. Чаще всего их ждёт участь удаления. Если вы откроете список популярных ботов, вы рабочими из них будет пара тройка ботов.

С сайтами дела обстоят проще и надёжнее. Их обычно не блокируют так массово, как ботов — чтобы закрыть сайт, нужны куда более серьёзные основания. Тут всё прозрачнее: сидишь в браузере, вводишь запрос, получаешь данные. Никаких скрытых баз, если, конечно, пользуешься проверенными открытыми источниками. Это уже чистый OSINT — вот это наш способ. На сайтах спокойно можно искать людей по лицу: загрузил фото, система пробивает по публичным данным, соцсетям, форумам. Можно дёргать разрозненную инфу и собирать её в одно досье — сканы старых форумов, упоминания в новостях, архивные версии страниц. Особенно мощно работают инструменты для поднятия архивов: смотришь, как сайт выглядел пять лет назад, какие данные тогда были открыты, кто что публиковал. Это часто даёт даже больше, чем свежий след. В общем всё супер открыто и ты лишь подбираешь информацию который сам человек и оставил
Однако и у сайтов есть свои минусы. Иногда для пользования приходится подключать ~~VPN~~ (виртуальные частные сети) — потому что многие такие площадки могут быть недоступны в определённых странах. Блокируют их по разным причинам: то законы о данных ужесточили, то доступ к открытым реестрам ограничили, то сам сервис сочли “нежелательным”. В этом плане боты в Telegram были универсальнее — открыл мессенджер, и всё под рукой, не нужно думать о геолокации.
Так что да, стабильность и прозрачность сайтов — это плюс, но иногда за неё приходится платить дополнительным шагом в виде обхода блокировок. Мелочь, но неприятная.

Софт

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

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

С другой стороны, есть софт с открытым исходным кодом, который валяется на GitHub. К нему доверия куда больше — теоретически можно заглянуть в код и понять, что программа делает, куда шлёт данные, какие права требует. Но и тут расслабляться не стоит: просто скачать и запустить — не всегда безопасно. Лучше потратить время, хотя бы поверхностно изучить код, почитать Issues, проверить, кто разработчик. Потому что даже в открытом репозитории может оказаться скрытый трекер или функция, которая отсылает больше, чем нужно.


От слов к действию

Перейдем от слов к действиям и воспользуемся парой инструментов для поиска нашей вымышленной цели. Воссоздадим типичную ситуацию с CTF. Из информации о цели у нас лишь фото.

target.webp


Допустим, вам пришло подозрительное предложение о работе или кто-то пытается выдать себя за другого. Быстрая проверка по фото и открытым данным помогает выявить несостыковки и избежать обмана.
Попробуем найти на нашу цель как можно больше информации используя открытых источники и инструменты которые на момент декабря 2025 года не заблокированы.

Первым делом я скачаю фото и проверю EXIF-данные. В них может быть: геолокация (координаты съемки), дата и время, модель камеры или телефона, а иногда даже имя производителя устройства или фрагмент софта, которым обрабатывался файл. Это золотая жила, если данные не стёрты. Проверить можно как через стандартные свойства файла на компьютере, так и через специальные онлайн-анализаторы вроде exifinfo.org или оффлайн-утилиты типа exiftool.
Воспользуюсь оффлайн вариантов, через терминал пользоваться им достаточно просто:

Код:
exiftool yourimage

Давайте глянем в наш вывод:

resexif.webp


Чтож особо интересного ничего нет. Пойдем искать по лицу.
Search4faces частенько всплывает в тасках, когда речь заходит про OSINT, особенно когда метаданных на фото никаких. В дело идёт поиск по лицу, и вот этот сервис как раз заточен под такую задачу. По сути, он превращает одно-единственное фото в возможное решение таски.
Его популярность объясняется тем, что он бесплатный и узкоспециализированный. В отличие от обычных поисковиков, которые сканируют весь интернет, Search4faces ищет только в своих собственных архивах. Это гигантские, но статичные базы данных — «слепки» аватарок и профильных фотографий, собранные из конкретных соцсетей в определённые годы. Его главная цель — это ВКонтакте и Одноклассники (с недавнего времени и ТикТок).
Однако в этой специализации кроется и его главная слабость. Эти базы — не живые. Они представляют собой «моментальный снимок» данных на момент их сбора, который мог произойти несколько лет назад. Это значит, что если человек удалил старую аватарку, сменил её или создал профиль уже после обновления базы, Search4faces его, скорее всего, не увидит. Отрицательный результат здесь ничего не гарантирует — человек мог просто пропасть из архива. Для поиска в глобальных или зарубежных социальных сетях он практически бесполезен.
Порой при решении задачи я искал человека по фото. Напрямую я не мог его найти, но нашел общее фото на другом профиле, на фото было 3-4 человека, среди которых — моя условная цель. В любом случае, через человека с общими фото поиск идёт лучше чем ничего.
Прикрепляю ссылку на их сайт: . Что ж, переходим к действиям.

tarVK.webp


Я вывел первые 50 результатов. На фото показаны цели которые по мнению сайта больше похожи на нашу цель. Давайте пройдемся по страницам и возможно мы найдем что-то общее:

  • Первый на очереди стал "Vel Vel", по первоначальным данным исходя из фото нашей цели мы понимаем что у нее должны быть длинные волосы, однако лучше краем глаза пробежаться по профилю и узнать что это не тот человек что нас интересует. Как и в этом случае.
  • Вторым в очереди стал "Радик Радик". Взглянув на его фото, всё стало ясно ещё быстрее. Черты лица, форма головы, взгляд — всё говорило об обратном. Однозначно не наш.
  • Третий на очереди — персона «Deviz Klov». И знаете что? Да! Это именно тот, кого мы ищем. Как только я зашёл на страницу этого пользователя, я увидел то самое, знакомое нам обоим фото. Бинго! Поиск по лицу сработал и вывел нас на нужный профиль. Теперь внимательно изучим его на предмет других зацепок: посты, друзья, упоминания — всё, что может продвинуть нас дальше в решении таски.

deviz.webp


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

info1.webp

info2.webp



BOOM — и вот оно, настоящее сокровище. Куча инфы,, глаза по-настоящему сияют. В голове уже автоматически, с натренированной скоростью, начинает выстраиваться план: с такими данными можно сыграть в десятки сценариев социальной инженерии. Один звонок «подтвердить данные военного билета», входящий на указанный номер, или сообщение от красивой девушки с отсылкой к любимой цитате — шансы на успех взлетают до небес.
Но сегодня мы собрались не за этим. Сегодня мы ищем, но не эксплуатируем. Поэтому мы этот план откладываем в самый дальний ящик, с мысленной пометкой «на потом». Сейчас нужно продолжать копать дальше.

Для дальнейшего плана нужно узнать настоящий ID-шник профиля. Давай это и сделаем. Воспользуюсь сайтом:

id.webp


Пойдем глядеть что нам даст его айдишник
ТГ: @VKHistoryRobot — этот бот показывает, как профиль ВК выглядел в прошлом. Если быть точнее, он помогает получить старые удаленные фото, номера телефонов и другую информацию, рассортированную по годам.

На практике это работает так. Ты отправляешь боту ссылку на профиль или его короткий ID. Бот ищет сохраненные копии страницы в различных интернет-архивах и базах данных. В результате можно увидеть историю изменений: какие аватарки стояли раньше, какие данные в графе «Контакты» или «Место работы» были указаны несколько лет назад. Например, профиль кажется пустым сейчас, но в 2020 году там могла быть открыта полная информация с другим номером телефона или фотографиями с места службы. Это позволяет восстановить удаленные человеком данные и найти дополнительные зацепки, которые он пытался скрыть.
Возможно это действие ни к чему нас не приведет. Но эти пару секунд нам ничего не будут стоить.

result.webp


Окей, не отчаиваемся, есть пару моментов которые нам еще могут помочь. Используем прямую ссылку чтобы увидеть, упоминали ли данную страницу где-либо. Держи ссылку:

Код:
https://vk.com/feed?section=mentions&obj=ID

Давай посмотрим что выйдет из данного действия:

drive.webp


Очень хороший улов. Мы знаем настоящее ФИО, данные его водительского удостоверения личности. Не будем останавливаться — не зря же мы записывали его ID. Давай глянем через великолепную утилиту под названием Sherlock.
Sherlock — цифровой детектив, который прочёсывает соцсети по имени пользователя. Вместо того чтобы вручную работать по десяткам сайтов, кидаем ему один никнейм, и он сам пробегается по своей базе из 300+ платформ — от гигантов вроде зарубежного рынка до нишевых форумов — и проверяет, не зарегистрирован ли там аккаунт с таким именем.
Работает по принципу: на большинстве сайтов у каждого пользователя есть уникальная ссылка с его ником. Sherlock просто проверяет, отвечает ли такая страница ошибкой 404 или загружается нормально, что говорит о существовании профиля
В итоге за пару минут вместо часов ручного поиска ты получаешь готовый список живых ссылок, куда этот человек мог зарегистрироваться
Идеально вписывается в OSINT-цепочку, когда у тебя уже есть короткое имя (ID) из ВК или другого источника. Это следующий логичный шаг: чтобы найти пересечения, забытые аккаунты и цифровые следы на других площадках. Инструмент бесплатный, с открытым кодом, но требует установки Python и работы из командной строки.
Мы уже пробовали Search4faces для поиска по лицу в рунете, Sherlock — это его логичное дополнение для глобального поиска по нику. Они отлично работают в паре.
На Linux есть возможность установить через обычный APT
Работать с ним тоже достаточно просто:

Код:
sherlock nickname

Давай глянем что нам даст Sherlock:

sherlock.webp


Наш Sherlock собрал неплохой улов по данному таргету, так что теперь остаётся аккуратно всё разобрать: отделить действительно полезные моменты от тех, что к нашему Александру не имеют никакого отношения. Пока первично пробегал по списку, среди ложной информации взгляд зацепился за один телеграмм — по ощущениям, именно там может скрываться наш Александр. Думаю, стоит глянуть.

tg.webp


Отлично. Это и была моя конечная цель.
На этом лично моя цель была достигнута. Мне нужны были его оригинальные ФИО и контакты. Но если бы мы хотели капнуть глубже, я бы предложил использовать @FunStatBot, к сожалению ссылки на него дать не могу поскольку бота в последнее время частенько банят.
По своей сути FunStatBot — это анализатор активности в публичных чатах Telegram. Он парсит огромное количество открытых групп, каналов и супергрупп, и умеет по ID или юзернейму собрать цифровой след пользователя. Работает это не с самого начала времён, а примерно с определённой даты (например, с июня какого-то года), но и этого часто хватает.
Основная фишка в том, что он не просто находит профиль, а показывает контекст его присутствия. Бот может вытащить список всех публичных чатов, где был замечен этот пользователь.
FunStatBot умеет показывать все (или очень многие) сообщения, которые этот человек писал в этих публичных чатах. Видно не только прямой текст, но и реплаи на другие сообщения, упоминания других людей или фактов. Это уже прямой источник для анализа: стиль письма, темы для обсуждения, круг общения, возможные скандалы или конфликты, даже часовой пояс по времени отправки.
Часто в связке с этим используют другой бот — @tgscanrobot (или похожие тк его тоже частенько банят). Он специализируется на истории изменений: показывает, как менялся юзернейм (username) у аккаунта с течением времени.

Не могу не упомянуть кратко про Wayback Machine. По сути, это как VKhistoryRobot, только для целых сайтов. Архив сохраняет слепки страниц с 1996 года. Если нужно найти старую версию сайта, удалённую новость или посмотреть, как менялась информация в каком-то блоге, он незаменим.
Просто заходишь на web.archive.org, вставляешь нужный URL в строку и смотришь на календарь. Там точки отмечают даты, когда робот делал снимок страницы. Кликаешь на любую дату — и видишь, как сайт выглядел в тот день.
В OSINT это базовая вещь. С его помощью можно откапывать удалённые посты, комментарии или даже целые сайты, которые уже не работают. А кнопка «Save Page Now» позволяет самому добавить текущую страницу в архив, чтобы потом к ней вернуться.
Ссылка:

Также нельзя не упомянуть злой и страшный GetContact. По сути, это сервис, который показывает, как вас могли сохранить в телефонной книге у других людей.
Работает он по принципу краудсорсинга: когда кто-то устанавливает это приложение, оно загружает и анализирует всю его адресную книгу. В итоге создаётся общая база данных, где номеру телефона сопоставляются все имена, под которыми он записан у разных пользователей. Именно поэтому, даже если вы сами никогда им не пользовались и у вас «левый» номер, информация о вас там уже может быть — её оставили ваши друзья, коллеги или родственники, которые установили это приложение.
Для OSINT-проверки это может быть полезной зацепкой. Забивая номер, можно увидеть, под какими именами он известен в народе. Иногда это прямое указание на владельца, его никнейм или даже род деятельности. Однако стоит помнить, что данные там часто неточные, шуточные или устаревшие, и полностью полагаться на них нельзя. А ещё само приложение давно вызывает большие споры из-за вопросов приватности. Лучше использовать второй смартфон и поставить GetContact в одну папку с Max ;)

Спасибо больше за внимание читатель. Мне было приятно для тебя вещать. До новых встреч!
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab