news 2026/10/19 18:17:47

【无线安全实验4】使用WiFiGrab获取无线PIN码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【无线安全实验4】使用WiFiGrab获取无线PIN码

文章目录

    • 1 原理分析
        • 1.1 WPS在线攻击
        • 1.2 WPS离线攻击
    • 2 实验过程

本文使用小白抓包工具演示WPS PIN码离线逆向过程,以供学习与技术分析。本次实验以无线安全审计目的,意在对路由器安全强度进行测试,仅做学习研究之用。请注意遵循相关法律法规。

【教程合集】

【无线抓包实验1】抓包获取隐藏WiFi名称

【无线抓包实验2】5G WiFi抓包跑包全流程

【无线抓包实验3】批量抓包与无客户端抓包

【无线安全实验4】WPS离线破译原理与实验

1 原理分析

详细原理介绍:https://blog.csdn.net/2301_81348092/article/details/151843244

1.1 WPS在线攻击

PIN码为8位纯数字,而第8位为前面1-7位的校验和,所以总共只有10的7次方种组合。而由于PIN码的验证过程是分段式的,即先验证前4位,再验证后4位,则攻击者只需先猜测前4位组合(104),再猜测后四位组合(103),即最多11000种组合即可猜出正确PIN码。而WPS协议最初默认没有对PIN的验证次数进行限制,这就使在线PIN坡解成为了可能。传统的在线攻击方案可以借助 reaver 或 bully 简便地实现,信号良好情况下大约 3s/pin(WPS1.0,无锁 PIN 现象),平均几小时即可攻破一台路由器。

1.2 WPS离线攻击

现在多数路由器都是 WPS2.0(WSC),会出现锁 PIN 现象,一定程度提高了安全性。可就算是几次 PIN 尝试的机会,也留给了攻击者可乘之机。2014年Dominique Bongard演示了一种离线WPS的方法,对某些存在安全漏洞的路由器可在不到一秒内破译。该攻击利用了某些路由厂商芯片只能生成低熵的伪随机数,进而坡解加密过程。攻击称为“pixie-dust attack”,翻译为“小精灵尘埃攻击”或“仙尘”攻击(外国人起名灵感感觉大都跟游戏影视作品有关)。

入网设备和AP之间没有传输PIN码,是通过计算PIN码的Hash值来验证的。如果PIN码验证失败,流程会止于M4阶段。根据之前在线PIN坡解过程分析,攻击者可以获取到PIN码最终计算产物E-Hash1和E-Hash2(AP发送的M3帧),以及中间计算值AuthKey、PKE、PKE,而初始参数PIN码与两个中间计算使用的随机数E-S1和E-S2是不知道的。但是如果攻击者能猜测到AP生成的随机数E-S1和E-S2,就可以通过代入所有PIN码组合去猜测验证,最终获取到PIN码。

那么怎么能猜到AP生成的随机数呢?Dominique Bongard发现某些路由器的芯片生成的是不安全的伪随机数(Pseudo-Random Number Generator,PRNG),导致其可以通过上一个随机数进行逆向预测。例如,Broadcom基本上使用C中的Rand()函数,在Ralink中随机数始终不会生成(因此为0),而RTL819x生成的随机数存在复用(N1、E-S1、E-S2均相同)。

易受攻击的路由器收录:https://docs.google.com/spreadsheets/d/1tSlbqVQ59kGn8hgmwcPTHUECQ3o9YhXR91A_p7Nnj5Y/edit#gid=2048815923

在攻击过程中,M1阶段受攻击路由器会生成随机数N1(E-Nonce),到M3阶段又会生成的随机数E-S1和E-S2,这两个随机数是紧接着N1生成的。而N1可以直接捕获到,如果路由器生成的是伪随机数,就可以进行逆向分析。


2 实验过程

其实现在大多数路由器已经没有WPS漏洞了,越新的路由器会采用更新的无线安全标准(如WPA3),同时禁用WPS功能。无线安全水平是在不断提升的,但也不排除还有少部分老旧路由器没有被淘汰更新。本次实验使用的软件WiFiGrab进行原理分析。

官网链接:https://wwifi.cc.cd/software/wifigrab/
百度云盘下载:https://pan.baidu.com/s/1Q9oWrHF_nKgwOtKyVcb7IQ?pwd=xxwd

123云盘下载:https://www.123684.com/s/q496Td-Ru95H

  1. 接入USB抓包网卡后启动软件。

  2. 在设置中可同时启用2.4G和5G扫描,并将扫描时间改长一些,确认。

  3. 点击扫描WiFi,对附近无线网络进行扫描。

    扫描完成,可以观察边框颜色,黑色边框说明AP启用了WPS,灰色边框说明AP未启用WPS(软件通过AP信标帧中的wifi_protected_setup_state字段确定)。

    仅对已启用WPS的AP进行测试(需注意隐藏WiFi即使启用了WPS,也无法直接进行WPS攻击,因为不知道WiFi名称无法接入。但其实WiFi名称是可以通过抓包获取的,不过本软件不涉及该内容)。

  4. 以笔者自己的路由器(荣耀CD16)进行测试,选择目标后,点击PIN。

  5. 运行后WPS离线攻击没有成功,说明该路由器没有伪随机数漏洞。

    观察日志可以看到,软件如前面分析的,对AP发起WPS的流程。通过M1到M3交互获取到E-Nonce、PKR、PKE、AuthKey等信息,然后尝试猜测E-S1和E-S2,但未猜测成功,该AP可能基于物理过程生成的是真随机数,或是使用其他算法生成的随机数。

  6. 笔者对周围的路由器也进行了安全测试,发现大多数路由器也不存在此漏洞,是较新的路由设备。但也有极个别路由器(可能是采用老式芯片的光猫或路由器)是有该漏洞存在的。

    前文有易受攻击的路由器收录的信息,而WPS的广播信息中有两个字段Model Name和Model Number标识了AP设备的型号与编号,由此能得知AP是否易受攻击。易受攻击的路由器在软件中会显示为蓝色边框,同时在MAC地址后侧括号中会显示该设备信息(如Ralink Wireless Access Point RT2860)。

    笔者找到了个别显示蓝色边框的路由器进行测试,发现其PIN码信息可以被计算出来,且只需要不到十几秒时间。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 18:05:33

C#类成员详解:字段、属性、构造函数及面试要点

1. 为什么"简述类成员"值得你认真准备 我以前参与技术面试时,经常用"简述类的成员"这道题做开场。原因很简单:它听起来基础得不像话,但实际考察的层次非常深。一个候选人如果连这道题都答得有结构、有主次,那…

作者头像 李华
网站建设 2026/10/19 17:59:39

STM32写入FLASH后读回数据不一致?擦除、Cache与写保护全解析

前两天有人在嵌入式交流群里贴了一段代码,项目标题就是“STM32向FLASH写入数据后,重新读出的数据和原写入数据不一致”。他说自己照着教程抄了一套Flash读写函数,往0x08020000写了128个字节,然后读回来逐字节比对,结果…

作者头像 李华
网站建设 2026/10/19 17:54:41

基于PSPNet与DeepLabV3+的遥感图像国土分类项目实战

简介:这份资源是面向计算机相关专业学生与项目实战学习者的课程设计/期末大作业源码包,主题为基于图像分割的卫星遥感图像国土分类。项目采用Python实现,涵盖数据预处理、模型构建与训练等完整流程,涉及PSPNet、DeepLabV3、DeepLa…

作者头像 李华
网站建设 2026/10/19 17:51:50

具身智能人形机器人从舞台到量产:核心技术栈与工程实现解析

前阵子朋友圈刷到一条消息,说的是某家做人形机器人的创业团队上了台大型晚会的现场展示,还放风说正在把商业融资节奏往前推、为冲击公开资本市场做准备。底下评论五花八门,有说“这赛道终于要起飞了”的,也有说“又是PPT造机器人”…

作者头像 李华
网站建设 2026/10/19 17:43:59

DHCP四角色详解:服务器、客户端、接口与中继配置排错指南

1. 一次"断网十分钟"的教训:为什么你必须分清DHCP的四种角色做网络运维这些年,我最怕的不是设备宕机,而是那种"所有终端突然拿不到IP"的故障。有次某办公区全部电脑同时掉线,交换机上联口流量正常&#xff0c…

作者头像 李华