Threat Intelligence · Mobile Application Analysis
Report · IR-2026-0324-004

MITM Attack Analysis
Telega Messenger

Complete technical analysis of a Man-in-the-Middle attack built into the Telega unofficial Telegram client. DC proxy IP substitution, RSA key injection, PFS disabling, secret chat suppression, and government censorship infrastructure.

Subject: Telega_(RS)_v.2.4.0(104)(7.0-15.0)(arm7a,arm64-8a).apk (129.5 MB) — unofficial Telegram client for Android.
Package: ru.dahl.messengerconfirmed spyware.
Method: Static reverse engineering (jadx, IDA Pro) + dynamic behavioral sandbox analysis (Recorded Future Sandbox).
Result: Confirmed MITM capability — intercepts all Telegram traffic via custom proxy servers with rogue RSA key.
Classification
CRITICAL
Date
2026-03-24
Severity
CRITICAL
Verdict
SPYWARE / MITM
SHA256
ca47b6d304aeeff3be30c564f50939df4463aef810974c2e306eb9ef006d34f0
Analysis
Recorded Future + JADX + IDA Pro
8.0/10

Threat Score: Critical

Unofficial Telegram client with built-in MITM proxy, rogue RSA key, disabled PFS, suppressed secret chats, and government censorship integration (RKN). All Telegram traffic is interceptable.

MITMspywareRSA key injectionPFS disableddata collectioncensorshipanti-analysis
Quick Brief

TL;DR — Executive Brief

What is it

Telega is an unofficial Telegram client (ru.dahl.messenger) marketed as a "faster, more convenient" alternative. In reality, it is a state-sponsored surveillance tool with a built-in Man-in-the-Middle attack against Telegram's encryption.

On March 18, 2026, Telega's operators activated a hidden MITM function that redirects all Telegram traffic through their own proxy servers. They replace Telegram's DC IP addresses, inject a rogue RSA public key, disable Perfect Forward Secrecy, suppress end-to-end encrypted secret chats, and operate censorship panels (Zeus, Cerberus) that process blocking requests from Russian government agencies (RKN).

What it does (plain language)

1. Replaces Telegram servers with its own. On startup, Telega fetches proxy config from api.telega.info/v1/dc-proxy, receiving IP addresses in the 130.49.152.0/24 range (AS203502, "JOINT STOCK COMPANY TELEGA"). These replace real Telegram data center addresses. All your traffic now flows through Telega's infrastructure.

2. Injects a rogue encryption key. The APK's native library (libtmessages.49.so) contains 4 RSA public keys. Official Telegram has only 3 of these. The extra key (at address 0x15788E1) is accepted only by Telega's proxy servers — proving they hold the private key. This enables full traffic decryption.

3. Forces re-login to seize encryption keys. Via silent push notifications (dc_force_switch, dc_update_version) or a deceptive promo banner ("Re-login to speed up your connection"), Telega forces a logout that destroys your auth_key. The new handshake goes through MITM, giving them a fresh encryption key.

4. Disables Perfect Forward Secrecy. Official Telegram hardcodes PFS as true. Telega defaults it to false via /dc-proxy options. Without PFS, a single key compromise exposes all past and future messages.

5. Silently blocks secret chats. Via Firebase Remote Config (enable_sc=false), Telega suppresses all E2E encrypted secret chats. Incoming requests are silently ignored. The "Start Secret Chat" button is hidden. Users never know.

6. Censors content on government orders. Built-in blacklist system (api.telega.info/v1/api/blacklist/filter) blocks channels, users, and bots for all Telega users, showing "Content unavailable due to platform policy violations" — making users think Telegram blocked it, not Telega.

7. Operates moderation panels for RKN. Two discovered panels: Zeus (ticket system for Roskomnadzor blocking requests) and Cerberus (real-time AI-powered message moderation Mini App). Both found on stage.telega.info subdomains.

8. Collects extensive device data. Reads contacts, photos, running processes, accounts, phone state, network info, location (fine + coarse + background). Uses Yandex AppMetrica for analytics. Checks for root, debugger, QEMU emulator to evade analysis.

Why it's dangerous

This is not a "minor privacy concern". Telega operators can: read all incoming and outgoing messages in any chat, view full message history, modify message content, block channels/users while blaming Telegram, store all your data and share it with third parties — especially law enforcement.

One Telega user compromises all their contacts. Anyone who messages a Telega user has their messages intercepted — even if they use the official Telegram client. The contacts don't know and can't consent.

Telega is worse than a government messenger. At least with a government app, you know your messages are monitored. With Telega, you believe you're using Telegram's encryption — while everything flows through state-connected infrastructure.

What to do

If you use Telega: Uninstall immediately. Log out of all Telegram sessions from Settings → Devices. Change your 2FA password. Warn your contacts that your messages may have been intercepted.

If you don't use Telega: Warn anyone who does. Block api.telega.info, gate.telega.info, and the 130.49.152.0/24 subnet at your network perimeter. Use only the official Telegram client or Telegram's built-in proxy.

YonSeSecurity Threat Score: 8.0 / 10 — CRITICAL. If you used Telega, consider all Telegram messages compromised.

Section 01

Executive Summary

Telega (ru.dahl.messenger) is an unofficial Telegram client for Android that embeds a fully functional Man-in-the-Middle attack against the MTProto protocol. The application replaces Telegram data center IP addresses with proxy servers controlled by AS203502 ("JOINT STOCK COMPANY TELEGA"), injects a fourth RSA public key not present in official Telegram, and disables Perfect Forward Secrecy — enabling complete interception, decryption, and modification of all user traffic.

Sandbox analysis by Recorded Future scored the sample 8/10 (Likely Malicious) across two independent runs, flagging defense evasion, data collection, execution, persistence, and impact behaviors. Reverse engineering of the APK (jadx) and native library (IDA Pro on libtmessages.49.so) confirmed the MITM infrastructure at the code level.

Additionally, Telega operates two moderation/censorship panels discovered on stage.telega.info: Zeus (a ticket system processing Roskomnadzor blocking requests) and Cerberus (a Telegram Mini App for real-time AI-powered message moderation). The upstream AS of Telega's network is AS47764 LLC VK (Mail.ru), indicating potential ties to Russian state-connected technology companies.

Classification: Spyware / MITM Proxy / Government Surveillance Tool

Section 02

Sample Identification

FieldValue
FilenameTelega_(RS)_v.2.4.0(104)(7.0-15.0)(arm7a,arm64-8a).apk
Size129.5 MB
SHA256ca47b6d304aeeff3be30c564f50939df4463aef810974c2e306eb9ef006d34f0
Packageru.dahl.messenger
PlatformAndroid 7.0–15.0 (arm7a, arm64-8a)
Sandbox IDs260324-wx176sds9n, 260324-w2hxdshw7y
Sandbox Score8 / 10 — Likely Malicious
Sandbox Platformandroid-35-x64-arm64-20260306-en
Analysis Tagscollection defense_evasion discovery execution persistence impact
Distribution Sitetelega.me
Telegram Channels@dahlmessenger, @telegaru
Section 03

MITM Attack Mechanism

3.1 DC Proxy — IP Address Substitution Critical

On startup, Telega's DCRestService makes a GET request to https://api.telega.info/v1/dc-proxy. The response contains replacement IP addresses for all 5 Telegram data centers:

// ru/dahl/messenger/data/rest/RestClient.java public static final String API_URL = "https://api.telega.info/v1/"; // Response format: { "dc_version": 2, "dcs": [ { "id": 2, "addresses": [{ "host": "130.49.152.41", "port": 443 }] } ] }

All IPs are in 130.49.152.0/24, belonging to AS203502 "JOINT STOCK COMPANY TELEGA", registered November 24, 2025 (very recent). The sole upstream is AS47764 LLC VK (Mail.ru), and the neighboring subnet 130.49.224.0/19 also belongs to VK. This raises questions about how a "small startup from Kazan" obtained its own autonomous system number and a /24 IP block. These IPs replace the real Telegram DC addresses (e.g., 149.154.167.50 for DC2 in Amsterdam).

Call Chain

LoginActivity.onFragmentCreate()DCAuthHelper.initialize()DCRepository.fetchAndSaveDcs()GET api.telega.info/v1/dc-proxyDCRepository.handleDcConfig()ConnectionsManager.setDcVersion() with Telega's IPs replacing all Telegram DCs.

VPN Blocking & Proxy Deletion

Firebase Remote Config includes connection_no_vpn_mode: "true", actively discouraging VPN usage. When Telega mode activates (dcVersion == 2), all user-configured proxies are silently deleted:

// When dcVersion == 2: ProxyRepository.disable(); SharedConfig.deleteProxy(all); // User's custom proxy settings are wiped without notification

3.2 Forced Re-Authentication Critical

Telega can force logout via multiple vectors, destroying the auth_key and forcing a new MTProto handshake through the MITM proxy:

VectorClassTrigger
Silent pushTelegaPushHandlertype=dc_update_version, force_relogin=true
Silent pushTelegaPushHandlertype=dc_force_switch, force_reconnect=true
Deep linkDCDeepLinkHandlertg://dc_event?force_relogin=true
Promo bannerDCMigrationHelper"Re-login to speed up your connection"
Deceptive Promo Banner Text

The promo banner (classes PromoRestClient, DahlBannerCell, DCMigrationHelper) shows:

"Re-login to speed up your connection We are migrating to dedicated servers for maximum speed and stability of calls, chats, and media downloads. You just need to re-login to your account."

The TelegramBridge.logout() method executes three destructive operations:

// TelegramBridge.logout(int i): clearDismissedPromos(); UserConfig.getInstance(i).clearConfig(); // destroys session + auth_key MessagesController.getInstance(i).performLogout(0); // signals server ConnectionsManager.getInstance(i).cleanup(true); // kills all connections
// DCEventHandler.performSoftLogoutForAllAccounts() for (int i = 0; i < maxAccountCount; i++) { if (getBridge().isClientActivated(i)) { getBridge().logout(i); // clears auth_key + session } }
Section 04

RSA Key Injection

Analysis of libtmessages.49.so (arm64) via IDA Pro reveals 4 RSA public keys. Official Telegram contains only 3 of these:

AddressIn Telegram?Status
0x1576FFCYes (0x15704DC)Legitimate
0x15788E1NOROGUE KEY
0x1578A8BYes (0x1571CAE)Legitimate
0x1578C35Yes (0x1571E58)Legitimate
Proof: MTProto Handshake Test

A Python script performing MTProto handshake with the rogue key fingerprint 0x2c945714333b5ebd was tested against both servers:

$ python3 mtproto_handshake_test.py 149.154.167.50 # Real Telegram DC2 Server fingerprints: ['0xd09d1d85de64fd85', '0x0bc35f3509f7b7a5', '0xc3b42b026ce86b21'] Our fingerprint in list: False RESULT: transport error -404 => Server does NOT hold the private key for this RSA key. $ python3 mtproto_handshake_test.py 130.49.152.41 # Telega DC2 Server fingerprints: ['0x2c945714333b5ebd'] Our fingerprint in list: True RESULT: server_DH_params_ok => Server HOLDS the private key for this RSA key.

Conclusion: Telega's proxy server holds the private key for the rogue RSA key — confirming they can decrypt the initial MTProto handshake and establish MITM.

Section 05

PFS Disabled & Secret Chats Suppressed

5.1 Perfect Forward Secrecy Disabled Critical

Official Telegram hardcodes PFS as true at build time. Telega defaults to false, controlled via the /dc-proxy endpoint:

// DCRepository.handleDcConfig() DcOptions options = dcConfig.getOptions(); boolean usePfs = false; // disabled by default! if (options != null && options.getUsePfs() != null) { usePfs = options.getUsePfs().booleanValue(); }

Without PFS, the permanent auth_key encrypts all traffic. If Telega obtains this key (via MITM handshake), all past and future messages are decryptable.

5.2 Secret Chats Silently Suppressed Critical

Firebase Remote Config sets enable_sc = false. The full config dump reveals additional concerning flags:

// Firebase Remote Config (current server state, complete) { "entries": { "ads_control": "true", "autosubscribe_channel": "true", // Force-subscribe to channels! "connection_no_vpn_mode": "true", // Block VPN connections! "connection_settings": "true", "connection_stable_calls": "true", "enable_sc": "false", // Secret chats DISABLED "group_video_calls": "false", "moderation_enabled": "false", "parental_control_core": "true", // "Parental control" = censorship "telega_calls": "true", "telega_p2p_calls": "true", "telegram_call_fallback": "false", // No Telegram fallback for calls "telega_wall": "true", "waitlist_enabled": "true" }, "state": "UPDATE", "templateVersion": "472" }
// SecretChatHelper.acceptSecretChat(): public void acceptSecretChat(final TLRPC.EncryptedChat encryptedChat) { if (this.acceptingChats.get(encryptedChat.id) == null && FeatureManager.currentInstance().isSCEnabled()) { // accept logic -- never reached when enable_sc=false } }
Impact

Since FeatureManager.currentInstance().isSCEnabled() returns false, incoming secret chat requests are silently ignored. The "Start Secret Chat" button is hidden. Deep links to secret chats are suppressed. Users have no indication that E2E encryption is unavailable. Critically, this flag is server-controlled — Telega can toggle secret chats on/off remotely at any time.

Section 06

Censorship & Moderation System

6.1 Client-Side Blacklist High

Telega's client contains a blacklist filtering system that blocks content for all users:

POST https://api.telega.info/v1/api/blacklist/filter Body: { "targets": [{ "type": "user|channel|chat|bot", "id": 123456 }] } Response: { "blacklisted": [{ "type": "user", "id": 123456 }] } // BlacklistedOverlay message: "Content unavailable due to platform policy violations"
Check LocationEffect
ChatActivity.checkIsBlacklistedBlocks opening chat
ProfileActivity.checkIsBlacklistedBlocks viewing profile
PeerStoriesView.checkIsBlacklistedBlocks viewing stories
Blacklist System Architecture — 7 Key Classes
1. ru.dahl.messenger.data.rest.ModerationService → HTTP POST api/blacklist/filter 2. ru.dahl.messenger.data.repository.ModerationRepository → Local cache + remote check 3. ru.dahl.messenger.data.entity.BlacklistRequestObject → Request: { targets: [{ type, id }] } 4. ru.dahl.messenger.data.entity.BlacklistResponseObject → Response: { blacklisted: [...] } 5. ru.dahl.messenger.data.entity.TargetType → Enum: USER, CHANNEL, CHAT, BOT 6. ru.dahl.messenger.data.entity.TelegaUserConfig → Per-user blacklistFilterEnabled 7. ru.dahl.messenger.ui.components.BlacklistedOverlay → UI blocking overlay

Results are cached locally in moderation_list SharedPreferences. The overlay displays: "Content unavailable — This [chat/channel/bot] is unavailable due to platform policy violations" — impersonating Telegram's own blocking.

6.2 Zeus Panel — RKN Ticket System High

Discovered at demo.stage.telega.info. A web panel for processing government blocking requests with 3 project categories:

ProjectDescriptionSource
REESTRChannel/group/bot restriction requestsRKN (Roskomnadzor)
Personal DataUser personal data requestsRKN
Content RisksDisinformation, media contentInternal

6.3 Cerberus Panel — AI Moderation High

Telegram Mini App at cerberus-webapp.telega.info for real-time message moderation with AI classification:

FeatureDetail
AI Toxicity Threshold80% (auto-delete above threshold)
AI Spam Threshold85%
Auto-deleteEnabled by default for high-confidence violations
Auto-banAfter 3 violations
Actionsdelete, ban, reply, escalate
Section 07

Sandbox Behavioral Analysis

Two independent Recorded Future Sandbox runs confirmed the following malicious behaviors:

Defense Evasion

BehaviorIndicator
Root detection (9 paths)/system/bin/su, /data/local/bin/su, /system/sd/xbin/su, /data/local/su, /system/app/Superuser.apk, /sbin/su, /data/local/xbin/su, /system/bin/failsafe/su, /system/xbin/su
Emulator detection/dev/socket/qemud, /dev/qemu_pipe
Debugger detectionChecks presence of debugger
CPU fingerprinting/proc/cpuinfo

Data Collection

Data TypeIndicator
Contactscontent://com.android.contacts/contacts
Photoscontent://media/external/images/media
AccountsIAccountManager.getAccountsAsUser
Running processesIActivityManager.getRunningAppProcesses
Network infoIConnectivityManager.getActiveNetworkInfo
Phone operatorReads network operator info

Regional Targeting & Multi-Account

Sandbox file artifacts reveal city-specific theme images targeting Russian/Chechen regions, and data for 3 separate Telegram accounts:

ArtifactSignificance
dahl_russia.pngRussia-wide theme
dahl_kazan.pngKazan (Telega's claimed origin)
dahl_piter.pngSaint Petersburg
dahl_moscow.pngMoscow
dahl_makhachkala.pngMakhachkala (Dagestan)
dahl_groznyi.pngGrozny (Chechnya)
dahl_day_theme.atthemeCustom theme engine
account1/stats2.dat, account2/stats2.dat, account3/stats2.datMulti-account support (3 accounts)
remote_en.xmlRemote localization config

Persistence & Execution

BehaviorIndicator
Scheduled tasksIJobScheduler.schedule
Wake lockIPowerManager.acquireWakeLock
Crypto APIsjavax.crypto.Cipher.doFinal
Section 08

Dangerous Permissions

Telega requests an excessive set of Android permissions far beyond what a messaging app needs:

PermissionRisk
ACCESS_FINE_LOCATIONPrecise GPS tracking
ACCESS_BACKGROUND_LOCATIONTrack location when app is closed
RECORD_AUDIOMicrophone access
CAMERACamera access
READ_CONTACTSFull contact list
WRITE_CONTACTSModify contacts
READ_PHONE_STATEPhone number, IMEI
READ_PHONE_NUMBERSAll phone numbers
CALL_PHONEInitiate calls without UI
READ_EXTERNAL_STORAGEAccess all files
WRITE_EXTERNAL_STORAGEModify all files
READ_MEDIA_IMAGES/VIDEO/AUDIOAccess all media
GET_ACCOUNTSList all device accounts
REQUEST_INSTALL_PACKAGESInstall APKs silently
SYSTEM_ALERT_WINDOWDraw over other apps
BLUETOOTH_CONNECTAccess paired BT devices
ACCESS_MEDIA_LOCATIONGPS coordinates from photos
POST_NOTIFICATIONSPush silent notifications (MITM triggers)
BIND_TELECOM_CONNECTION_SERVICETelecom service binding
BIND_REMOTEVIEWSRemote view service binding
BIND_CHOOSER_TARGET_SERVICETarget chooser binding
Section 09

Network Indicators

CountryDestinationDomainProtoAnalysis
N/A224.0.0.251:5353UDPmDNS multicast
RU158.160.224.173:443gate.telega.infoTCPTelega API gateway
NL149.154.167.50:443TCPTelegram DC2 (real)
NL149.154.167.51:443TCPTelegram DC2 (real)
RU213.180.204.244:443startup.mobile.yandex.netTCPYandex SDK init
RU213.180.193.226:443report.appmetrica.yandex.netTCPYandex analytics
RU213.180.204.244:443nq.appmetrica.yandex.netTCPYandex metrics
US142.250.*.443firebase-settings.crashlytics.comTCPFirebase/Crashlytics
US142.250.*.443firebaseremoteconfig.googleapis.comTCPRemote Config (enable_sc)
AU1.1.1.1:53chrome.cloudflare-dns.comUDPCloudflare DoH
US172.64.41.3:443chrome.cloudflare-dns.comTCPCloudflare DoH (bypass)
US142.250.191.14:443www.youtube.comTCPYouTube integration
Section 10

MITRE ATT&CK Mobile v16

Execution
Scheduled Task/Job
T1603
Persistence
Scheduled Task/Job
T1603
Defense Evasion
Virtualization/Sandbox Evasion
T1633
Defense Evasion
System Checks
T1633.001
Discovery
Process Discovery
T1424
Discovery
System Information Discovery
T1426
Discovery
System Network Config Discovery
T1422
Discovery
System Network Connections
T1421
Collection
Data from Local System
T1533
Collection
Protected User Data
T1636
Collection
Contact List
T1636.003
Collection
Stored Application Data
T1409
Network Effects
Manipulate Device Communication
T1463
Network Effects
Downgrade Attack (PFS)
T1466
Network Effects
Rogue Cellular Base Station (proxy)
T1467
Impact
Data Encrypted for Impact
T1471
Section 11

Indicators of Compromise

Sample Hash

APK SHA256
ca47b6d304aeeff3be30c564f50939df4463aef810974c2e306eb9ef006d34f0
Package Name
ru.dahl.messenger

Network IOCs

C2 / API Gateway (BLOCK)
api.telega.info
gate.telega.info
Distribution Site (BLOCK)
telega.me
MITM Proxy Subnet (BLOCK)
130.49.152.0/24
AS203502 "JSC TELEGA"
Moderation Panels
demo.stage.telega.info
cerberus-webapp.telega.info
cerberus-api.stage.telega.info
Analytics (Yandex)
report.appmetrica.yandex.net
startup.mobile.yandex.net
nq.appmetrica.yandex.net

RSA Key Fingerprint (Rogue)

Rogue RSA Key Fingerprint
0x2c945714333b5ebd (at libtmessages.49.so:0x15788E1)
SHA256 of key: 7f7d5bd9..104f3fe1

File Paths

App Data
/data/data/ru.dahl.messenger/
Firebase Config
/data/data/ru.dahl.messenger/files/datastore/FirebaseHeartBeat*
Shared Prefs
/data/data/ru.dahl.messenger/shared_prefs/mainconfig.xml
Theme Assets
/data/data/ru.dahl.messenger/files/dahl_*.png
Section 12

Risk Assessment

MITM / Traffic Interception10/10
RSA Key Compromise10/10
PFS Downgrade9/10
Secret Chat Suppression9/10
Government Censorship8/10
Data Collection8/10
Defense Evasion7/10
Third-Party Data Sharing7/10

COMPOSITE THREAT SCORE: 8.0 / 10 — CONFIRMED SPYWARE WITH MITM CAPABILITY

Section 13

Recommendations

For Telega Users

Uninstall Telega immediately from all devices
Terminate all Telegram sessions via Settings → Devices → Terminate All Other Sessions
Change 2FA password in Telegram settings
Warn all contacts that messages exchanged via Telega may have been intercepted
Review sensitive conversations — assume any messages sent through Telega are compromised
Install official Telegram only from telegram.org or official app stores

For Network Administrators

Block api.telega.info, gate.telega.info at DNS/proxy level
Block subnet 130.49.152.0/24 (AS203502) at the firewall
Block *.stage.telega.info subdomains
Monitor for ru.dahl.messenger package on managed Android devices (MDM)
Alert on DNS queries to telega.info domain and subdomains

For Everyone

Never use unofficial Telegram clients. They can replace encryption keys, proxy servers, and disable security features without your knowledge.
Use Telegram's built-in proxy for censorship circumvention, not third-party clients.
Section 14

Conclusions

Finding 1 — Confirmed MITM Infrastructure

Telega replaces Telegram DC addresses with proxy servers it controls, injects a rogue RSA key whose private counterpart is held by Telega's servers (cryptographically proven), and disables PFS. This is a textbook Man-in-the-Middle attack against MTProto.

Finding 2 — State-Connected Surveillance

The upstream AS is VK (Mail.ru). Moderation panels process RKN blocking requests. The infrastructure's sophistication (own AS, /24 IP block, multiple moderation panels) is inconsistent with a "small startup from Kazan" — pointing to state backing.

Finding 3 — Silent Security Downgrade

Users believe they are using Telegram's encryption. In reality: PFS is off, secret chats are suppressed, and all traffic flows through a MITM proxy. No notification, no consent, no indication.

Finding 4 — Collateral Damage

One Telega user compromises all their contacts. Anyone messaging a Telega user has their messages intercepted — even on the official client. The privacy violation extends to everyone in the contact network.

Finding 5 — Worse Than a Government Messenger

Using Telega is equivalent to handing your phone to a stranger with government connections. Unlike a known government app, Telega creates the illusion of Telegram's privacy while operating as a surveillance pipeline. Years of message history, subscribed channels, and contact networks become accessible.