在2011年 Stefan Viehböck 演示过WPS的在线暴力破解的攻击,由于PIN码猜测最多只需11000种组合,平均6小时就能攻破一台路由器。而在2014年 Dominique Bongard 又演示了一种离线暴力破解的攻击,这种可怕的攻击可在不到一秒时间内破解WPA密钥,Bongard先生还在其幻灯片结尾发出警告:“立即禁用WPS!
本文使用小白抓包软件WiFiGrab演示。WiFiGrab集成封装kali系统,图形化操作无需命令行,虽不免费,但适合不爱折腾或不会上手kali的新手使用。
百度云盘下载:pan.baidu.com/s/1Q9oWrHF_… 123云盘下载:www.123684.com/s/q496Td-Ru…
- 接入USB抓包网卡后启动软件。
- 在设置中可同时启用2.4G和5G扫描,并将扫描时间改长一些,确认。
- 点击扫描WiFi,对附近无线网络进行扫描。 扫描完成,可以观察边框颜色,黑色边框说明AP启用了WPS,灰色边框说明AP未启用WPS(软件通过AP信标帧中的wifi_protected_setup_state字段确定)。 仅对已启用WPS的AP进行测试(需注意隐藏WiFi即使启用了WPS,也无法直接进行WPS攻击,因为不知道WiFi名称无法接入。但其实WiFi名称是可以通过抓包获取的,不过本软件不涉及该内容)。
- 以笔者自己的路由器(荣耀CD16)进行测试,选择目标后,点击PIN。
- 运行后WPS离线攻击没有成功,说明该路由器没有伪随机数漏洞。 观察日志可以看到,软件对AP发起WPS的流程。通过M1到M3交互获取到E-Nonce、PKR、PKE、AuthKey等信息,然后尝试猜测E-S1和E-S2,但未猜测成功,该AP可能基于物理过程生成的是真随机数,或是使用其他算法生成的随机数。
- 笔者对周围的路由器也进行了安全测试,发现大多数路由器也不存在此漏洞,是较新的路由设备。但也有极个别路由器(可能是采用老式芯片的光猫或路由器)是有该漏洞存在的。 前文有易受攻击的路由器收录的信息,而WPS的广播信息中有两个字段Model Name和Model Number标识了AP设备的型号与编号,由此能得知AP是否易受攻击。易受攻击的路由器在软件中会显示为蓝色边框,同时在MAC地址后侧括号中会显示该设备信息(如Ralink Wireless Access Point RT2860)。 笔者找到了个别显示蓝色边框的路由器进行测试,发现其PIN码信息可以被计算出来,且只需要不到十几秒时间。