【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX

相关声明

本教程仅用于hvv、红蓝攻防对抗等专业领域,请勿用于非法用途。

相关阅读

图文教程

首先,我们打开wireshark,这里我们要注意的是

  • 如果你是使用的有线连接的互联网,则使用以太网
  • 如果你是使用的WIFI连接的互联网,则使用Wlan
图片[1]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-山海云端论坛

我们这里属于第二种情况,所以选择WLAN

图片[2]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-山海云端论坛

方法一:使用CTRL+F字符串查找

按一下ctrl F,选择分组详情、字符串、然后输入代码020048(这个是QQ语音对应的特征,其他的后面我们会分享)

图片[3]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-山海云端论坛

点击一下就开始抓包了,这时,我们给另一个山海打个电话

图片[4]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-山海云端论坛
图片[5]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-山海云端论坛

我们点查找就可以看到对方的IP地址了

图片[6]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-山海云端论坛

当然,除了这种方法,还可以使用下面的方法

方法二:在过滤器中填写代码回车查找

在过滤器中填写udp[8:3]==02:00:48进行过滤,比第一种方法更加直观

图片[7]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-山海云端论坛

为什么是020048?

那这里肯定会有人问了为什么是020048,QQ语音通话使用的是UDP协议直连,简单来说就是语音通话的双方直接连接,不通过其他服务器,020048是QQ UDP协议72字节的报文头

图片[8]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-山海云端论坛

同时也是为什么可以使用udp[8:3]==02:00:48进行过滤的原因,UDP前面包括8字节UDP头后面就是数据,但是wireshark并没有提供udp.data这种直接的过滤方式,故我们使用偏移来实现此过滤,也就只能靠udp[8:x]这样偏移来获取(注:8是固定的八个字节),QQ前面的报文头是不会变化的,所以说我们可以通过之前说的两种方式来找到包含带有真实IP的包。

微信语音获取IP特征过程

如果我们不知道特征,那么怎么去尝试寻找特征呢?其实很简单,电脑连上WIFI,给另一个微信(已知IP)打个电话,然后开着wireshark,在过滤器上可以输入我们已知的IP地址(如果你不知道自己的IP地址,可以在百度上直接输入本机ip就可以快速获取了,我们这里已经获取好了,在过滤器中输入)

图片[9]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-山海云端论坛

我们在这里发现,微信与QQ不同,他的报文头是随机的值,通过找规律发现前两位都是a3,根据之前说的原理,可以使用udp[8:1]==a3进行过滤。

利用data.len进行过滤

这个抓包的并没有上面的第一种方法准确(并不缺少数据,但是过滤后的无关IP较多),此方法参考了台湾中央警察大学三位研究员2020年9月在公开会议上分享的一篇论文,其中提到了根据LengthTime to liveFlags三个维度来来判断嫌疑人真实IP的技巧,根据这篇论文提供的思路,最后得出的命令为data.len >= 120 and data.len <= 150,也就是筛选Length长度为120到150区间的包

图片[10]-【Wireshark教程】如何通过语音获取对方IP 支持钉钉/QQ/WX-山海云端论坛

其他客户端的特征有吗?

微信、钉钉这些语音的特征有吗?

答案是有的,我们这里直接分享其特征:

  • 钉钉:udp[8:4]==00:01:00:4c
  • QQ:udp[8:3]==02:00:48
  • 微信:udp[8:1]==a3
© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容