Obtener IP de un contacto mediante una llamada en Telegram


Barru

Miembro
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.



Repositorio de GitHub con un script en Bash
Artículo en español explicando el proceso paso por paso.




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

(Esto sólo funciona sin VPN, ya que dependiendo de la VPN te cambia el resolutor DNS y tal vez no puedas acceder); otra opción por terminal es: curl -skL icanhazip.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

Y vemos que el netname pertenece a Telegram
Podemos filtrar un poco más la consulta por si nos resulta molesto con:

whois IP | grep netname

  1. 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
 

obtuso

5g causa cancer
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder
el problema es lo del p2p que lo estuve mirando porque no me acuerdo quien tenia el telegram de alguien que vendia algo de un proyecto etc.. pero me parece curioso que venga activado por defecto, es decir teniendo en cuenta la cantidad de gente que usa telegram yo creo que no deberia de estar x defecto xk a poco que te descuides cagaste
 

lilsnake

@estrangular
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder
Aunque para mí sea mucho texto y no lo sepa ni lo vaya a hacer, buen post man