Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
mtproto-dissector — Plugin Wireshark pour disséquer le protocole Telegram | Kitploit
Outils/GitHubGitHub/tomer8007/mtproto-dissector
Sniffing et Analyse de PaquetsOutils de Chiffrement/DéchiffrementRétro-ingénierieAnalyse ForensiqueSécurité Réseau
GitHubtomer8007/mtproto-dissector

mtproto-dissector

Plugin Wireshark pour disséquer le protocole Telegram

Voir le dépôt
40il y a 5 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Dissecteur de protocole Telegram

Ceci est un dissecteur Wireshark qui vous aide à comprendre le trafic Telegram qui vous entoure.

Il dissèque les paquets Telegram qu'il voit selon le protocole MTProto 2.0.

Fonctionnalités

  • Protocoles de transport pris en charge : Abridged, Full, Intermediate, HTTP
  • Prend en charge la dés-obfuscation
  • Prend en charge le réassemblage TCP
  • Prend en charge le déchiffrement (avec une clé d'authentification donnée)
  • Dissèque les charges utiles RPC du langage TL

Limitations

  • Ne prend en charge que MTProto 2.0 (donc pas pour les clients antérieurs à 2017)
  • Ne prend pas encore en charge les protocoles de transport WebSocket/Padded intermediate/UDP
  • Le langage TL n'est pas analysé à 100%, par exemple les tableaux associatifs ne sont pas pris en charge.
  • Ne détecte pas encore automatiquement le trafic MTProxy, ou le trafic pour les serveurs MTProto non officiels

Installation et utilisation

Pour installer ce dissecteur :

  1. Installez les liaisons Lua luagcrypt nécessaires aux opérations cryptographiques.
    • Possibilité de le compiler avec luarocks (pour la version Lua de votre Wireshark)
    • Les utilisateurs Windows peuvent consulter cette issue pour une luagcrypt.dll pré-compilée
    • Copiez le luagcrypt.dll/luagcrypt.so correspondant dans le répertoire d'installation de Wireshark, par exemple C:\Program Files\Wireshark
  2. Clonez ou téléchargez ce dépôt
  3. Copiez le répertoire mtproto dans le répertoire des plugins Wireshark, par exemple C:\Users\<nom_utilisateur>\AppData\Roaming\Wireshark\plugins

Après installation, vous pouvez simplement ouvrir Wireshark avec du trafic Telegram.

IMPORTANT : Pour que la dés-obfuscation fonctionne, toute la conversation TCP doit être connue depuis le début (selon les spécifications MTProto), il est donc recommandé d'ouvrir l'application Telegram après le début de l'enregistrement des paquets.

Extraction de la clé d'authentification

Pour déchiffrer le trafic, vous aurez besoin de la clé d'autorisation (auth_key) correspondante.

Les versions récentes des clients Telegram officiels utilisent Perfect Forward Secrecy pour les discussions cloud, en appelant auth.bindTempAuthKey au démarrage et\ou régulièrement. Cela signifie que les sessions principales utiliseront des clés d'authentification temporaires (établies via DH) plutôt que des clés permanentes.

Pour extraire les clés d'authentification utilisées à la volée, deux scripts frida sont fournis qui interceptent les processus Telegram.

Pour les utiliser, assurez-vous d'avoir Frida installé, et exécutez :

  • hook_windows_auth_key.py pour l'application Windows officielle (avec quelques modifications pourrait probablement fonctionner sur Linux\Mac aussi)
  • hook_android_auth_key.py pour l'application Android officielle

Les clés d'authentification et leurs identifiants devraient être imprimés dès qu'une communication réseau a lieu.

Une fois que vous avez vos clés d'authentification, pour les fournir au dissecteur, allez dans Edition --> Préférences --> Protocoles --> MTProto et remplissez les clés d'authentification.

Vous pouvez également extraire la clé d'authentification permanente du fichier tgnet.dat (Android - voir par exemple ici, ici, ici) ou du fichier key_datas (Desktop - voir ici, ici). Les autres clients stockent probablement la clé d'authentification d'une manière différente.

Synchronisation du niveau API

Parfois, Telegram met à jour la version du schéma API dans ses clients (ou peut-être regardez-vous du trafic de clients plus anciens). Lorsque cela se produit, il est possible que le schéma TL de cet outil ne soit plus synchronisé avec certains appels RPC que vous voyez dans vos paquets, soulevant des messages Incomplete parsing dans Wireshark. Vous pouvez voir quel niveau API votre application utilise dans sa demande invokeWithLayer.

Pour synchroniser le dissecteur avec le schéma API correct, vous devrez télécharger le fichier TL du calque depuis Telegram, le convertir en JSON (voir ci-dessous) et le sauvegarder sous mtproto/schema/api_tl_schema_layer_X.json où X est votre numéro de calque.

Vous pouvez obtenir le schéma TL API mis à jour depuis le fichier api.tl de l'application de bureau, ou consulter le site Telegram pour plus de versions.

Pour convertir le fichier tl en JSON, exécutez, par exemple (assurez-vous d'avoir npm installé)

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

Ensuite, assurez-vous de copier le nouveau fichier json dans mtproto/schema/ dans le répertoire des plugins de Wireshark.

Enfin, dans Wireshark, allez dans Edition --> Préférences --> Protocoles --> MTPROTO, et changez le « Niveau API » pour le niveau qui correspond à votre trafic.

Télécharger l’outil