Denis Simonov publicó (original en ruso) publicó recientemente un artículo demostrando cómo a través de una llamada de Telegram es posible interceptar la dirección IP del interlocutor, necesitando únicamente 5 segundos de llamada para determinarla.
Para acelerar el proceso de explotación, Denis ha creado un repositorio de GitHub con un script en Bash. Además han publicado un artículo en español explicando el proceso paso por paso.
$ wget https://raw.githubusercontent.com/n0a/telegram-get-remote-ip/main/tg_get_ip.sh
$ chmod +x tg_get_ip.sh
$ sudo ./tg_get_ip.sh
Para proteger la privacidad de los usuarios de Telegram, la opción Peer-to-peer (P2P) en las llamadas de Telegram está activada por defecto sólo para “Mis contactos”. Los usuarios pueden aplicar más restricciones en este aspecto yendo a Ajustes de Telegram > Privacidad y seguridad > Llamadas.
Así puedes seleccionar si usas P2P con todos, tus contactos o con nadie.
Si la opción está configurada para “Mis contactos”, quiere decir que las
personas que no estén en tus contactos no usarán el modo P2P.
Primero tenemos que saber que Telegram, al hacer las llamadas, usa un protocolo llamado stun.
Es un protocolo de red que permite a clientes NAT encontrar su dirección IP pública. Se suele usar en VoIP.
Ataque paso a paso
- Lanzamos Wireshark en la interfaz por donde tengamos conexión a Internet
- Llamamos a nuestra víctima (es necesario que coja la llamada para que el ataque funcione)
- Una vez que nos ha cogido la llamada basta con esperar unos 5 o 10 segundos y ya deberíamos tener suficientes paquetes para averiguar su IP. Aquí podemos parar ya Wireshark o cortar la llamada.
- En Wireshark filtramos por STUN
- Nos vamos a encontrar con muchos paquetes, pero hay unos específicos que llevan las direcciones IP reales, tanto tuya como la de tu víctima, estos son los que llevan XOR-XXXXX-ADDRESS o Request user, por lo que podemos filtrar con
stun or stun.att.username or stun.att.ipv4-xord or stun.att.ipv4
- Podemos ir examinando los paquetes mirando las direcciones IP de cada uno, esto se puede ver examinando el paquete y, en el apartado atributos, buscamos el XOR-XXXX-ADDRESS, o mirando en la dirección destino de los paquetes.
- 7. Vamos descartando las siguientes IPs:
a) IP privadas como 192.168.X.X, 10.X.X.X, etc
b) Nuestra dirección IP pública, que también aparece. Para averiguarla se puede acceder a la siguiente página o, para los fans de la terminal:
dig +short myip.opendns.com @resolver1.opendns.com
-
8. Una vez llegados a este punto tendremos una lista de posibles
direcciones IP, y para terminar de acotar, tendremos que descartar
aquellas que pertenezcan a Telegram como tal. Esto se puede ver con la
utilidad whois:
a) Por consola de comandos: whois IP
whois ip
Podemos filtrar un poco más la consulta por si nos resulta molesto con:
whois IP | grep netname
- Una vez filtradas todas las IPs nos deberían quedar una o dos, siendo una de ellas la de nuestra víctima.
Fuentes:
https://site.cyberhunteracademy.com/2021/01/obtener-ip-mediante-telegram/
https://blog.segu-info.com.ar/2021/01/vulnerabilidad-en-telegram-permite.html
No hay comentarios:
Publicar un comentario