Вас заметили: как можно деанонимизировать юзеров в Telegram через паки кастомных эмоджи
Пользователи Telegram еще с 2022 года могут создавать собственные эмоджи и добавлять готовые паки. Но есть нюанс — это не очень безопасно.
560 открытий1К показов
Кастомные эмоджи — те самые смайлы, по которым можно понять, есть у пользователя премиум-подписка или нет. Есть паки как от разработчиков, так и от обычных юзеров. В Telegram кастомные эмоджи работают следующим образом (хотя вы это и так уже знаете):
- Пользователь скачивает специальный набор (пак) эмоджи;
- Эти эмоджи становятся доступны в личных и групповых чатах, а также в комментариях на каналах;
- Если кто-то видит необычный смайл, он может узнать, из какого набора он взят, и тоже его скачать.
Создать собственный пак тоже легко, особенно, если вы уже проходили этот процесс со стикерами. Бот тот же самый — @Stickers. Вот алгоритм:
- Открываем бот, вводим /start и для эмоджи выбираем /newemojipack. На выбор: анимированные эмоджи, видеоэмоджи и статичные.
- Называем пак.
- Отправляем боту картинки или анимации в виде файлов, которые станут смайлами. По требованиям: для статичных эмоджи — PNG/WEBP, для видео и анимированных — WEB/TGS, без звука, длительность максимум 3 секунды.
- Задаем каждому эмоджи из набора аналог из стандартных смайлов;
- Когда добавляем все, что хотели, запускаем команду /publish.
- Прописываем короткий юзернейм для пака, например, @tprogerpack — он и будет ссылкой.
Действительно, создать свой пак или добавить уже существующий — проще простого. Правда, есть нюанс: вас могут скомпрометировать. Ниже разбираемся, почему это может произойти.
Почему кастомные эмоджи уязвимы
На самом деле не только они, а, например, еще стикеры и боты. Казалось бы, кастомные эмоджи — просто прикольное дополнение к переписке и стилю аккаунта, но, оказывается, через них можно узнать о вас важную информацию, и вот почему:
- У каждого пака свой уникальный идентификатор. Если вы используете эмоджи из редкого или персонализированного пака, это оставляет так называемый «цифровой отпечаток». Его можно легко идентифицировать в открытых чатах или каналах. Например, если пользователь скачал пак с мемами своей компании и активно использует эти эмоджи, можно выяснить, где он живет и чем увлекается;
- Telegram позволяет легко находить сообщения в публичных чатах и каналах, где использовались те или иные эмоджи. Если эмоджи из вашего пака появляются в нескольких местах, злоумышленник может собрать все ваши сообщения из этих чатов, даже если вы писали под разными никами. Допустим, используете редкий эмоджи с изображением персонажа из аниме. Хакер может найти ваши сообщения в нескольких чатах и таким образом связать ваши аккаунты в разных сообществах;
- Некоторые кастомные эмоджи создаются специально для каналов или чатов, например, в паблике стримера. Если вы их используете в других местах, то очевидно, что смотрите этого стримера. Да, из 100 000 подписчиков вычислить именно вас будет сложно, но возможно;
- Когда создаёте собственный пак эмоджи и используете его в пабликах или открытых чатах, это фактически становится вашей уникальной меткой. Даже если кто-то другой добавит ваш пак, вероятность его использования останется низкой, а вас легко узнают (если, правда, этот пакт не выстрелит на многомиллионную аудиторию, как с енотом Педро или котами из ТикТока).
Как это работает
Переходим к технической стороне вопроса. В Телеграме у каждого пака с эмоджи или стикерами свой уникальный ID, который можно получить через API. Один из юзеров таким образом вычислил (точнее, ему помогли) создателя стикер-пака https://t.me/addstickers/HotCherry.
Дисклеймер: это не совсем законно, поэтому мы рассмотрим этот пример, чтобы показать вам, что любая система уязвима.
Главное поле здесь — ID. Да, на первый взгляд он кажется уникальным идентификатором стикерпака и никак не поможет вычислить аккаунт автора. Но не устанем повторять: есть один нюанс.
Существует операция над числом, которая называется двоичный сдвиг вправо. Суть в том, чтобы сдвинуть все биты числа вправо на определенное количество цифр, а свободное пространство слева заполнить нулями. Автор эксперимента делает этот сдвиг на 32, используя пример числа, возвращаемого API.
Число 1391391008142393345 можно представить в двоичной системе. Так мы доходим от 0 до 32. Если перевести в обычное значение, то получится более короткий и узнаваемый идентификатор 323958464. Так автору удалось выяснить, что это не идентификатор стикерпака, а идентификатор конкретного пользователя Telegram.
Пользователь с этим идентификатором в Telegram — создатель стикерпака.
Но есть проблема: по числовому ID, который мы получаем, нельзя напрямую определить, что это за пользователь — его имя, аватар и так далее, так как в API просто нет такого метода. Но как же автору это удалось?
Существует обратный метод API, позволяющий получить профиль пользователя и его ID по имени. Этот метод вызывается каждый раз, когда вы открываете ссылку [t.me/<login](http://t.me/<login) user> или ищете по имени в Telegram.
Он просканирует всех пользователей Telegram (например, взяв их из всех публичных чатов) и составит соответствие: ID<>имя пользователя. Такое можно проделать с любым стикерпаком или паком с эмоджи, опубликованном в конкретном канале, и есть шанс выйти на админа.
Maltego, или как парсить данные не вручную
Под Телеграм уже написали инструменты, которые помогают собирать и анализировать данные. И Maltego — одна из таких фич, которая работает с открытыми источниками (OSINT). Она лежит в открытом доступе на Github. Maltego может помочь деанонимизировать пользователя через кастомные эмоджи, если они оставляют за собой «цифровой след». Уже знакомый нам экспериментатор тоже поюзал этот инструмент, для этого ему еще понадобился Python — почитать подробнее можно в той же статье.
Рассказываем, как это происходит:
1. Уникальность кастомных эмоджи
Как мы уже писали, каждый кастомный эмоджи принадлежит определённому набору (паку), который имеет уникальный ID. Если вы используете редкий пак, это как отпечаток пальца — его можно легко отследить.
2. Сбор данных о сообщениях в пабликах
Maltego может анализировать публичные чаты и каналы Telegram:
- Найти все сообщения, где использовались ваши кастомные эмоджи;
- Определить, в каких каналах или группах вы активно пишете;
- Собрать сообщения, даже если вы используете разные никнеймы.
Например, вы используете редкий эмоджи с символом любимого сериала в двух разных чатах. Maltego покажет, что эти сообщения принадлежат одному пользователю.
3. Связывание аккаунтов
Если вы используете кастомные эмоджи в нескольких местах, Maltego об этом тоже узнает. Даже когда стараетесь оставаться анонимным, использование одного и того же эмоджи выдаёт, что оба аккаунта принадлежат вам.
Например, в одном чате вы пишете с анонимного аккаунта, а в другом — с основного, но используете одинаковые эмоджи. Maltego это заметит.
4. Поиск пользователей с таким же паком эмоджи
Если злоумышленник знает ID вашего кастомного пака, Maltego может:
- Найти, кто добавил этот пак в Telegram;
- Узнать, кто ещё использует эти эмоджи;
- Связать вас с теми, кто скачал этот пак.
Например, вы создали пак эмоджи для небольшой компании. Если злоумышленник найдёт ваши сообщения, он может вычислить всех, кто скачал этот набор, и привязать их к вашей организации.
5. Использование API для анализа
Maltego подключается к Telegram API, который предоставляет доступ к информации о публичных чатах и пользователях. Так он может:
- Найти все сообщения с конкретным эмоджи;
- Узнать, кто чаще всего использует эмоджи из определённого пака;
- Собрать данные и построить граф связей между пользователями.
Например, злоумышленник через Maltego находит, что эмоджи из вашего пака часто используются в конкретном канале, и банально связывает вас с этим каналом и всеми, кто в нем состоит.
Почему это опасно
Как говорили в фильме «Кто я», любая система уязвима, и об этом нужно помнить всегда. Maltego или другие подобные ему инструменты не могут напрямую «взломать» вас, но их главная сила — в аналитике и парсинге. Даже одно сообщение, которое вы оставили в паблике с кастомным эмоджи, может раскрыть ваши интересы, знакомства, активность и даже локацию. А потом уже дело за малым.
Как предотвратить деанонимизацию: методы
Кастомные эмоджи или стикерпаки в Telegram могут раскрыть больше информации о вас, чем вы думаете — достаточного одного сообщения. Но есть несколько простых советов, которые помогут оставаться в безопасности (насколько это возможно).
Не используйте редкие эмоджи в публичных чатах
Если ваш эмоджи из уникального или вашего личного пака, его легко отследить. Вместо этого выбирайте популярные паки, которые используют тысячи людей. А если и хотите пользоваться локальными, то делайте это в закрытых чатах с друзьями/коллегами.
Не переусердствуйте с эмоджи
Чем чаще вы используете редкие эмоджи, тем больше информации оставляете. Лучше ограничить их использование в публичных сообщениях.
Настройте приватность в Telegram
В настройках Telegram есть функции, которые помогут скрыть ваши личные данные:
- Скрывайте свой номер телефона, чтобы его не могли увидеть другие пользователи;
- Сделайте так, чтобы ваш аватар и информация о последнем посещении видели только друзья или те, кого вы добавляете в контакты. Хотя, конечно, лучше вручную составить список юзеров, у кого есть доступ к вашим данным;
- Отключите доступ к вашим данным для незнакомых людей. Например, поставьте настройки, чтобы при пересылке сообщения ваш аккаунт оставался анонимным.
Используйте разные аккаунты
Если вы активно общаетесь в публичных чатах, заведите отдельный аккаунт для этой активности. Это поможет отделить личную жизнь от публичной.
Политика Telegram по защите данных
Telegram утверждает, что заботится о безопасности пользователей, но есть нюансы, которые стоит учитывать:
- Сообщения в публичных чатах открыты для анализа. Если вы пишете в большом канале или группе, ваши сообщения все равно попадают в открытый доступ, и их можно найти с помощью парсинга;
- Доступ к данным через Telegram API. API позволяет извлекать информацию о пользователях и их действиях. Отключить его никак нельзя, поэтому старайтесь не использовать уникальные эмоджи в пабликах;
- Используйте секретные чаты. Только секретные чаты в Telegram имеют сквозное шифрование — никто, кроме участников, не сможет получить доступ к сообщениям. Плюс можно поставить полное удаление переписки или определенных сообщений через какое-то время.
Полная конфиденциальность практически невозможна — всегда нужно помнить о том, что злоумышленники могут подобраться к вашим данным очень близко. Но если следовать простой «технике безопасности», то вычислить вас будет сложнее. Не используйте редкие кастомные эмоджи, проверьте настройки приватности аккаунта и, как говорится, stay safe.
560 открытий1К показов