0x00 背景介绍及准备工作
我的上一篇文章里介绍了在电脑上建立AP并运行wireshark抓取无线局域网内的数据包,但是它的局限性还是很多的,比如只能抓取本局域网内的设备,而且被抓包的设备IP协议层数据必须能达到电脑的IP协议层才有机会被wireshark抓到。所以为了能实现抓取周围所有wifi数据的目的,这里介绍一种基于omnipeek抓包软件的方式来抓任意设备的数据包。需要准备如下:
1) omnipeek安装包
2) 配合omnipeek的硬件抓包网卡(某宝上有卖)
3) 抓包网卡的win驱动程序(卖家会提供)
接下来的工作就假定你已拥有抓包网卡,并在win7/win10电脑上安装好了omnipeek及驱动。
0x01 实验目标
通过omnipeek抓取空中某个指定设备(mac地址已知)的TCP数据包。
mac = 5C:CF:7F:69:03:D3
0x02 创建抓包工程
1) 将抓包网卡插入电脑,打开omnipeek,通过File->New Capture 创建新的抓包工程,
或直接单击主界面中的New Capture图标来创建。
注:一定要以admin权限运行omnipeek,否者在下面的网卡选择列表中看不到抓包网卡的。
2)在弹出的Capture Options界面中的Adapter选项卡中选择抓包网卡对应的名字,我的抓包网卡名字是WLAN2,在你的电脑上可能叫别的名字,但请注意到其他普通网卡是没有Omnipeek=yes这个提示的。
3)在802.11 选项卡中选择Scan选项。这里有人会问为什么不选Number中具体的通道呢?这样抓包效率不是更高,Scan模式丢包率很高的。这是因为我现在也不知道我要抓包的设备它在哪个通道啊,所以我只能先选择Scan,让它一会把整个网段的数据抓一遍后我才知道我要抓包的设备在哪个通道。所以先这样设置吧,一会抓完一遍待我找到了设备的wifi通道后再回过头来设置吧。
4)最后点击确定,完成Capture Options的设置。
0x03 以Scan模式扫描,并找到我们要抓包的设备的通道
通过Capture->Start Capture 或鼠标点击Start Capture 按钮启动抓包。
接下来在Capture-->Packets 子界面中,我们会看到omnipeek抓到周围大量的wifi数据包。
在抓了差不多时间后,点击Stop Capture 按钮停止抓包。然后在Wireless-->WLAN 子界面中找到我们的设备,在下图可以看到wifi from wade (00:F4:8D:ED:B1:11)就是我们要抓包的设备所连接的路由器名字,而5C:CF:7F:69:03:D3正是我们要抓包的设备!其通道号=11,所以接下来我们再抓包时只用抓wlan通道号为11的频段,这样抓包效率就高很多了。
0x04 回过头来再次设置抓包工程的Capture Options
1)通过Capture->Capture Options 打开Capture Options 界面
2)在802.11 选项卡中选择Number选项,并在下拉列表中选择11通道。
3)在Filters选项卡中设置抓包过滤条件,因为我们已知被抓包设备的mac地址了,这里点击绿色加号新建一个Untitled 过滤项目。在弹出的界面中勾选Address filter ,Type下拉列表中选择Ethernet Address ,并在Address 1 输入设备的mac地址,Address 2 中选择Any address 表示任何设备。但如果指定了Address2,就只会抓取Address1 和Address2之间通信的数据。
4)最后点击确定,完成Capture Options的设置。
0x05 开始尝试抓设备的数据包
通过Capture->Start Capture 或鼠标点击Start Capture 按钮启动抓包。
接下来在Capture-->Packets 子界面中,我们会看到omnipeek抓到了设备的wifi数据包。
但是我们会发现虽然我们抓到数据包了,但是数据包的内容全是加密过的,这是为什么呢,这是因为我的路由器(SSID:wifi from wade)采用了WPA2/Personal的方式加密了。所以接下来需要解密这些数据。
0x06 再次尝试抓设备的数据包,并对其WPA解密
首先点击Stop Capture 停止抓包,然后给要抓包的设备断电或断开设备和路由器的连接,为什么这样做呢,如果要解密WPA加密方式的数据,必须得捕捉到其和路由器刚建立连接时的4个EAPOL包,具体为什么请自行查阅相关资料。
这时点击Start Capture 按钮开始抓包,然后让设备重新连上路由器,这时我们会看到成功抓到了4个EAPOL包,可以确定接下来完全可以解出加密的数据了。
最后在抓取了一定量的数据包后,我们点击Stop Capture 按钮停止抓包,这时我们看到的数据仍然是加密状态,接下来通过Tools->Decrypt Wlan Packets 解密数据。
1)首先点击...按钮
2)点击Insert创建解密集
3)填入相应的信息
4)最后选择wifiwade_wpa_12345678解密集,点击OK开始解密
5)Congratulations! 到此我们已经抓到设备的数据包,并将其解密成功了,接下来就是筛选出我们要的TCP数据包了。
0x07 从解密的数据包中筛选出TCP数据包
1)点击屏幕左边的筛选图标
2)并选择Insert Filters->TCP,点击回车,在弹出的界面中选择Copy selected packets to new window
3)最后在新的窗口中我们就可以看到我们想要的TCP层以上的数据了。接下来的数据包分析工作就看你自己了。
0x08 后记
熟悉omnipeek这个软件并用它成功抓包解包花了我半天的时间,但写这篇文章分享技术心得却花了我一天的时间,如果你看到这篇文章觉得有用的话点个赞吧。