WPS PIN
什么是 WPS PIN?
Wi-Fi Protected Setup (WPS) 是一种简化无线网络安全设置的标准。WPS PIN(Personal Identification Number)是一种配置方法,用于通过输入一个静态的PIN来实现网络设备的自动配对。WPS PIN方法要求用户输入一个由路由器或接入点提供的8位PIN,来完成设备配对。
WPS PIN的工作流程
- 生成PIN:路由器或接入点生成一个8位PIN,并显示在设备上或通过其他方式提供给用户。
- 输入PIN:用户在连接设备(如计算机或智能手机)上输入该PIN。
- 验证:路由器或接入点验证PIN,如果PIN正确,设备将被连接到网络。
如何检查WPS PIN是否开启或关闭
1. 检查AP的WPS配置
在配置AP(接入点)时,可以通过查看配置文件或使用命令行工具检查WPS PIN是否启用。
使用 hostapd
配置文件
- 打开
hostapd.conf
配置文件。 - 检查以下设置:
1 |
|
wps_state=2
:启用 WPS,但仅支持 PBC(Push Button Configuration)。ap_pin=0
:明确禁用 WPS PIN。
2. 使用Wireshark捕获并分析信标帧
Wireshark是一个网络协议分析工具,可以用来捕获和分析无线网络数据包,帮助检查WPS PIN的状态。
捕获信标帧
- 启动Wireshark 并选择无线接口进行捕获。
- 使用过滤器
wlan.fc.type_subtype == 0x08
来过滤信标帧。 - 找到并查看WPS信息元素。
在WPS信息元素中,Selected Registrar Config Methods
字段指示注册器(AP)支持的配置方法。例如:
- 字段值
0x2388
:1
0x2388 = 0010 0011 1000 1000
将每个位与WPS配置方法匹配:
- Bit 0 (0x0001): Usable PIN
- Bit 1 (0x0002): Ethernet
- Bit 2 (0x0004): Label (设备标签上的PIN)
- Bit 3 (0x0008): Display (显示器上显示的PIN)
- Bit 4 (0x0010): External NFC Token
- Bit 5 (0x0020): Integrated NFC Token
- Bit 6 (0x0040): NFC Interface
- Bit 7 (0x0080): Push Button Configuration (PBC)
- Bit 8 (0x0100): Keypad (键盘输入的PIN)
- Bit 9 (0x0200): Virtual Push Button
- Bit 10 (0x0400): Physical Push Button
- Bit 11 (0x0800): Virtual Display
- Bit 12 (0x1000): Physical Display
对照上述位:
- Bit 3 (0x0008): Display (显示器上显示的PIN) - 被设置
- Bit 7 (0x0080): Push Button Configuration (PBC) - 被设置
- Bit 8 (0x0100): Keypad (键盘输入的PIN) - 被设置
- Bit 9 (0x0200): Virtual Push Button - 被设置
- Bit 12 (0x1000): Physical Display - 被设置
0x2388
表示支持以下配置方法:
- Display(显示器上显示的PIN)
- **Push Button Configuration (PBC)**(PBC)
- Keypad(键盘输入的PIN)
- Virtual Push Button
- Physical Display
为什么禁用WPS PIN
WPS PIN(Wi-Fi Protected Setup Personal Identification Number)在无线网络安全性方面存在多个问题,使得它不如预期的安全。以下是WPS PIN不安全的主要原因:
1. PIN长度和复杂性问题
- 固定长度:WPS PIN固定为8位数字,这限制了密码的复杂性。
- 小数字范围:PIN仅使用数字(0-9),这使得总的可能组合数为10,000,000(1千万),相对较少。
2. 暴力攻击的容易性
- 简单的暴力破解:由于PIN长度固定且字符集有限,攻击者可以使用暴力破解(brute-force)来尝试所有可能的PIN组合。尽管WPS设计有机制来防止频繁的尝试(例如,在多次失败后会有延迟),但这些机制并不足以阻止高级攻击者。
3. PIN验证机制的漏洞
- 分两部分验证:WPS PIN由8位数字组成,其中前7位和最后1位分别进行验证。攻击者可以先破解前7位,之后再破解最后1位,这样可以显著减少破解的难度。
4. 暴露在物理攻击中
- 容易获取PIN:PIN可能通过设备上的标签或设备自身被暴露。如果设备的安全措施不足,攻击者可以直接读取或猜测PIN。
5. 设备实现问题
- 实现不一致:不同厂商的设备在实现WPS PIN时可能存在漏洞或缺陷,这会影响WPS的安全性。部分设备可能没有正确实现WPS标准中的安全措施。
6. PIN和密钥的存储
- PIN存储:某些设备可能在内部存储PIN而不是加密存储,这使得PIN更容易被获取。
WPS PIN
https://carl-5535.github.io/2024/11/10/工作总结/WPS PIN/