Llevaba un par de aos al menos con ganas de escribir este artculo sobre la seguridad de Telegram. El artculo de hoy es menos tcnico de lo que suena o por lo menos su primera parte. No soy fan de ninguna app de mensajera 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 organizacin debera de utilizar la suya propia o contar con una aplicacin especializada y que aun as se deberan de realizar auditoras peridicas que comprueben la seguridad de la misma y los servidores de la misma as como su lgica de funcionamiento. Hoy en particular usar como ejemplo la aplicacin de mensajera Telegram, red social que nos trae cada vez ms funcionalidades.
Antecedentes: Hace poco ms de dos aos o tres estaba dando una vuelta por Vigo con mi gran amigo Antonio Fernandes y algo me ronroneaba en la cabeza con la ltima actualizacin de Telegram. Algo en su funcionamiento y en la forma en la que me autentifico me resultaba inquietante y decid probar mi teora con la ayuda de Antonio.
En la ltima actualizacin de Telegram de aquel entonces y reinstalando la app por adquirir un nuevo terminal, observe que la app me haba autoconfigurado la cuenta sin enviarme el tpico sms con un cdigo y en su lugar, la misma realiz una llamada al terminal con un nmero largo con prefijo de estados unidos. La app detect dicha llamada y automticamente procedi al y a descargar todos los chats en mi nuevo terminal.
Mi primera duda: Es un nmero aleatorio cada vez o siempre es el mismo? Tras repetir el proceso varias veces comprob que el nmero era diferente cada vez. Es decir, Telegram usaba Caller ID spoofing que viene a ser suplantacin del identificador de llamadas utilizando dicho identificador como token de autenticacin.
Mi segunda duda: Se podra usar ese ID para autenticar la sesin 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 explicacin.
-
Terminal 1: telfono al que queremos suplantar la sesin de telegram o leer los mensajes
-
Terminal 2: telfono que utilizaremos para suplantar la llamada de autentificacin de telegram con una aplicacin de Caller ID spoofing preinstalada
-
Terminal 3: Terminal en el que queremos tener la sesin de telegram suplantada.
Versin shoulder surfing o lo que viene a ser, mirando por encima del hombro: Imaginar por un momento que dejamos el telfono (Terminal 1) encima de la mesa para ir al lavabo:
Un atacante podra intentar autenticar el nmero de telfono 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 numeracin desde el TERMINAL 2 ya preparado para dicha tarea.
Como comente al principio del ejemplo y como demostr en varias ocasiones a varios compaeros 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 tcnicas bastante simples y sin necesidad de herramienta especializada.
Se puede realizar dicho ataque de forma remota? Por supuesto que s. Nos limita la imaginacin y el conocimiento y yo usando los mos intentar dar algunos ejemplos del uso de este ataque o explotacin de dicho problema.
Ejemplo 1:
Si se dispone fsicamente de la SIM de un sospechoso se puede realizar fuerza bruta al cdigo PUK y volver a autentificar el telegram obteniendo todo el historial de conversaciones del mismo
Ejemplo 2:
Mediante ataque de ingeniera social al servicio de atencin telefnica de la operadora. Por ejemplo llamando a la operadora diciendo que hemos perdido el telfono y pidiendo una redireccin de todas las llamadas a otro nmero.
Ejemplo3:
Tener alguien con a un puerto ss7. De esto hablar en otro artculo un poco ms enfocado a fallos de las redes de telefona mvil
Ejemplo 4:
Stingray! Equipos especializados para interceptar llamadas que en alguna ocasin 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 telefona mvil) :
-
CAMEL (Customised Applications for Mobile networks Enhanced Logic) - permite interceptar, duplicar, escuchar o redirigir una llamada
-
HLR: Robar clientes (suscriptores) a redes mviles en roaming. Permite redirigir cualquier SMS/llamada
-
HLR: Servicios adicionales. Permite realizar acciones como configurar desvos o ejecutar cualquier cdigo USSD en nombre de la vctima.
-
Otros ataques relacionados con duplicacion de SIM y configuracin de tarjetas activa pasiva mediante cdigos USS
Como podis observar no es un fallo de Telegram si no una forma de abusar de los fallos de las redes de telefona mvil o engaando al propio .
Cmo nos protegemos? Fcil: Activando el segundo factor de autenticacin de Telegram y de paso en las dems aplicaciones de mensajera y/o redes sociales:
-
Telegram: https://telegram.org/blog/sessions-and-2-step-verification
-
Whatsapp: https://faq.whatsapp.com/general/verification/about-two-step-verification/?lang=es
-
Instagram: https://help.instagram.com/566810106808145
-
LinkedIn: https://www.linkedin.com/help/linkedin/answer/531/two-step-verification-overview?lang=es
Autor: Claudio C. (DTLCode)