既然大家都使用Telegram,我们就来谈谈它的安全性。
一位俄罗斯程序员宣布,他找到了一种通过音频通话确定Telegram应用中对话者IP地址的方法。这项研究于6月在公共领域发布,引发了信息安全公司T.Hunter订阅者的关注。
”我们的员工Denis Simonov(昵称n0a)编写了一个实用程序来确定Telegram Messenger中联系人的IP地址。它通过STUN协议分析流量,在用户之间建立连接。它传输的属性之一包含联系人的真实IP地址,脚本会捕获它,”该文章说道。
要截取目标用户的IP,您需要位于目标用户的联系人中,默认情况下,仅在这种情况下才会建立点对点连接;对于陌生人,它们会通过Telegram本身的服务器进行重定向。要使该实用程序正常工作,只需运行脚本、呼叫用户并挂断电话即可。在Simonov的博客中阅读有关该方法的更多信息。那些想要避免自己测试的人只需在通话隐私设置中禁止Telegram点对点连接即可。
Simonov使用了网络流量分析工具Wireshark,在其中检测了STUN协议流量。该程序员表示,他能够自动化获取对话者IP地址的过程。为此,他使用了Wireshark的控制台版本——tshark。运行脚本并在五秒内呼叫对话者后,网络接口上会发生网络流量转储。
STUN(NAT 会话遍历实用程序)是一种标准化协议,旨在帮助 NAT(网络地址转换)后面的设备确定其外部 IP 地址以及其网关上使用的 NAT 类型。该协议的本质是使设备能够了解其公共 IP 地址并确定哪些端口可用于传出连接。
Simonov本人详细介绍:”STUN消息中发送的关键属性之一是XOR-MAPPED-ADDRESS。该属性包含消息发送者的公共IP地址。数据包的方向准确地确定了此属性中包含谁的IP地址:如果该帧定向到我,XOR-MAPPED-ADDRESS将显示我的IP,如果它是从我发送的,则显示我的对话者Nika的IP。”
”此后,脚本将数据转换为文本格式,突出显示XOR-MAPPED-ADDRESS属性中的两个IP,其中一个IP属于我们的客户端,”Simonov总结道。
如何在Telegram中查找IP?
1、安装适用于Linux或Mac操作系统的Telegram桌面版本应用;
2、安装tshark(sudo apt install tshark
或下载适用于 macOS 的 Wireshark,包含tshark);
3、运行脚本(https://github.com/n0a/telegram-get-remote-ip);
4、呼叫需要获取IP地址的联系人目标;
5、成功获取Telegram对话者的IP;
6、挂断呼叫。
以Ubuntu 20为例安装和启动
$ sudo apt update
$ sudo apt install -y python3-pip python3-venv tshark
$ git clone https://github.com/n0a/telegram-get-remote-ip
$ cd telegram-get-remote-ip
$ python3 -m venv venv
$ source ./venv/bin/activate
$ sudo pip3 install -r requirements.txt
$ sudo python3 tg_get_ip.py
另外还可以在具有termux和root访问权限的Android智能手机上运行。在termux上安装thshark很简单:
pkg install root-repo && pkg install tshark