Powrót do strony głównej

Telega podmienia serwery Telegram: analiza techniczna

Techniczny audyt Telega ujawnił podmianę DC Telegram na serwery operatora, przechwytywanie auth_key i skompromitowanie tajnych czatów. Zdjęcia są ponownie kodowane, telemetria zbiera bajty według typów treści. Publiczny kod nie odpowiada APK.

Analiza Telega: jak klient kradnie sesje Telegram
Advertisement 728x90

Analiza techniczna Telega: podstawianie serwerów i przejmowanie sesji Telegram

Alternatywny klient Telega przekierowuje ruch z oficjalnych serwerów Telegram na własną infrastrukturę w Kazaniu (AS203502, podsieć 130.49.152.0/24). Przy pierwszym uruchomieniu aplikacja pobiera konfigurację przez HTTPS z api.telega.info/v1/dc-proxy i otrzymuje JSON z listą 25 adresów IP, udawanych za serwery DC Telegram.

{
  "dc_version": 2,
  "dcs": [
    {"id":1, "addresses":[
      {"host":"130.49.152.50","port":443},
      {"host":"130.49.152.20","port":443}
    ]}
  ]
}

Wszystkie adresy należą do operatora Telega. Zaufanie jest zapewniane wstrzykniętym kluczem RSA (odcisk 0x2c945714333b5ebd) w bibliotece libtmessages.49.so, którego brak w oficjalnym Telegramie. Serwery podpisują MTProto-handshake tym kluczem, klient akceptuje połączenie.

Operator generuje auth_key — klucz dostępu do konta. W efekcie w oficjalnym Telegramie pojawia się nieautoryzowana sesja.

Google AdInline article slot

Dynamiczny eksperyment: potwierdzenie MitM

Na emulatorze Android 14 z kontem testowym po onboardingu w Telega w oficjalnym kliencie wyświetliła się nowa sesja:

  • Wersja systemu: iOS SDK 34 (fałszywka, konkatenacja iOS + poziom API Android).
  • Lokalizacja: Rosja (po IP serwera, mimo fałszywego GPS w Helsinkach).
  • Adres IP: Brak danych.
  • Sekretne czaty: Akceptować.

Każdy użytkownik może to sprawdzić: Ustawienia → Urządzenia → Aktywne sesje. Sesja z „iOS SDK 34” wskazuje na Telega.

Kompromitacja sekretnych czatów i mediów

Sesja operatora ma ustawienie „Sekretne czaty: Akceptować”. Przy inicjalizacji secret chat jedną stroną E2E staje się serwer operatora, otrzymujący plaintext.

Google AdInline article slot

Zdjęcia z galerii (nie pliki) są przekodowywane:

  • Wysyłka pliku: SHA-256 identyczny.
  • Wysyłka zdjęcia: SHA-256 zmieniony, rozmiar 2539 → 2298 bajtów, inna biblioteka JPEG.

Serwer dekoduje, przetwarza i reenkoduje obraz, widząc treść w formie jawnej.

Sekretne czaty są dodatkowo blokowane: Firebase Remote Config zwraca enable_sc: false. Dzwonienie w Telegramie jest wyłączone na sztywno w kodzie (isTelegramCallFallbackEnabled() = false).

Google AdInline article slot

Telemetria i cenzura

Codziennie Telega wysyła statystyki na stats.telega.info:

POST /v1/network/usage
{
  "items": [
    {"content_type":"message", "wifi":{"incoming":3096242, "outgoing":870670}},
    {"content_type":"video", "wifi":{"incoming":8766576, "outgoing":0}}
  ]
}

Dane wg typów treści (bajty w/na WiFi/mobilne), powiązane z user ID przez PASETO v4.local.

Mechanizm cenzury (ru.dahl.messenger.moderation):

  • Firebase włącza moderation_enabled.
  • Klient pobiera Mlist z api.hub.telega.info (user_id, channel_id).
  • Wiadomości są ukrywane lokalnie.

Analiza kodu i piaskownicy

Publiczny GitHub (Telegru/Telegram-Android) — czysty upstream bez podstawiania DC czy klucza RSA. APK (ru.dahl.messenger) zawiera prywatne modyfikacje.

Piaskownica tria.ge dla APK SHA-256 efb7a89496e11af0bd8516a7a571a723a393be62feaf542810f999200ffcbe9c: 8/10 zagrożeń.

Sygnatury MITRE ATT&CK:

  • T1426: wykrywanie roota (8).
  • T1407: dynamiczne ładowanie DEX/JAR (7).
  • T1424: wyliczanie procesów (7).
  • T1421: rekonesans sieciowy (6).
  • T1422: dane operatora (6).

Dodatkowo: podwójna AppMetrica, PII na /v1/api/account, autopodpisanie @telegaru, połączenia przez VK.

Co ważne

  • Telega podstawia serwery DC Telegram swoimi, przejmując auth_key i widząc jawne media.
  • Sesje maskowane jako „iOS SDK 34”, łatwe do wykrycia w ustawieniach Telegrama.
  • Sekretne czaty zablokowane i skompromitowane przez MitM.
  • Telemetria i cenzura sterowane serwerowo bez aktualizacji APK.
  • Publiczny kod nie zgadza się z binarką.

— Editorial Team

Advertisement 728x90

Czytaj dalej