Cover photo

Парсинг Telegram для сбора информации о персоне интереса

Тренд рынка ру-сегмента онлайн разведки таков: OSINT превращается в вывеску борделя "Пробей по ботам". Кому-то грустно, кому-то выгодно, а кому-то и так и этак норм. Я себя отношу к последним - мир меняется, технологии меняются, и нам тоже нужно адаптироваться к новым реалиям.

А реалии таковы, что в удобном доступе для широких масс появился легкий доступ к удобно организованным данным на кучу граждан СНГ. Но обесценивает ли это работу расследователя, умеющего искать ручками? Едва ли. Потому что сложные кейсы есть и будут всегда, а для них надо включать мозги и креатив.

В качестве примера могу привести один из кейсов (который уже приводил на обучении), где пробив по ботам ничего не дал, и коллега-детектив обратился ко мне за помощью в том, чтобы установить возможную принадлежность "левого" номера.

Исходная точка такая: есть номер российского оператора, зарегистрированный на персонажа вроде этого, только с азиатским колоритом.

post image

Цель - понять, чем промышляет фактический владелец номера телефона.

В ботах и по разным утечкам нет ни ФИО, ни Telegram-аккаунта, ни почты или соцсетей. Но в самом популярном боте видно, что по этому номеру целых 7 раз делался запрос данных разными пользователями. Это много, обычно это 2-3 запроса для номера. А такое количество указывает либо на рекламу товаров или услуг с этого номера (пробивают продавца, не мошенник ли) или на номер, с которого делаются массовые прозвоны (узнать кто звонил).

Telegram ID в ботах опять же нет, но владелец доступа допустил ошибку. В настройках приватности можно запретить поиск аккаунта по номеру телефона для не-контактов:

post image

Но это сделано не было, в итоге найден telegram-id, в чем помогает сторонний клиент 64gram, который для всех чатов и контактов сразу показывает ID в открытом виде. Для основных аккаунтов я бы сторонний клиент не рекомендовал, но вот использовать его с "левым" акком, купленным в интернете для таких дел очень удобно.

Имея на руках telegram id уже можно поискать не в попсовых ботах для "пробива", а в специализированных, для разведки именно по телеграму:

И уже в них находится список чатов, где пользователь с данным telegram ID был замечен. В основном это чаты, посвященные интим-услугам.

Что мы имеем? Номер, который чаще среднего пробивали в ботах, и круг интересов "интим-услуги" по чатам. Версия про рекламный номер становится теплее, чем номер для рекламных обзвонов. Но этого пока недостаточно для окончательных выводов, нужно больше данных. И тут на помощь приходит парсинг чатов.

В Telegram, если админы чата не запретили экспорт сообщений, можно их выгрузить в HTML-формате удобном для чтения людьми или в удобным для машинной обработки JSON. Я выбрал второй вариант - потому что среди прочих выгружаемых данных есть и telegram id пользователя, который оставил сообщение.

Скачиваем дампы сообщений из чатов, и дальше нужно с ними что-то сделать. Искать через функцию "поиск" в текстовом редакторе - чистый мазохизм. Первая мысль: напишу скрипт для поиска. Вторая: вряд ли я первый человек, столкнувшийся с проблемой, надо поискать. Так и оказалось, мною был найден скрипт https://github.com/keizerzilla/telegram-chat-parser который позволяет превращать JSON-выгрузки чатов из Telegram в CSV, которые можно открывать в офисных программах для работы с таблицами.

Но мне-то не надо весь чат превращать в таблицу, мне подавай сообщения одного пользователя. Но вот идея получить их в виде таблицы мне понравилась, поэтому я доработал скрипт: добавил возможность выгрузки сообщений только пользователя с интересующим telegram id, и заодно пофиксил баг, из-за которого скрипт зависал при обработки больших (1млн+) сообщений. Ссылка на мой скрипт: https://github.com/cyb3rm4gus/telegram-filtered-chat-parser

Пропустив дампы через уже доработанный скрипт, я нашел финальную часть пазла - сообщения от искомого персонажа:

post image

Итоги

Мы имеем на руках следующие факты:

  • Количество запросов "пробива" номера в боте выше среднего;

  • Присутствие в чатах по теме интим-услуг;

  • Сообщения с предложением интим-услуг от Telegram-аккаунта, привязанного к исследуемому номеру.

Вывод: номер используется для рекламы интим-услуг.

Больше материалов про расследования, OSINT и кибербезопасность в Telegrtam-канале @zerodaily_ru

https://t.me/zerodaily_ru