
9 апреля 2026 года Apple удалила альтернативный Telegram-клиент Telega из App Store. В тот же день Cloudflare Radar пометил домены telega.me и api.telega.info как spyware, после чего центр сертификации GlobalSign отозвал у проекта TLS-сертификат. 10 апреля Cloudflare снял пометку spyware — по словам разработчиков Telega, после предоставления ими «необходимой информации». Однако 11 апреля VirusTotal (Alphabet) пометил домены Telega как malware. На момент публикации TLS-сертификат остаётся отозванным, приложение в App Store не восстановлено.
Представители Telega заявили «Осторожно, новостям»: «Телега работает через официальный Telegram API с использованием протокола MTProto. Данные защищены шифрованием Telegram».
Я провёл полный технический аудит Android-версии Telega 2.4.2 — статический анализ декомпилированного кода и живой динамический эксперимент на контролируемом стенде. Ниже — что я нашёл.
Статический и динамический анализ Android-версии Telega 2.4.2 на контролируемом стенде. Что я нашёл, как воспроизвести, и почему утверждение о «шифровании Telegram» технически некорректно.
SHA-256 анализируемого APK (base.apk): efb7a89496e11af0bd8516a7a571a723a393be62feaf542810f999200ffcbe9c.
TL;DR
Telega подменяет адреса дата-центров Telegram на собственные серверы оператора в Казани (AS203502, подсеть
130.49.152.0/24).Через эти серверы оператор получает
auth_key— рабочий ключ к Telegram-аккаунту пользователя. Подтверждено на живом эксперименте: в настоящем Telegram появилась сессия, которую я не создавал.Каждая фотография, отправленная через Telega, перекодируется на сервере оператора. Оператор видит содержимое в расшифрованном виде.
Секретные чаты не работают.
Публичный «исходный код» на GitHub не соответствует распространяемому APK.
Как устроена подмена
При первом запуске Telega обращается к https://api.telega.info/v1/dc-proxy и получает JSON со списком из 25 IP-адресов:
{ "dc_version": 2, "dcs": [ {"id":1, "addresses":[ {"host":"130.49.152.50","port":443}, {"host":"130.49.152.20","port":443}, ... ]}, ... ] }
Клиент подключается к этим адресам как к настоящим Telegram DC. Все 25 адресов принадлежат не Telegram, а оператору Telega:
netname: RU-TELEGA org-name: JOINT STOCK COMPANY "TELEGA" route: 130.49.152.0/24 origin: AS203502 country: RU
Почему клиент доверяет поддельным серверам? В нативной библиотеке libtmessages.49.so зашит дополнительный RSA-ключ с отпечатком 0x2c945714333b5ebd, которого нет в официальном Telegram. Этим ключом серверы оператора подписывают MTProto-handshake, и клиент принимает его как валидный.
Утверждение оператора «данные защищены шифрованием Telegram» технически некорректно. MTProto-шифрование действительно используется, но auth_key генерируется через серверы оператора — а значит оператор является стороной шифрования, а не транзитным каналом.
Эксперимент: живая сессия
Чтобы подтвердить, что это не теоретическая уязвимость, а работающий перехват, я завёл тестовый аккаунт и прошёл онбординг в Telega на эмуляторе Android 14.
Результат: в настоящем Telegram-клиенте на другом устройстве появилась активная сессия, которой я не создавал.


Характерные маркеры этой сессии:
Поле | Значение |
|---|---|
Версия системы | iOS SDK 34 (не существует — это конкатенация «iOS» + Android API level) |
Геолокация | Russia (хотя GPS был выставлен на Хельсинки — Telegram определил страну по IP сервера оператора) |
IP-адрес | Нет данных |
Секретные чаты | Принимать |
«iOS SDK 34» — это строка, которую оператор подставляет в поле system_version при MTProto handshake. Ни один реальный клиент такую строку не генерирует. Это независимое подтверждение того, что handshake собирается не клиентом, а проходит через MitM-инфраструктуру.
Любой пользователь Telegram может проверить наличие Telega-сессии: Настройки -> Устройства -> Активные сеансы. Если есть сессия с «Версия системы: iOS SDK 34» — это оператор Telega.
Секретные чаты скомпрометированы
Оператор создаёт полноценную Telegram-сессию с настройкой «Секретные чаты: Принимать» (по умолчанию). При открытии нового secret chat одной из e2e-сторон становится сессия оператора, а не реальное устройство. Оператор получает plaintext secret chat как одна из сторон ключевого обмена.
При использовании Telega скомпрометированы все чаты, включая секретные.
Фотографии перекодируются на сервере
Я отправил одну тестовую картинку двумя способами:
Как файл (через скрепку): картинка дошла побитно идентичной. SHA-256 совпадает.
Как фото (через галерею): SHA-256 изменился. Размер изменился (2539 байт вместо 2298). Пиксели идентичны, но JPEG упакован другой библиотекой (libjpeg вместо encoder отправителя).
Между отправителем и получателем кто-то декодировал фотографию, пропустил через свой сервер и упаковал заново. Кто — очевидно: инфраструктура оператора в 130.49.152.0/24.
Это означает, что оператор видит содержимое каждого фото-сообщения и технически способен подменять пиксели.
Телеметрия: побайтовый профиль каждого пользователя
Раз в сутки Telega отправляет на stats.telega.info детальную статистику:
POST /v1/network/usage Authorization: Bearer v4.local.EW2HsZyLuKol... { "items": [ {"content_type":"call", "wifi":{"incoming":0, "outgoing":0}}, {"content_type":"message", "wifi":{"incoming":3096242, "outgoing":870670}}, {"content_type":"video", "wifi":{"incoming":8766576, "outgoing":0}}, {"content_type":"image", "wifi":{"incoming":2198480, "outgoing":2324}}, {"content_type":"file", "wifi":{"incoming":2942592, "outgoing":0}}, {"content_type":"audio", "wifi":{"incoming":801868, "outgoing":0}}, {"content_type":"total", "wifi":{"incoming":17805758,"outgoing":872994}} ] }
Оператор знает, сколько байт каждый пользователь отправил/получил по каждому типу контента (текст, фото, видео, аудио, файлы, звонки) и через какую сеть (WiFi или мобильные данные). Авторизация через PASETO v4.local — привязана к Telegram user ID, не анонимная.
Такого эндпоинта в настоящем Telegram нет.
Серверная цензура: Mlist
В декомпилированном коде обнаружен пакет ru.dahl.messenger.moderation — механизм серверно-управляемой цензуры.
Как это работает:
Оператор через Firebase Remote Config переключает флаг
moderation_enabledвtrue.Клиент запрашивает у
api.hub.telega.infoсписок идентификаторов (user_id, channel_id, chat_id).Сообщения от этих идентификаторов скрываются локально: каналы не открываются, поиск не находит, сообщения не показываются.
Цензура может быть включена для произвольного подмножества пользователей (по профилю AppMetrica = Telegram user ID), без обновления приложения, в любой момент. Классическая схема: «выключено в магазине, включено после установки».
Секретные чаты заблокированы на уровне конфига
Помимо того, что секретные чаты скомпрометированы через MitM, они ещё и принудительно отключены в клиенте.
В декомпилированном коде класс FeatureManager читает Firebase Remote Config флаг enable_sc. Значение по умолчанию в коде — true. Но сервер оператора возвращает false — и клиент не позволяет ни создавать секретные чаты, ни принимать входящие приглашения. Они молча игнорируются.
Тот же механизм используется для блокировки Telegram-звонков: isTelegramCallFallbackEnabled() жёстко возвращает false без чтения конфига — даже Firebase Remote Config не может включить обратно.
Пользователь Telega лишён обоих механизмов сквозного шифрования в Telegram: ни secret chats, ни зашифрованных голосовых звонков.
Независимая проверка: tria.ge 8/10
Я загрузил base.apk Telega 2.4.2 в публичный песочник tria.ge. Результат: 8 из 10 (высокий уровень угрозы).
Сработавшие сигнатуры (MITRE ATT&CK):
T1426 — root detection (score 8)
T1407 — динамическая загрузка DEX/JAR (score 7)
T1424 — перечисление запущенных процессов (score 7)
T1421 — сбор информации о сети (score 6)
T1422 — чтение данных оператора связи (score 6)
Теги: defense_evasion, discovery, evasion, execution, persistence.
При этом в песочнице не зафиксировано подключений к api.telega.info или 130.49.152.0/24 — потому что MitM-инфраструктура активируется только после ввода номера телефона. Без логина приложение выглядит как обычный Telegram-клиент с Firebase/Google-трафиком. Это объясняет, почему автоматические проверки Google Play не выявили подмену.
Параллельно с этим
Два AppMetrica-проекта работают одновременно (
bc06ee20-...и20799a27-...) — двойная телеметрия в Yandex.Звонки только внутри Telega — через серверы VK Group (
calls.okcdn.ru, AS47764). Кросс-звонки Telega<->Telegram невозможны. Оператор ведёт серверный реестр активных устройств.Автоподписка на канал
@telegaru(6.27 млн подписчиков на момент исследования) с принудительными уведомлениями — без спроса.PII отправляются отдельным эндпоинтом
/v1/api/account: телефон, имя, модель устройства, IP, тайм-зона — на серверы оператора в открытом виде, помимо Telegram handshake.
«Открытый код» на GitHub
Оператор ссылается на Telegru как на исходный код. Я проверил.
Android. Публичный репозиторий Telegru/Telegram-Android — это чистый upstream mirror от DrKLO/Telegram. Пакет org.telegram.messenger, имя «Telegram», ни одного упоминания «Даль» или «Телега». Распространяемый APK — пакет ru.dahl.messenger, десятки собственных интеграций. Связи между ними нет.
Desktop. Форк Telegru/tdesktop содержит минимальные модификации (брендинг + один сетевой запрос). Но критические элементы — подмена DC, инжектированный RSA-ключ, механизм цензуры — есть только в бинарнике, не в публичном коде. Проверено:
git clone --branch custom https://github.com/Telegru/tdesktop.git grep -rIli "dc-proxy\|130.49.152\|2c945714\|api.hub.telega" Telegram/SourceFiles/ # 0 совпадений
Те же маркеры в скачанном Linux-бинарнике Telega:
strings Telega | grep -c "dc-proxy\|130.49.152\|2c945714\|api.hub.telega" # 4+ совпадения
Бинарник собирается из приватного кода, которого нет в публичном репозитории.
Что делать, если Telega установлена
Удалите Telega с устройства.
Откройте Telegram -> Настройки -> Устройства -> Активные сеансы.
Найдите сессии с «Версия системы: iOS SDK 34» или «IP-адрес: Нет данных». Завершите их.
Отпишитесь от
@telegaru/@dahlmessenger.Если вели переписку через Telega — считайте её содержимое известным оператору. Если среди собеседников были источники журналистов, клиенты адвокатов, пациенты — предупредите их.
Оператор
АО «Телега», ИНН 1655506819, Казань. Собственная автономная система AS203502 в RIPE. Маркетинговый бренд «АО Даль». Инфраструктура размещена в Yandex Cloud, VK Cloud Solutions, DDoS-Guard — всё на территории РФ.
Методология
Статический анализ: декомпиляция jadx 1.5.5, сравнение RSA-ключей с эталоном DrKLO/Telegram, WHOIS через RIPE и Censys.
Динамический анализ: Android 14 эмулятор (Pixel 7 AVD), mitmproxy + Frida SSL unpin + pairip bypass, fake GPS Helsinki.
Верификация кода:
git clone+grepпо всем публичным репозиториям Telegru, сравнение сstringsбинарника.
SHA-256 всех артефактов указаны в тексте для независимой верификации.
