Деанонимизация продавца в Telegram: OSINT-расследование от никнейма до реального человека

При разборе теневого Telegram-магазина, торговавшего скомпрометированными корпоративными аккаунтами, в распоряжении было ровно три зацепки: username продавца, пять скриншотов «витрины» и аватарка с котом. Через шесть часов — реальное имя, город и номер телефона. Методами OSINT (Open Source Intelligence — разведка по открытым источникам, то есть по легально доступной информации). Без взломов, без «пробива», без покупки баз у инсайдеров.
Классическая ошибка продавца — повторное использование никнейма на игровом форуме, где при регистрации он указал личный email. Этот email всплыл в утечке LinkedIn 2012 года (164 млн записей, по данным Have I Been Pwned), а дальше цепочка привела к профилю в соцсети с настоящим именем и фотографией. Ниже — воспроизводимый алгоритм такого расследования: конкретные инструменты, команды и порядок действий.
Какие следы оставляет продавец в теневом Telegram-магазине
У каждого Telegram-аккаунта есть набор полей, которые формируют поверхность для расследования. Часть видна любому пользователю, часть извлекается через API (программный интерфейс для обращения к данным Telegram из внешних приложений) или сторонние инструменты.
Что видно без специальных средств:
- Username (@handle) — уникальный символьный идентификатор. Продавец может его сменить, но историю изменений фиксируют сторонние сервисы.
- Display name (first_name, last_name) — произвольный текст, не уникальный. Чаще псевдоним, но иногда — настоящее имя. Бывает.
- Bio — описание профиля, до 70 символов для обычных аккаунтов. Может содержать ссылку на другую площадку, email, Jabber. Каждый такой элемент — отдельная точка входа для расследования.
- Аватар — фотография профиля. Даже стоковая картинка ведёт к другим аккаунтам через обратный поиск.
- Последний онлайн (last seen) — если не скрыт настройками приватности, помогает определить часовой пояс.
Что извлекается инструментами:
- Telegram ID — постоянный числовой идентификатор, который присваивается при создании аккаунта и не меняется никогда. В обычном клиенте его не видно, но получить можно через ботов.
- Номер телефона — основной идентификатор аккаунта. По умолчанию скрыт, но может «утечь» через боты-ловушки, утечки баз или функцию «добавить в контакты».
- Участие в публичных группах и каналах — след активности продавца за пределами его магазина.
Если переложить это на терминологию MITRE ATT&CK (открытая база тактик и техник атакующих; каждой технике присвоен T-код, например T1593) — всё перечисленное относится к тактике Reconnaissance, предварительной разведке. Конкретно: поиск по открытым веб-ресурсам (T1593), поиск в соцсетях (T1593.001), сбор email-адресов (T1589.002) и имён (T1589.003), поиск в открытых технических базах (T1596). Те же техники, что используют злоумышленники при подготовке атак, работают и в обратную сторону — для установления личности самого злоумышленника.
Сбор стартовых данных: OSINT-расследование Telegram-аккаунта
Telegram ID и дата создания аккаунта
Telegram ID — числовой идентификатор, который остаётся неизменным при смене username, display name или номера телефона. Продавец может переименоваться десять раз, но ID останется прежним. Это якорь всего расследования.
Как получить ID:
Требования к окружению: Telegram-клиент, интернет.
- Перешлите любое сообщение от целевого аккаунта одному из ботов для получения ID (например, ботам вида
@get_user_id_botили@username_to_id_bot). Конкретные имена ботов часто меняются или блокируются — проверяйте актуальность перед использованием. - Бот вернёт числовой ID, например:
123456789. - Сохраните его — это основной идентификатор на всё расследование.
Когда не работает: продавец заблокировал пересылку сообщений, или у вас нет прямого доступа к его сообщениям. В этом случае попробуйте найти актуальный бот, принимающий username напрямую. Надёжная альтернатива, не зависящая от сторонних ботов, — библиотеки Telethon или Pyrogram: метод client.get_entity('username') возвращает объект с полем id.
Дата создания аккаунта: есть боты (например, вида @creationdatebot), которые принимают ID или username и возвращают приблизительную дату регистрации. Они нестабильны и могут быть заблокированы — проверяйте актуальность. Практический смысл: аккаунт, созданный за неделю до начала торговли, — «одноразовая» учётка. Расследование пойдёт другим путём: через связи канала, а не самого аккаунта.
Username, bio и аватар как точки входа
Username — часто самая продуктивная зацепка. Люди ленивы и склонны использовать одинаковый никнейм на разных платформах: по данным руководства Authentic8 по Telegram OSINT, многие пользователи ставят один и тот же username на Facebook, Instagram, X и других площадках.
Порядок действий:
- Проверьте username через точный поиск в Google:
"username_target"(кавычки означают точное совпадение фразы — без них Google покажет тысячи нерелевантных результатов). - Проверьте вариации: с подчёркиваниями, без них, с цифрами на конце (username99, username_99, xusername).
- Запишите username в рабочий файл — на следующем шаге он понадобится.
Ограничение: если username состоит из 3–4 символов или является распространённым словом (shop, seller, admin), количество ложных совпадений резко возрастает. Тогда username как единственная точка входа малоэффективен — делайте ставку на bio и аватар.
Bio может содержать email, ссылку на другой мессенджер, канал или сайт. Каждый элемент — отдельная ветка расследования. Если в bio указан email, его стоит проверить через сервисы утечек (подробности ниже) и через Holehe — инструмент, который определяет, на каких площадках этот email зарегистрирован.
Аватар: откройте профиль продавца, нажмите на изображение, сохраните. Дальше — обратный поиск:
- Google Images (images.google.com — загрузка файла)
- Yandex Images (yandex.ru/images — заметно лучше работает с лицами из русскоязычного сегмента)
- TinEye (tineye.com — поиск точных копий изображения)
Если на аватаре лицо — используйте специализированные поисковики по лицам. Результат покажет, где ещё это фото использовалось: в соцсети, на форуме, в объявлении.
OSINT-инструменты для поиска продавца на других платформах
Автоматический поиск через Maigret и Sherlock
Ручная проверка username на сотнях площадок займёт дни. Maigret и Sherlock автоматизируют процесс: первый проверяет несколько тысяч сайтов (точное число зависит от версии — см. README на GitHub) и извлекает дополнительные данные (email, имя, дату регистрации), второй работает быстрее, но без извлечения.
Требования к окружению: Python 3.8+, pip, ОС Linux / macOS / Windows, доступ в интернет.
pip install maigret
maigret username_target --timeout 15 --top-sites 500
Первая команда устанавливает Maigret. Вторая запускает поиск по username с таймаутом 15 секунд на сайт и проверкой топ-500 площадок. Ожидаемый результат: таблица в терминале со списком найденных аккаунтов, URL профилей и извлечённых данных. Maigret также генерирует HTML-отчёт в текущей директории.
Как понять, что получилось: если хотя бы на 2–3 платформах найдены аккаунты с тем же username — сигнал сильный. Но обязательный следующий шаг: зайти на каждый профиль и проверить, действительно ли это тот же человек (по аватару, стилю, дате регистрации), или просто совпадение username. Без этой верификации данные остаются гипотезой, не фактом. Как справедливо отмечают в методологии Molfar: «Matching usernames can connect profiles, but common or short handles create false positives».
Google Dorks и поисковики Telegram
Google Dorks — специализированные поисковые операторы, которые позволяют задать Google точный вопрос. Для расследований в Telegram полезны следующие запросы:
site:t.me "username_target"— упоминания username на t.me"@username_target" site:vk.com— поиск на ВКонтакте"@username_target" site:github.com— на GitHub"@username_target" (email OR phone OR contact)— контактные данные рядом с username(filetype:pdf OR filetype:doc) "@username_target"— документы, где фигурирует username
Для поиска внутри Telegram-чатов и каналов — специализированные поисковые системы: search.buzz.im, lyzem.com. Они индексируют публичные сообщения, что позволяет найти посты продавца в группах за пределами его магазина.
TgStat (tgstat.ru) — аналитическая платформа для Telegram. Через неё можно найти каналы, связанные с продавцом, посмотреть динамику подписчиков и кросс-промо (взаимные упоминания каналов). Если продавец рекламирует свой магазин в других каналах — TgStat покажет эту связь.
Утечки баз данных: деанонимизация по номеру телефона и email
Какие утечки используются в OSINT-расследованиях
Утечки баз данных (data breaches) — публично доступные массивы данных, попавшие в открытый доступ в результате взломов. Для OSINT наиболее ценны утечки, содержащие связки «email + имя», «номер телефона + имя» или «username + email».
По данным Have I Been Pwned (бесплатный сервис для проверки присутствия email в утечках), масштаб наиболее крупных утечек:
| Утечка | Объём записей | Полезные для расследования данные |
|---|---|---|
| Facebook (2019) | 509 млн | Дата рождения, email, работодатель, пол, геолокация |
| LinkedIn (2012) | 164 млн | Email, пароли |
| LinkedIn Scraped (2021) | 125 млн | Образование, email, должности, геолокация |
| Instagram (2019) | 6,2 млн | Display names, email, геолокация, телефоны, usernames |
Если продавец когда-либо регистрировался на одном из этих сервисов с email или телефоном, привязанным к Telegram, — связка «цифровая личность → реальная личность» может быть установлена.
Инструменты для работы с утечками:
- LeakCheck (leakcheck.io) — поиск по email, username, номеру телефона. Показывает, в каких утечках фигурируют данные.
- Snusbase (snusbase.com) — аналогичный сервис, часто содержит другие наборы утечек.
- Intelligence X (intelx.io) — поисковик по утечкам, paste-сайтам, публичным Telegram-каналам. Охватывает источники, недоступные первым двум.
- Have I Been Pwned (haveibeenpwned.com) — бесплатная проверка email (без раскрытия паролей и полных данных).
Предусловие: для LeakCheck и Snusbase нужна регистрация и, как правило, платная подписка для просмотра полных результатов. Intelligence X даёт ограниченный бесплатный доступ.
Сопоставление данных из нескольких утечек
Сила OSINT-расследования — в перекрёстной проверке. Одна утечка даёт фрагмент, две-три — цельную картину.
Пример цепочки:
- Из Telegram известен username
darkshop_99. - Maigret находит аккаунт
darkshop_99на форуме, где в профиле указан emailivan.p@mail.ru. - Поиск
ivan.p@mail.ruчерез LeakCheck показывает присутствие в утечке Facebook 2019 — с привязанным номером телефона и именем. - Поиск номера через Intelligence X находит его в утечке сервиса доставки — с полным ФИО и адресом.
Каждый переход между источниками фиксируйте: запрос, сервис, дата, результат. Это нужно и для воспроизводимости, и для юридической чистоты — особенно если результаты будут переданы третьим лицам.
Анализ метаданных и паттернов активности продавца
Определение часового пояса по активности
Если продавец ведёт канал или отвечает в чате, его паттерн активности (когда пишет, когда молчит) позволяет определить часовой пояс. В России 11 часовых поясов — сужение до одного-двух заметно ограничивает круг поиска.
Порядок действий:
- Соберите временные метки 30–50 публикаций продавца. Telegram показывает время в UTC или в вашем часовом поясе — пересчитайте в UTC.
- Постройте гистограмму по часам суток. Хватит таблицы в Excel или скрипта на Python.
- Определите «тихие часы» — промежуток без публикаций. Это предположительно время сна.
- Если тишина приходится на 23:00–07:00 по UTC+3, продавец, вероятно, в московском часовом поясе.
Когда не работает: публикаций меньше 30 — распределение статистически ненадёжно. Техника бесполезна и в случае отложенных публикаций (scheduled posts) или если канал ведёт команда из разных часовых поясов. Как отмечает Molfar: «Posting patterns can indicate time zone or account links. Do not convert them into precise location claims without independent evidence».
Метаданные фотографий
Фотографии, которые публикует продавец, могут содержать метаданные EXIF (Exchangeable Image File Format — стандарт, куда камера записывает дату съёмки, модель устройства и иногда GPS-координаты).
Требования к окружению: утилита exiftool (установка: apt install libimage-exiftool-perl на Debian/Ubuntu или brew install exiftool на macOS), любой терминал.
exiftool photo_from_channel.jpg
Ожидаемый результат: таблица метаданных. Поля для анализа: GPS Position (прямая геолокация), Date/Time Original (дата съёмки), Camera Model (модель устройства). Если GPS присутствует — геолокация с точностью до десятков метров. Если нет — модель камеры и дата съёмки пригодятся для сопоставления с фото из других источников.
Ограничение: Telegram автоматически удаляет EXIF из изображений, отправленных как фото (через значок галереи). Если продавец отправил изображение как файл (через скрепку → Document) — метаданные сохраняются. EXIF может сохраняться и на промежуточных площадках: если фото сначала было опубликовано на форуме или сайте объявлений, а оттуда попало в Telegram.
Стилометрия — анализ манеры письма
Стилометрия — анализ индивидуальных особенностей текста. Продавец, который пишет в теневом канале, часто оставляет те же характерные обороты, опечатки и пунктуацию на легальных площадках. Если Maigret или Sherlock нашли аккаунт на форуме — сравните тексты вручную:
- Характерные сокращения: «норм» vs «нормально», «сек» vs «секунду»
- Специфические знаки препинания: многоточия, тире, отсутствие запятых
- Типичные опечатки, которые повторяются
- Структура предложений: короткие рубленые фразы vs длинные обороты
Стилометрия — не доказательство, но сильная корреляция. Она подтверждает или опровергает связь между аккаунтами, найденную другими методами.
Полный цикл деанонимизации: делай раз, делай два, делай три
Сжатый алгоритм расследования от стартовой точки до результата. Каждый шаг опирается на результаты предыдущего.
Требования к окружению: компьютер с Python 3.8+, установленные Maigret и exiftool, доступ в интернет, аккаунт в Telegram, аккаунты в LeakCheck или Snusbase (платные) или Intelligence X (бесплатный лимит).
Делай раз — фиксация стартовых данных:
- Скопируйте username, display name, bio, аватар целевого аккаунта. Ожидаемый результат: текстовый файл с исходными данными.
- Получите Telegram ID через бот (актуальный на момент расследования) или через Telethon/Pyrogram API. Ожидаемый результат: числовой ID.
- Определите дату создания через соответствующий бот или сервис (актуальность проверяйте перед использованием). Ожидаемый результат: приблизительная дата регистрации.
- Скачайте все доступные фотографии из канала или чата продавца.
- Зафиксируйте временные метки последних 30–50 сообщений в таблице.
Делай два — расширение поверхности:
- Запустите
maigret username_target --timeout 15 --top-sites 500. Ожидаемый результат: список платформ с аккаунтами и HTML-отчёт. - Параллельно выполните Google Dorks:
"@username_target",site:t.me "username_target". - Проверьте аватар через обратный поиск (Yandex Images, Google Images).
- Если в bio есть email — проверьте через Have I Been Pwned и Holehe.
- Проверьте активность в TgStat: связанные каналы, кросс-промо, упоминания.
- Верифицируйте каждый найденный аккаунт: совпадает ли аватар, стиль, контекст.
Делай три — работа с утечками и финальная корреляция:
- Каждый найденный email проверьте через LeakCheck и Snusbase.
- Каждый найденный номер телефона — через Intelligence X и Truecaller (сервис обратного поиска по номеру).
- Постройте матрицу соответствий: какие данные пересекаются между источниками.
- Проанализируйте EXIF фотографий:
exiftool *.jpg. - Определите часовой пояс по гистограмме активности.
- Сопоставьте тексты из разных аккаунтов на предмет стилометрических совпадений.
Результат: граф связей, связывающий username в Telegram с реальным именем, телефоном и геолокацией. Финальная верификация: если ФИО из утечки совпадает с профилем соцсети, аватар совпадает с фотографией, а геолокация из метаданных совпадает с адресом из другой утечки — идентификация обоснована.
Где заканчивается легальный OSINT
Каждый описанный шаг имеет юридическую оценку, и граница между легальным расследованием и серой зоной тоньше, чем кажется.
Легально:
- Сбор данных из публичных источников: открытые профили, публичные каналы, Google, TgStat
- Использование поисковых операторов (Google Dorks) по открытому вебу
- Обратный поиск по картинке
- Проверка email через Have I Been Pwned
Серая зона:
- Работа с утечками баз данных. Данные получены незаконно (в результате взлома), но доступ к ним через агрегаторы (LeakCheck, Snusbase) не регулируется однозначно. В России ФЗ-152 «О персональных данных» устанавливает ответственность за незаконную обработку персональных данных, и практика применения в контексте OSINT-расследований неоднородна.
- Боты-ловушки, запрашивающие номер телефона. Это уже социальная инженерия. Создание таких ботов с целью сбора данных без согласия может квалифицироваться по ст. 137 УК РФ (нарушение неприкосновенности частной жизни).
Явно незаконно:
- Покупка информации через «пробивные» сервисы (данные от инсайдеров в операторах связи, банках, госсистемах)
- Взлом аккаунтов, перехват трафика
- Получение данных из непубличных источников без санкции суда
Если расследование ведётся в рамках работы (SOC, threat intelligence, расследовательская журналистика) — документируйте каждый шаг и источник. Если из личного интереса — остановитесь на публичных источниках.
Значительная часть продавцов в теневых Telegram-магазинах деанонимизируется за одну рабочую сессию. Не потому что инструменты стали мощнее, а потому что ошибки остаются прежними: повторное использование username, аватарка с реальным лицом, email из 2015 года, который всплывает в трёх утечках. Можно потратить неделю на изучение Telegram API и написать собственный парсер — а можно за 15 минут прогнать username через Maigret и получить больше данных, чем продавец думал оставить за всю жизнь в интернете.
Настоящая сложность OSINT — не в инструментах. Maigret, Sherlock, LeakCheck — это отвёртки. Сложность в том, чтобы выстроить цепочку: понять, какой фрагмент к чему привязать, где корреляция, а где совпадение, когда остановиться и перепроверить. Большинство расследований заканчиваются ничем — продавец использовал виртуальный номер, одноразовый email, VPN на каждом шаге, и цепочка обрывается. Это нормальный исход, а не провал. Навык — не в стопроцентном раскрытии, а в способности отличить, когда данных достаточно для вывода, а когда выстраиваешь замок из предположений. Если тема зацепила и хочется разобраться в кибербезопасности системно — на IB Basics показывают, что делать в первый месяц после «хочу в ИБ», без академического тона.
Эту тему и смежные навыки разбирают на практике в курсе «OSINT: технология боевой разведки» Codeby Academy.