Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
mtproto-dissector — Plugin Wireshark per l'analisi del protocollo Telegram | Kitploit
Strumenti/GitHubGitHub/tomer8007/mtproto-dissector
Sniffing e Analisi dei PacchettiStrumenti di Crittografia/DecrittografiaReverse EngineeringInformatica ForenseSicurezza di Rete
GitHubtomer8007/mtproto-dissector

mtproto-dissector

Plugin Wireshark per l'analisi del protocollo Telegram

Vedi Repository
40155 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Dissettore del protocollo Telegram

Questo è un dissettore Wireshark che ti aiuta a comprendere il traffico Telegram che ti circonda.

Analizza i pacchetti Telegram che osserva secondo il protocollo MTProto 2.0.

Caratteristiche

  • Protocolli di trasporto supportati: Abridged, Full, Intermediate, HTTP
  • Supporta la deoffuscazione
  • Supporta il riassemblaggio TCP
  • Supporta la decrittazione (con una chiave di autenticazione fornita)
  • Analizza i payload RPC del linguaggio TL

Limitazioni

  • Supporta solo MTProto 2.0 (quindi non per client precedenti al 2017)
  • Non supporta ancora i protocolli di trasporto WebSocket/Padded intermediate/UDP
  • Il linguaggio TL non è analizzato al 100%, ad esempio gli array associativi non sono supportati
  • Non rileva ancora automaticamente il traffico MTProxy o il traffico per server MTProto non ufficiali

Installazione e utilizzo

Per installare questo dissettore:

  1. Installa i binding lua luagcrypt necessari per le operazioni crittografiche.
    • È possibile compilarli con luarocks (per la versione Lua del tuo Wireshark)
    • Gli utenti Windows possono consultare questo issue per una luagcrypt.dll precompilata
    • Copia la luagcrypt.dll/luagcrypt.so corrispondente nella directory di installazione di Wireshark, ad esempio C:\Program Files\Wireshark
  2. Clona o scarica questo repository
  3. Copia la directory mtproto nella directory dei plugin di Wireshark, ad esempio C:\Users\<username>\AppData\Roaming\Wireshark\plugins

Dopo l'installazione, puoi semplicemente aprire Wireshark con del traffico Telegram.

IMPORTANTE: Affinché la deoffuscazione funzioni, l'intera conversazione TCP deve essere nota dall'inizio (secondo le specifiche MTProto), quindi si consiglia di aprire l'app Telegram dopo l'inizio della registrazione dei pacchetti.

Estrazione della chiave di autenticazione

Per decrittare il traffico, dovrai avere la Authorization Key (auth_key) corrispondente.

Le versioni recenti dei client Telegram ufficiali utilizzano la Perfect Forward Secrecy per le chat cloud, chiamando auth.bindTempAuthKey all'avvio e/o regolarmente. Questo significa che le sessioni principali useranno chiavi di autenticazione temporanee (stabilite tramite DH) piuttosto che permanenti.

Per estrarre al volo le chiavi di autenticazione usate, sono forniti due script frida che agganciano i processi di Telegram. Per utilizzarli, assicurati di avere Frida installato ed esegui:

  • hook_windows_auth_key.py per l'app Windows ufficiale (con alcune modifiche potrebbe probabilmente funzionare anche su Linux\Mac)
  • hook_android_auth_key.py per l'app Android ufficiale

Le chiavi di autenticazione e gli ID delle chiavi di autenticazione dovrebbero essere stampati non appena viene effettuata una comunicazione di rete.

Una volta ottenute le chiavi di autenticazione, per fornirle al dissettore vai su Edit --> Prefrences --> Protocols --> MTProto e inserisci le chiavi di autenticazione.

Puoi anche estrarre la chiave di autenticazione permanente dal file tgnet.dat (Android - vedi ad esempio qui, qui, qui) o dal file key_datas (Desktop - guarda qui, qui). Probabilmente altri client memorizzano l'auth_key in modo diverso.

Sincronizzazione del livello API

A volte Telegram aggiorna la versione dello schema API nei propri client (o forse stai osservando il traffico di client più datati). Quando ciò accade, lo schema TL di questo strumento potrebbe non essere allineato con alcune delle chiamate RPC che vedi nei pacchetti, generando messaggi Incomplete parsing in Wireshark. Puoi vedere quale livello API sta usando la tua app nella sua richiesta invokeWithLayer.

Per sincronizzare il dissettore con lo schema API corretto, dovrai scaricare il file TL del layer da Telegram, convertirlo in JSON (vedi sotto) e salvarlo in mtproto/schema/api_tl_schema_layer_X.json dove X è il numero del tuo layer.

Puoi ottenere lo schema API TL aggiornato da api.tl dell'app desktop, oppure cercare nel sito di Telegram ulteriori versioni.

Per convertire il file tl in JSON, esegui, ad esempio (assicurati di avere npm installato)

root@kitploit:~
C:\path\to\MTproto Dissector> 
npx @psqq/tl-to-json api_layer_218.tl mtproto/schema/api_tl_schema_layer_218.json default --indent 4

Assicurati quindi di copiare il nuovo file json in mtproto/schema/ nella directory dei plugin di Wireshark. Infine, in Wireshark vai su Edit --> Prefrences --> Protocols --> MTPROTO e cambia "API level" con il livello che corrisponde al tuo traffico.

Scarica lo strumento