Actualidad
Spanish Chinese (Traditional) English French German Italian Portuguese Russian Grupo Edefa

Como robar una cuenta de Telegram

Llevaba un par de años al menos con ganas de escribir este artículo sobre la seguridad de Telegram. El artículo de hoy es menos técnico de lo que suena o por lo menos su primera parte. No soy fan de ninguna app de mensajería en particular y por igual no tengo nada en contra de ninguna. Sin embargo, no pasa lo mismo en el ámbito profesional. Todas tienen sus fortalezas y debilidades y por lo tanto creo firmemente que cada organización debería de utilizar la suya propia o contar con una aplicación especializada y que aun así se deberían de realizar auditorías periódicas que comprueben la seguridad de la misma y los servidores de la misma así como su lógica de funcionamiento. Hoy en particular usaré como ejemplo la aplicación de mensajería Telegram, red social que nos trae cada vez más funcionalidades.

Antecedentes: Hace poco más de dos años o tres estaba dando una vuelta por Vigo con mi gran amigo Antonio Fernandes y algo me ronroneaba en la cabeza con la última actualización de Telegram. Algo en su funcionamiento y en la forma en la que me autentifico me resultaba inquietante y decidí probar mi teoría con la ayuda de Antonio.

En la última actualización de Telegram de aquel entonces y reinstalando la app por adquirir un nuevo terminal, observe que la app me había autoconfigurado la cuenta sin enviarme el típico sms con un código y en su lugar, la misma realizó una llamada al terminal con un número largo con prefijo de estados unidos. La app detectó dicha llamada y automáticamente procedió al login y a descargar todos los chats en mi nuevo terminal.

Mi primera duda: ¿Es un número aleatorio cada vez o siempre es el mismo? Tras repetir el proceso varias veces comprobé que el número era diferente cada vez. Es decir, Telegram usaba “Caller ID spoofing” que viene a ser suplantación del identificador de llamadas utilizando dicho identificador como token de autenticación.

Mi segunda duda: ¿Se podría usar ese ID para autenticar la sesión en otro terminal? Resulta que si.

Caso practico:

Aunque todo el proceso se puede realizar con un solo terminal, para la claridad del proceso utilizare 3 terminales para la explicación.

  • Terminal 1: teléfono al que queremos suplantar la sesión de telegram o leer los mensajes

  • Terminal 2: teléfono que utilizaremos para suplantar la llamada de autentificación de telegram con una aplicación de “Caller ID spoofing” preinstalada

  • Terminal 3: Terminal en el que queremos tener la sesión de telegram suplantada.
     

Versión shoulder surfing o lo que viene a ser, mirando por encima del hombro: Imaginar por un momento que dejamos el teléfono (Terminal 1) encima de la mesa para ir al lavabo:

Un atacante podría intentar autenticar el número de teléfono del Terminal 1 en el Terminal 3 o lo que viene a ser su propio dispositivo simplemente mirando la pantalla del Terminal 1 BLOQUEADO dejado sobre la mesa y simulando la misma llamada con la misma numeración desde el TERMINAL 2 ya preparado para dicha tarea.

Como comente al principio del ejemplo y como demostré en varias ocasiones a varios compañeros del sector y alumnos en distintos foros y masters, este ataque se puede realizar con un solo dispositivo e incluso sin necesidad de falsear dicha llamada mediante diferentes técnicas bastante simples y sin necesidad de herramienta especializada.

¿Se puede realizar dicho ataque de forma remota? Por supuesto que sí. Nos limita la imaginación y el conocimiento y yo usando los míos intentaré dar algunos ejemplos del uso de este ataque o explotación de dicho problema.

Ejemplo 1:

Si se dispone físicamente de la SIM de un sospechoso se puede realizar fuerza bruta al código PUK y volver a autentificar el telegram obteniendo todo el historial de conversaciones del mismo

Ejemplo 2:

Mediante ataque de ingeniería social al servicio de atención telefónica de la operadora. Por ejemplo llamando a la operadora diciendo que hemos perdido el teléfono y pidiendo una redirección de todas las llamadas a otro número.

Ejemplo3:

Tener alguien con acceso a un puerto ss7. De esto hablaré en otro artículo un poco más enfocado a fallos de las redes de telefonía móvil

Ejemplo 4:

Stingray! Equipos especializados para interceptar llamadas que en alguna ocasión se vendieron en mercados alternativos por menos de 500€ la unidad pero que de media rondan los 12.000€ y solo accesibles a cuerpos y seguridad del estado.

Ejemplo 5:

EvilBTS, lo mismo de arriba pero mas casero.

Ejemplos 6 (claramente enfocado a problemas de la red de telefonía móvil) :

  • CAMEL (“Customised Applications for Mobile networks Enhanced Logic”) - permite interceptar, duplicar, escuchar o redirigir una llamada

  • HLR: Robar clientes (suscriptores) a redes móviles en roaming. Permite redirigir cualquier SMS/llamada

  • HLR: Servicios adicionales. Permite realizar acciones como configurar desvíos o ejecutar cualquier código USSD en nombre de la víctima.

  • Otros ataques relacionados con duplicacion de SIM y configuración de tarjetas activa pasiva mediante códigos USS

 

Como podéis observar no es un fallo de Telegram si no una forma de abusar de los fallos de las redes de telefonía móvil o engañando al propio usuario.

¿Cómo nos protegemos? Fácil: Activando el segundo factor de autenticación de Telegram y de paso en las demás aplicaciones de mensajería y/o redes sociales:

Autor: Claudio C. (DTLCode) 


Copyright © Grupo Edefa S.A. Prohibida la reproducción total o parcial de este artículo sin permiso y autorización previa por parte de la empresa editora.