Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
mtproto-dissector — Plugin de Wireshark para diseccionar el protocolo Telegram | Kitploit
Herramientas/GitHubGitHub/tomer8007/mtproto-dissector
Sniffing y Análisis de PaquetesHerramientas de Cifrado/DescifradoIngeniería InversaAnálisis ForenseSeguridad de Redes
GitHubtomer8007/mtproto-dissector

mtproto-dissector

Plugin de Wireshark para diseccionar el protocolo Telegram

Ver Repositorio
4015hace 5 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Disector de Protocolo Telegram

Este es un disector de Wireshark que te ayuda a entender el tráfico de Telegram a tu alrededor.

Disecta los paquetes de Telegram que ve según el Protocolo MTProto 2.0.

Características

  • Protocolos de transporte soportados: Abridged, Full, Intermediate, HTTP
  • Soporta desofuscación
  • Soporta reensamblaje TCP
  • Soporta descifrado (con clave de autenticación dada)
  • Disecta cargas útiles RPC del lenguaje TL

Limitaciones

  • Soporta solo MTProto 2.0 (por lo tanto no para clientes anteriores a 2017)
  • Aún no soporta los protocolos de transporte WebSocket/Padded intermediate/UDP
  • El lenguaje TL no se analiza al 100%, por ejemplo, los Arrays Asociativos no son soportados
  • Aún no detecta automáticamente el tráfico MTProxy, ni el tráfico de servidores MTProto no oficiales

Instalación y uso

Para instalar este disector:

  1. Instala los bindings de Lua luagcrypt que son necesarios para las operaciones criptográficas.
    • Es posible compilarlo con luarocks (para la versión de Lua de tu Wireshark)
    • Los usuarios de Windows pueden buscar en este issue un luagcrypt.dll precompilado
    • Copia el luagcrypt.dll/luagcrypt.so correspondiente al directorio de instalación de Wireshark, por ejemplo C:\Program Files\Wireshark
  2. Clona o descarga este repositorio
  3. Copia el directorio mtproto al directorio de plugins de Wireshark, por ejemplo C:\Users\<nombredeusuario>\AppData\Roaming\Wireshark\plugins

Después de la instalación, solo abre Wireshark con algo de tráfico de Telegram.

IMPORTANTE: Para que la desofuscación funcione, se debe conocer toda la conversación TCP desde el principio (según las especificaciones MTProto), por lo que se recomienda abrir la aplicación de Telegram después de que comience la grabación de paquetes.

Extracción de clave de autenticación

Para descifrar el tráfico, necesitarás tener la Clave de Autorización (auth_key) correspondiente.

Las versiones recientes de los clientes oficiales de Telegram usan Perfect Forward Secrecy para los chats en la nube, llamando a auth.bindTempAuthKey al inicio y/o de forma regular. Esto significa que las sesiones principales usarán claves de autenticación temporales (establecidas usando DH) en lugar de permanentes.

Para extraer las claves de autenticación usadas sobre la marcha, se proporcionan dos scripts de frida que enganchan los procesos de Telegram. Para usarlos, asegúrate de tener Frida instalado, y ejecuta:

  • hook_windows_auth_key.py para la aplicación oficial de Windows (con algunos cambios probablemente podría funcionar también en Linux\Mac)
  • hook_android_auth_key.py para la aplicación oficial de Android

Las claves de autenticación y los IDs de clave de autenticación deberían imprimirse tan pronto como se realice alguna comunicación de red.

Una vez que tengas tus claves de autenticación, para alimentar al disector con ellas ve a Editar --> Preferencias --> Protocolos --> MTProto y completa las claves de autenticación.

También puedes extraer la clave de autenticación permanente del archivo tgnet.dat (Android - ver por ejemplo aquí, aquí, aquí) o del archivo key_datas (Escritorio - mira aquí, aquí). Otros clientes probablemente almacenan la auth_key de manera diferente.

Sincronización del nivel de API

A veces, Telegram actualiza la versión del esquema de API en sus clientes (o quizás estás viendo tráfico de clientes más antiguos). Cuando esto sucede, es posible que el esquema TL de esta herramienta esté desincronizado con algunas de las llamadas RPC que ves en tus paquetes, generando mensajes de Incomplete parsing en Wireshark. Puedes ver qué nivel de API está usando tu aplicación en su solicitud invokeWithLayer.

Para sincronizar el disector con el esquema de API correcto, necesitarás descargar el archivo TL de la capa desde Telegram, convertirlo a JSON (ver más abajo) y guardarlo en mtproto/schema/api_tl_schema_layer_X.json donde X es tu número de capa.

Puedes obtener el esquema TL de API actualizado desde api.tl de la aplicación de escritorio, o buscar en el sitio web de Telegram para más versiones.

Para convertir el archivo tl a JSON, ejecuta, por ejemplo (asegúrate de tener npm instalado)

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

Luego asegúrate de copiar el nuevo archivo json a mtproto/schema/ en el directorio de plugins de Wireshark.

Finalmente, en Wireshark ve a Editar --> Preferencias --> Protocolos --> MTPROTO, y cambia "API level" al nivel que coincida con tu tráfico.

Descargar herramienta