Создаём HoneyBot в Telegram
Всем привет! В этой статье мы рассмотрим, как создать Telegram HoneyBot для идентификации анонимных пользователей «самого безопасного» мессенджера. А на примере такого бота заодно и наглядно покажем, как избегать деанонимизации в Telegram, и напомним о необходимости сохранять бдительность, кликая по подозрительным кнопкам и ссылкам в нём.
DISCLAIMER: Данная статья написана в ознакомительных целях и не является руководством к неправомерным действиям или обучающим материалом для сокрытия правонарушений. Напоминаю, что активные мероприятия в рамках OSINT могут быть квалифицированы, как незаконное проведение оперативно-розыскных мероприятий и вторжение в частную жизнь.
Зачем нам деанонимизировать бедного пользователя?
В последние годы Telegram приносит всё больше головной боли правоохранителям разных стран. Например, по мнению аналитиков из KELA мессенджер стал «процветающей экосистемой для киберпреступников и, вероятно, продолжит оставаться серьезной проблемой для правоохранительных органов». Из-за чего, собственно, идентификация пользователей Telegram, особенно промышляющих незаконными делами, становится всё более актуальной.
Классические приемы идентификации пользователей мессенджера, основанные на проверке номерной емкости мобильных операторов на предмет наличия аккаунтов Telegram, уже практически не работают. С одной стороны, они задушены ограничениями самого мессенджера, а с другой — возможностью оформить аккаунт на виртуальный номер телефона.
Единственной «живой» методикой идентификации анонимных пользователей Telegram в рамках активного OSINT остается использование так называемых ботов-ловушек или, как мы их называем, Telegram HoneyBots. О них и о том как их создавать мы и поговорим в этой статье.
Что из себя представляет Telegram HoneyBot?
Здесь у нас морфинг слов Honeypot и Telegram Bot. Honeypot (англ. — горшочек с мёдом) — в оригинале ресурс, представляющий собой приманку для злоумышленников. А Telegram Bot — это аккаунт в мессенджере, который запрограммирован на автоматическое выполнение заданных действий.
Функциональность Telegram Bot предполагает возможность запроса у его пользователей привязанного к аккаунту номера мобильного телефона, а также получения текущей геолокации. По понятным причинам большинство пользователей не горят желанием передавать кому-либо эти данные. Поэтому первым делом нам нужно скрыть их передачу.
Проще всего это можно сделать, если замаскировать наш HoneyBot под бот для пробива информации. Последних наплодилось в мессенджере так много, что новый не вызовет никакой иной реакции, кроме желания машинально проверить его функционал. На этой неосмотрительности мы и сыграем…
Ставим ловушку на неосторожную пчёлку
Для начала конструирования HoneyBot нам следует перейти в BotFather и ввести в нем команду /newbot, что позволит запустить функционал по регистрации нового бота. Выберите название и никнейм для создаваемого бота, после чего скопируйте его API-ключ.
Теперь нам нужно собрать функциональную часть HoneyBot и обеспечить его работоспособность при помощи одного из популярных конструкторов чат-ботов в Telegram. Здесь стоит упомянуть Livegram, Manybot и FleepBot. Лично я выбираю FleepBot за наличие у него бесплатного триала к полному функционалу. Дальнейшее описание идет для FleepBot.
Запускаем конструктор чат-бта и вносим в него API-ключ, полученный ранее в BotFather. Бот создан. Теперь нам нужно настроить его возможность запрашивать номер телефона или геолокацию пользователя. Для этого идем в Управление ботом — Меню — Главное меню — + — где выбираем функцию Контакт или Местоположение в зависимости от того, какую информацию о пользователе мы рассчитываем собирать. И пишем название для кнопки, которая будет запрашивать эту информацию у пользователей HoneyBot. Здесь нас в фантазии никто нас не ограничивает. Самый простой вариант названия — «Пробить номер».
Затем возвращаемся в BotFather, где вводим команду /mybots. Выбираем созданный нами HoneyBot, нажимаем Edit Bot, после чего редактируем аватарку и описание бота так, чтобы он стал похож на один из ботов для пробива информации. Наша задача заключается в том, чтобы пользователь HoneyBot без лишних размышлений и опасений ввёл в него любой номер телефона, после чего нажал на кнопку «Пробить номер» в нашем исполнении.
Всё, наш HoneyBot готов к использованию. После того как пользователь подтвердит Telegram отправку своего (ну не пробиваемого же) номера телефона боту, мы получим его сообщением на аккаунт администратора HoneyBot. Аналогично это работает и для получения геолокации. Только описание бота для большей убедительности могут отличаться.
И немного социнжерии для дальнейшей деанонимизации
В начале статьи мы говорили о том, что пользователи Telegram все чаще стали использовать одноразовые сим-карты и виртуальные телефонные номера для регистрации аккаунтов в мессенджере. Это означает, что выявленный номер мобильника не всегда может привести нас к реальному владельцу того или иного аккаунта. Поэтому функционал HoneyBot нужно дополнить возможностью получения цифрового отпечатка (данных о соединении и устройстве) пользователя. Приступим?
Для начала нам следует подготовить несколько html-файлов. Это может быть, например, пустая веб-страница и заранее созданный красивый отчет о проверке номера телефона. Идём в один из сервисов по созданию логеров, к примеру, CanaryTokens или IPlogger, где создаём прозрачный пиксель слежения. Ссылку на этот пиксель помещаем в каждый из html-файлов. И ловушка готова.
Теперь у нас есть один красивый отчет в виде html-файла. С рабочего аккаунта в Telegram обращаемся к своему HoneyBot с запросом на проверку. В ответ присылаем сами себе тот самый html-файл. Теперь у нас есть ответ бота, содержащий готовый отчёт. Затем пересылаем его в чат или личку пользователя, которого хотим идентифицировать.
Если он и не откроет вложенный файл, то наверняка захочет протестировать работу нашего HoneyBot, где может или засветить свой номер телефона, или нарваться на второй заряженный логером html-файл, который получит якобы по уже своему запросу к HoneyBot. Как только тот или другой html-файл будет открыт на устройстве пользователя, мы сможем получить данные о его соединении и устройстве в личном кабинете администратора логера. Что в свою очередь даст нам информацию о пользователе, которую он совсем не рассчитывал раскрывать.