如何捕获PMKID实现无客户端WPA攻击
引言 在本实验中,你将了解一种用于测试 WPA WPA2 无线网络安全性的现代方法。具体来说,你会学习如何捕获 Pairwise Master Key Identifier(PMKID)。PMKID 是 WPA 协议中的一个关键标识,有时即使没有客户端连接,也可以直接从接入点(AP)获取。成功
## 引言
在本实验中,你将了解一种用于测试 WPA/WPA2 无线网络安全性的现代方法。具体来说,你会学习如何捕获 Pairwise Master Key Identifier(PMKID)。PMKID 是 WPA 协议中的一个关键标识,有时即使没有客户端连接,也可以直接从接入点(AP)获取。成功捕获 PMKID 后,就能够进一步进行离线暴力破解,以尝试恢复 Wi-Fi 密码,这种方式通常也被称为“无客户端攻击”或“clientless 攻击”。
本实验将使用两个核心工具:`hcxdumptool` 用于从无线网络流量中捕获 PMKID,`hcxtools` 用于处理和转换捕获结果。在实验结束时,你将能够从模拟接入点中成功抓取 PMKID,并将其保存下来,供后续密码审计与破解分析使用。
## 安装 hcxtools 和 hcxdumptool
在这一步中,我们将安装执行 PMKID 捕获所需的工具。`hcxdumptool` 是一款功能强大的 Wi-Fi 抓包工具,专门用于从无线网络中提取对安全测试有价值的数据,例如 PMKID。`hcxtools` 则是一组实用程序,主要用于将捕获到的数据转换为 Hashcat 等密码破解工具可识别和处理的格式。
我们将通过 `apt-get` 包管理器安装这两个工具。打开终端后,执行以下命令。由于需要向系统中安装新软件包,因此你需要具备 `sudo` 权限。
```bash
sudo apt-get install -y hcxtools hcxdumptool
```
命令执行完成后,系统会自动下载并安装这两个软件包及其相关依赖。你通常会看到软件包读取、解压和配置过程的输出信息。
```plaintext
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
hcxdumptool hcxtools
0 upgraded, 2 newly installed, 0 to remove and ...
...
Setting up hcxtools (6.2.7-2) ...
Setting up hcxdumptool (6.2.7-2) ...
```
当工具安装完成后,我们就可以开始监听无线网络流量并准备抓取 PMKID 了。
## 使用 hcxdumptool 在接口上监听 AP Beacon
在这一步中,我们将使用 `hcxdumptool` 开始捕获无线数据包。在本实验环境中,系统已为你创建一个名为 `mon0` 的虚拟无线接口,并将其设置为监听模式(monitor mode)。监听模式允许网卡捕获空中的所有 Wi-Fi 流量,而不仅仅是发往本机的数据,这对于无线安全测试和 PMKID 抓取非常重要。
接下来,我们将运行 `hcxdumptool` 并指定监听接口,同时启用状态显示功能,以便实时查看当前检测到的接入点、客户端以及抓包状态。
请在终端中执行以下命令。实验环境中已经启动了一个名为 `TestAP` 的测试接入点,`hcxdumptool` 会自动扫描并识别它。
```bash
sudo hcxdumptool -i mon0 --enable_status=1
```
- `-i mon0`:指定用于抓取 Wi-Fi 数据包的监听接口。
- `--enable_status=1`:启用状态显示,实时输出发现的无线网络和捕获进度信息。
运行命令后,`hcxdumptool` 会立即开始扫描周围的无线流量。你将看到一个包含已发现接入点和客户端信息的状态表。建议让它持续运行大约 15 到 20 秒,以便完成 PMKID 探测。
```plaintext
start capturing (stop with ctrl+c)
INTERFACE:...............: mon0
FILTERLIST (MAC).........: 0 entries
FILTERLIST (ESSID).......: 0 entries
MAC ACCESS POINT.........: 2a:50:e4:4c:a8:75 (incremented on every new client)
MAC CLIENT...............: 2e:50:e4:4c:a8:75 (incremented on every new client)
REPLAYCOUNT..............: 64326
ANONCE...................: 2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a
[21:12:30 - 001] [FOUND ACCESS POINT: 02:00:00:00:01:00 (TestAP)]
...
```
完成观察后,你可以在终端中按 `Ctrl+C` 停止捕获过程。
## 在工具输出中识别 PMKID Hash
在这一步中,你将学习如何判断 PMKID 是否已经成功捕获。当 `hcxdumptool` 运行时,它会主动向接入点发送探测请求,以确认目标 AP 是否会返回 PMKID。一旦成功,工具会在终端控制台中输出一条非常明确的提示信息。
如果你已经执行了上一步中的命令,那么你应该会看到类似下面这样的输出。这一行就是成功抓取 PMKID 的直接证据。
```plaintext
[21:12:32 - 001] [FOUND PMKID] 02:00:00:00:01:00 -> 2e:50:e4:4c:a8:75
```
下面对这条输出进行简单说明:
- `[FOUND PMKID]`:这是最关键的标志,表示 `hcxdumptool` 已成功请求并接收到 PMKID。
- `02:00:00:00:01:00`:这是目标接入点 `TestAP` 的 BSSID,也就是它的 MAC 地址。
- `-> 2e:50:e4:4c:a8:75`:这是 `hcxdumptool` 在发起请求时所使用的站点,也就是我们的虚拟客户端 MAC 地址。
只要看到这条提示,就说明你已经成功完成了 PMKID 捕获。在这一步中无需执行新的命令,重点是理解工具输出,并学会识别有效的 PMKID 抓取结果。
## 理解 PMKID 相较于握手的优势
在这一步中,我们将说明为什么 PMKID 攻击相比传统 WPA/WPA2 破解方式更高效,也更适合无线安全审计场景。
过去破解 Wi-Fi 密码时,更常见的做法是捕获完整的 4 次握手(4-way handshake)。当客户端设备,例如笔记本电脑或手机,通过接入点完成身份验证时,就会产生这段握手数据。想要抓到它,通常要么等待设备主动连接网络,要么强制已连接设备断开后重新连接。问题在于,这种方法高度依赖客户端设备是否存在以及是否活跃。如果现场没有设备连接,或者设备在监听期间始终没有重新连接,那么握手包就无法获取。
PMKID 攻击则有效绕过了这一限制。PMKID 属于初始关联流程中的一部分,更具体地说,它与现代 AP 在信标帧(beacon frames)中广播的健壮安全网络信息元素(Robust Security Network Information Element,RSN IE)相关。借助 `hcxdumptool`,即使当前没有任何合法客户端在线,也可以主动向目标 AP 请求并获取这部分可用于后续分析的信息。
它最明显的优势就在于,这是一种无客户端攻击(clientless attack)。只要你位于目标无线接入点的覆盖范围内,就可以直接开始测试。这意味着获取可破解哈希的过程通常更快、更稳定,也减少了对客户端行为的依赖,因此在 WPA/WPA2 Wi-Fi 密码审计中具有很高的实用价值。
## 将 PMKID Hash 保存到文件以进行破解
在最后这一步中,我们需要再次运行 `hcxdumptool`,但这次的目标不仅仅是检测和捕获 PMKID,还要将包含 PMKID 的数据保存到文件中。完成保存后,这个文件可以结合其他工具,例如 `hcxpcapngtool` 和 `hashcat`,用于后续离线破解分析。
这里会使用 `-o` 参数来指定输出文件名。无线抓包常用的保存格式是 `pcapng`,它适合后续进行提取、转换和密码恢复处理。
运行下面的命令后,程序会开始抓取数据,并将发现的内容保存到当前目录(`~/project`)下,文件名为 `captured_pmkid.pcapng`:
```bash
sudo hcxdumptool -i mon0 -o captured_pmkid.pcapng --enable_status=1
```
让工具持续运行,直到再次看到 `[FOUND PMKID]` 的提示。确认出现该消息后,就可以按 `Ctrl+C` 停止捕获。
工具停止后,使用列出目录内容的命令来确认输出文件是否已经成功生成:
```bash
ls -l
```
正常情况下,你会在输出中看到 `captured_pmkid.pcapng` 文件,例如:
```plaintext
total 8
-rw-r--r-- 1 root root 1060 Dec 12 21:15 captured_pmkid.pcapng
-rw-r--r-- 1 labex labex 159 Dec 12 21:10 hostapd.conf
```
这说明文件中已经保存了来自 `TestAP` 无线网络的 PMKID 数据。在真实的无线安全测试流程中,下一步通常是将该文件转换为哈希格式,再交由密码破解工具进行离线分析与尝试恢复原始 Wi-Fi 密码。
至此,你已经完成了 PMKID 的识别、捕获与保存,并理解了这种方法相较于传统握手抓取方式的核心优势。通过将 PMKID 保存为 `pcapng` 文件,你也为后续的无线安全审计与离线密码破解准备好了必要的数据。这项技能是进行 WPA/WPA2 无线网络安全测试时非常实用的一部分。
来源:https://labex.io/zh/tutorials/kali-capture-a-pmkid-for-clientless-wpa-attacks-594426
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。
相关推荐
补充同频道和同主题内容,方便继续浏览更多相关内容。
同类最新
继续查看同栏目最近更新的文章。
DDoS攻击的三大主要形式:原理、特征与防御重点
DDoS攻击主要分为基于流量(Volume)、基于应用层(Application)和基于协议(Protocol)三种形式。流量型攻击通过海量数据淹没带宽;应用层攻击利用Web漏洞耗尽服务器资源;协议层攻击则利用TCP握手缺陷导致系统挂起。了解这些原理是制定针对性防御策略的基础。
如何有效预防和缓解DDoS攻击:5大核心策略详解
面对DDoS攻击,单纯增加带宽已非长久之计。本文详解5大核心防护策略:优化网络硬件配置、建立DNS冗余机制、部署透明缓解技术、引入负载平衡器及专用Anti-DDoS模块。通过合理组合这些技术手段,可有效抵御SYN泛洪、Slowloris等常见攻击,保障业务连续性与网站可用性。
DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析
许多企业误以为CDN、防火墙或黑名单能完全抵御DDoS攻击。本文深入解析四大常见误区:CDN仅提供部分缓解、静态黑名单易失效、防火墙算力有限且可能成为目标、阈值警报仅具滞后性。了解这些局限性,有助于构建更立体的防御体系,避免在攻击发生时措手不及。
常见DDoS攻击类型详解:原理、特征与防御策略
本文详细解析四种常见DDoS攻击类型:SYN Flood利用TCP三次握手缺陷耗尽资源;UDP Flood通过海量数据包造成带宽拥塞;ICMP Flood利用Ping请求消耗系统算力;应用层Flood针对Web脚本进行高频请求。了解其原理是制定有效防御策略的基础。
如何有效抵御DDOS攻击:4种核心防护方案解析
面对DDOS攻击,企业需构建多层防护体系。本文详解四大核心策略:利用反向路由器查询进行流量清洗,通过GCDN智能分配节点隐藏源站IP,部署负载均衡硬件分担压力,以及接入高防机房抵御数百G恶意流量。掌握这些技术,可最大程度保障业务连续性。
