WIFI抓包实战篇——使用Kali同时抓取多个智能家居数据包

WIFI抓包实战篇——使用Kali同时抓取多个智能家居数据包

2023年7月3日发(作者:)

WIFI抓包实战篇——使⽤Kali同时抓取多个智能家居数据包上⼀篇⽂章说了抓取802.11帧和EthernetII帧的差别。在抓包的时候根据需求来选择抓取哪种帧。这次打算⼀次同时抓取我⾃家的三个IOT设备的数据包,因此采⽤空中抓包的⽅法,抓取802.11数据帧。抓包对象——⾃家IOT(物联⽹)设备 如上图,本次要抓取家⾥的三个物联⽹设备,分别是acpartner(空调伴侣),Yeelink Light(智能床头灯),Chumi cooker(⽶家电饭煲),他们的IP地址和Mac地址如上图。⼤多数IOT设备⼯作在2.4G频段,当然这是受制于成本原因,像⾼级⼀些的智能家居也能连接到5G频段。准备⼯具 Linux 虚拟机,我使⽤的是Linux kali 5.10.0-kali9-amd64。以及Kali⾃带的Aircrack-ng⼯具。2.能⽀持monitor模式的⽆线⽹卡,这⾥我使⽤的是PowChip A5(已停产),更多推荐的⽹卡可以去Aircrack-ng官⽹查看

3.⾃⼰的⽆线接⼊点AP和⾃⼰的3台IOT设备,注意,⼀定要是⾃⼰的。配置⽆线⽹卡——锁定要抓取的⽹络在Kali Linux中打开终端,获取root权限。插⼊USB⽹卡,连接到虚拟机中。在虚拟机中多处⼀个wlan0⽹络接⼝键⼊以下指令,开启wlan0的monirtor模式airmon-ng start wlan0可以看到,wlan0的monitor模式以及是enabled状态,驱动是rt2800usb,芯⽚组是Ralink的RT2870/RT3070。此时wlan0变成了wlan0mon。键⼊以下指令,开启开始扫描捕捉802.11帧airodump-ng wlan0mon键⼊指令后,可以看到BSSID列表和对应的Station。可以看到wlan0mon在不同的频段上跳跃扫描,如下图左上⾓CH,并且扫描到很多AP。第⼀个信号最强的是⽹卡本⾝,我要关注的接⼊点是Xiaomi_A165,也就是第⼆个,他的SSID先记录下来,信道是3号,功率是-41,采⽤的PSK加密传输。没错就是他了,先把它记录下来。 默认情况下,⽹卡会在1~14信道不断的跳频。如果不锁定信道,会导致数据丢包,因此需要把⽹卡设置成第3频段。SSID也要过滤出来,只显⽰想要的SSID。因此,键⼊以下指令,-c 3代表的是Channel 3,bssid就是⽆线接⼊点的Mac地址。airodump-ng -c 3 --bssid EC:41:18:E3:A1:66 wlan0mon 在终端窗⼝看到如下,可以看到现在只剩下Xiaomi_A165和对应的三个Station(终端设备),他们的Mac地址和前⽂图⽚中acpartner(空调伴侣),Yeelink Light(智能床头灯),Chumi cooker(⽶家电饭煲)是对应的。 配置Wireshark——添加PSK秘钥由于802.11帧在空中传输数据帧的是加密的,因此如果需要解析的话,需要以下两个条件:1.捕捉到802.11建⽴连接时的4次握⼿包eapol。这样以来才能解析到数据帧⾥⾯的内容。不过对于四次握⼿了解的话,实际上,并不需要捕捉全部4次。第2,3次或者第3,4次就⾏了。有时候⽹卡在拥挤的信道中并不能全部捕捉到4次握⼿包。2.已知WIFI的⼝令,就是常说的密码,这⾥不讨论如何去破解密码。现在是已知他的⼝令,直接解析数据帧内容。由于使⽤的是WPA2加密,在wireshark中需要添加PSK秘钥,可以在以下⽹址中⽣成。输⼊SSI和Passphrase(⼝令)。这⾥输⼊的⼝令如下,点击Generate PSK,复制⽣成的PSK。 得到PSK后,在Wireshark 菜单栏——⾸选项——protocol——IEEE 802.11中,勾选 Enable decryption,在Decription中,添加刚刚⽣成的PSK秘钥,点击确定。此时Wireshark的配置就OK了。这个时候可以打开Wireshark,启动wlan0mon的抓包了。开始抓包——使⽤Aireplay-ng 获取握⼿包下⾯开始抓包,前⽂说道,要获取解密的数据,⼀定要获取握⼿包。握⼿包是在建⽴连接的时候才会有的。因此要获取握⼿包,⼀定要让设备重新连接WIFI (AP)。这⾥有两种⽅法,第⼀种是⼿动让设备重新连接WIFI,但是3台设备同时连接太复杂了,⼜是IOT设备,不太好操作。因此还有⼀种⽅法是使⽤aireplay-ng ,发送⼴播帧取消AP与各个IOT设备的鉴权,让所有IOT设备掉线,然后IOT设备⾃⼰重连。现在是2021年,和谐社会,只⽤⾃⼰的设备做测试。新建另⼀个终端,在终端中输⼊以下。其中deauth 0表⽰发送deauthentication帧 后边跟着的0表⽰连续不断的发送,-a EC:41:18:E3:A1:66 表⽰地址是这个AP接⼊点,wlan0mon表⽰采⽤wlan0mon这个⽹络接⼝。这⾥还省略了client ID,就是省略3个IOT设备的MAC地址,省略不写的后就表⽰采⽤⼴播形式,所有的接⼊这个AP设备都要deauthentication。aireplay-ng --deauth 0 -a EC:41:18:E3:A1:66 wlan0mon可以看到窗⼝中在不断的发送Death,发送⼀段时间后,在death窗⼝中按住ctrl+c停⽌发送death⼴播。在切换到之前的airoudmp-ng窗⼝,当看到右上⾓有WPA handshake就表⽰已经捕捉到的握⼿包,再看看红圈部分,表⽰3个Station都抓到了握⼿包eapol。抓包内容分析——在wireshark中分析3台IOT设备数据流打开wireshark,在筛选中筛选_subtype ==0x28,就是只选择数据帧。在下图中可以看到有两个IOT设备,已经握⼿完毕,并且能看到IP层⾥⾯的内容。具体来说,握⼿之后,⽆线接⼊点Xiaomi_A165使⽤DHCP协议,给Yeelink Light(智能床头灯)分配了IP地址:192.168.31.118,Chumi cooker(⽶家电饭煲)分配了IP地址:192.168.31.140。现在已经找到了2个设备的通讯数据,还差⼀个ACpartner(空调伴侣),再往下找⼀下就找了空调伴侣的连接。如下图中的蓝⾊部分,AP分配了IP地址192.168.31.219给它。

以上,便可以在⼀个窗⼝中同时采到三个IOT设备和AP之间的通信报⽂了!再仔细看数据流可以看到,这3台IOT设备都是采⽤了TLSv1.2协议,传输的控制信号都是加密的。这样来看,这些IOT设备还是相对安全的,不然真的很有可能被不怀好意的⼈给控制了!最后总结⼀下:1.这次因为想同时采集4个台设备的数据,3台IOT设备+1⼀台路由,因此采⽤了空中抓包的⽅法。但是我再看数据流的时候还是会发现有些是漏帧的。这个应该和设备有关,换了另⼀个便宜⼀点的设备发现,漏帧更加严重,4次握⼿包,经常只能捕捉了其中的1次握⼿包。2.如果要准确分析具体传输的数据,还是在单个⽹卡上⾯直接采集Ethernet帧⽐较合适

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1688340783a123280.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信