Seguridad en Telegram: criptógrafos y sysadmins

El pasado viernes tuve la oportunidad, un año más, de participar como ponente en la Sysmana 2014 organizada por el IES Gran Capitán de Córdoba. Mi charla tenía como temática la seguridad en Telegram. Basé mi investigación en demostrar que a través de una captura de tráfico de conversaciones e intercambio de imágenes entre clientes y servidores de Telegram prácticamente no se podía sacar ninguna información sensible, por lo que a nivel de cifrado de las comunicaciones, su protocolo propio, MTProto parece que cumple con su funcionalidad, al menos a lo que respecta en la confidencialidad de las comunicaciones. Los criptógrafos habían hecho bien su trabajo.

Los asistentes a mi charla en su gran mayoría eran administradores de sistemas, y qué mejor momento para romper una lanza a su favor, y demostrar que igual de importante es mantener la privacidad en las comunicaciones que mantener unos sistemas seguros. In-situ pudimos comprobar cómo, a través del fichero log que Telegram amablemente nos pone a nuestra disposición para participar en su Crypto Contest e intentar ganar los 200.000 dólares, pudimos enumerar varios datos que a nuestro parecer, son interesantes.

Telegram - MTProto log file
Telegram – MTProto log file

Entiendo que cualquier criptógrafo sería capaz de «ver» más allá (o no) de esta captura o al menos intuir algo, nosotros, que no somos criptógrafos, sólo vemos direcciones IP, puertos, tamaños de mensajes y timestamps.

Por ejemplo, como curiosidad, nos dimos cuenta de que los valores tipo 1387394479.06 no eran otra cosa que Unix Timestamps, y que con un simple conversor online podíamos traducir ese valor en una fecha que fuera legible.

Telegram - Timestamps
Telegram – Timestamps

¿Y esto sirve para descrifrar los mensajes y ganar los 200.000 dólares? Pues no, o quizás si, pero nos sirve para enumerar los servidores y sacar un listado de 5 servidores que usa Telegram.

Telegram - Servers
Telegram – Servers

No es la intención de este post centrarse ahora en enumerar servicios y posibles vulnerabilidades de estos servidores, sólo quería destacar una cosa que me resultó muy curiosa cuando procedí a realizar resoluciones inversas de estas direcciones IP.

La resolución inversa de las tres primeras direcciones IP no dieron ningún resultado significativo, la cuarta y quinta dirección IP si devolvieron información de interés.

Telegram - servers
Telegram – servers

La resolución de la última IP devuelve el dominio vkontakte.ru que, para quien no sepa lo que es, es la red social creada por los hermanos Durov, los creadores de Telegram. Vkontakte está considerado el Facebook ruso. Curioso, ¿no?

Cada uno que saque sus propias conclusiones 😉

Saludos!