ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

无线安全审计实战:WPA/WPA2握手包抓取与hashcat密码恢复

无线安全审计实战:WPA/WPA2握手包抓取与hashcat密码恢复 简介这份资源是一套面向无线网络初学者与网络技术爱好者的WiFi密码破解学习资料围绕无线安全入门这一主题帮助读者理解常见无线加密方式的基本原理与测试思路。压缩包为rar格式整体约3.33MB体积轻巧便于下载保存内容将破解教程与配套破解软件整合在一起方便边看说明边动手实践。目前已有6970人学习下载说明该主题在无线网络爱好者群体中关注度较高。通过这份资料读者可以了解无线网络认证与握手过程的基础知识掌握常见破解工具的使用方法与操作流程并借助配套软件完成从环境准备到实际测试的完整练习同时积累无线安全测试中的常见问题与排错经验。需要提醒的是相关技术仅可用于合法授权的网络环境与自身设备的安全研究请勿用于未经许可的他人网络。1. 无线安全审计从抓包到密码恢复的完整链路很多人第一次接触无线安全是因为自家路由器信号总被蹭或者公司要求做一次内部无线渗透测试。标题里说的“破解隔壁WiFi密码”在合法合规的前提下本质是无线网络的安全审计与密码恢复演练——你只能对自己拥有或获得书面授权的网络动手。这篇文章面向两类人一是刚入门网络安全、想搞懂WPA/WPA2握手包到底怎么抓、怎么跑字典的新手二是做过有线渗透、但对无线这块“黑匣子”还不太熟的熟手。我会把整个链路拆开监听模式怎么开、握手包怎么抓、字典怎么生成、hashcat怎么调参、跑不出来时该看哪里。全程只讲技术原理和可复现步骤不碰任何未授权目标。如果你手头没有自己的测试路由器建议先买一台二手设备专门用来练手这是最省心的做法。2. 无线抓包环境搭建网卡选型与监听模式配置2.1 为什么网卡决定了你能不能抓到握手包无线安全审计的第一步不是敲命令而是选对硬件。普通笔记本内置网卡大多只支持Station模式连路由器上网不支持Monitor模式监听空中所有帧和注入。你需要一块支持MonitorInjection的外置USB网卡。常见做法是选RTL8812AU、RTL8814AU或AR9271芯片的网卡这些芯片在Linux下驱动成熟社区支持好。我一般会备两块一块RTL8812AU做5GHz抓包一块AR9271做2.4GHz兼容测试。买之前一定查清楚芯片型号别只看商品标题写“支持kali”很多廉价网卡用的是RTL8188EU监听模式勉强能开但注入不稳定抓握手包时容易翻车。选好网卡后在Kali或Ubuntu上插上用lsusb确认系统识别到芯片。如果驱动没自动加载需要手动编译对应驱动。以RTL8812AU为例常见做法是从GitHub克隆aircrack-ng维护的驱动分支编译安装后modprobe加载。这一步的坑在于内核版本升级后驱动会失效所以建议用Kali滚动版并锁定内核或者每次升级后重新编译。2.2 开启监听模式并锁定目标AP环境就绪后按下面步骤操作。先关掉可能干扰的网络管理服务避免它自动把网卡切回Station模式# 停止NetworkManager和wpa_supplicant防止它们抢占网卡 sudo systemctl stop NetworkManager sudo systemctl stop wpa_supplicant # 查看无线接口名通常是wlan0或wlan1 iw dev # 删除可能存在的默认接口重新创建监听接口 sudo airmon-ng check kill sudo airmon-ng start wlan0 # 确认监听接口已创建一般叫wlan0mon iw devairmon-ng check kill会杀掉干扰进程start会把网卡切到Monitor模式并创建wlan0mon。如果这一步报错“monitor mode enable failed”多半是驱动不支持或网卡被其他进程占用。解决方法是换USB口、换驱动版本或者用ip link set wlan0 down先手动关闭再试。接下来扫描周围AP锁定你自己的测试目标# 扫描2.4GHz和5GHz记录目标BSSID和信道 sudo airodump-ng wlan0mon # 锁定目标后只监听指定信道和BSSID sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w capture wlan0mon-c 6指定信道--bssid过滤目标-w capture把抓到的包存成capture-01.cap等文件。参数说明信道必须和目标AP一致否则抓不到数据帧如果目标支持5GHz且你网卡也支持优先用5GHz干扰少、握手包更干净。扫描时留意ENC列WPA2-PSK才是我们讨论的范围WPA3和WEP不在本文覆盖内。提示抓包时尽量让目标AP有客户端活动。如果目标网络当前没有设备连接你抓不到握手包只能等或主动触发。3. 抓取WPA/WPA2四次握手主动注入与被动等待3.1 四次握手的原理与抓包时机WPA/WPA2-PSK的密码验证发生在四次握手过程中。简单说客户端和AP用预共享密钥PSK派生出一对临时密钥通过四次EAPOL帧交换确认双方持有相同PSK。你抓包的目标就是这四帧中的任意两帧——通常第1帧和第2帧或者第2帧和第3帧就足够离线跑字典验证密码。抓不到握手包后面所有步骤都是空谈。被动等待的缺点是慢可能几小时都没有新客户端上线。主动注入的方法是向已连接的客户端发送去认证帧Deauth强制它重新连接从而触发新的四次握手。这里必须强调Deauth只对你拥有或获得授权的AP和客户端使用对陌生网络发送Deauth属于干扰他人网络违法且不道德。3.2 用aireplay-ng发送Deauth并验证握手包在airodump-ng锁定目标运行的同时开另一个终端执行# 向目标AP下的所有客户端发送5个Deauth帧 # -0 表示deauth攻击5是发送次数-a后跟AP的BSSID sudo aireplay-ng -0 5 -a AA:BB:CC:DD:EE:FF wlan0mon # 如果知道具体客户端MAC可以只针对它减少干扰 sudo aireplay-ng -0 5 -a AA:BB:CC:DD:EE:FF -c 11:22:33:44:55:66 wlan0mon发送后观察airodump-ng界面右上角出现WPA handshake: AA:BB:CC:DD:EE:FF就说明抓到了。参数说明-0是deauth模式数字是发送次数一般5到10次足够次数太多容易引起客户端反复重连反而抓不全。如果发了多次仍抓不到检查信道是否锁定正确、网卡是否真的在监听模式、目标客户端是否支持5GHz而你在2.4GHz监听。抓到后按CtrlC停止用aircrack-ng自带的工具验证握手包完整性# 检查cap文件里是否包含有效的握手包 aircrack-ng capture-01.cap # 如果显示1 handshake说明有效如果显示0 handshakes需要重新抓常见翻车点cap文件里只有Beacon帧没有EAPOL帧说明Deauth发了但客户端没重连或者信道跳了。解决方法是确认airodump-ng一直锁定在目标信道并且Deauth发送时目标客户端处于活跃状态。另一个坑是抓到了握手包但aircrack-ng报“no valid handshake”这通常是抓包时网卡丢帧导致EAPOL帧不完整重新抓一次即可。4. 字典生成与hashcat离线跑包参数调优与性能压榨4.1 字典从哪来crunch、hashcat规则与真实泄露库抓到握手包后下一步是离线跑字典。字典的质量直接决定成败。常见做法分三类一是用crunch生成指定字符集的暴力字典二是用hashcat的规则引擎对基础字典做变形三是用公开的泄露密码库如RockYou作为基础。我一般会组合使用先跑RockYou加规则再跑针对性的数字字典最后才考虑纯暴力。用crunch生成8位纯数字字典# 生成8位纯数字字典输出到num8.txt crunch 8 8 0123456789 -o num8.txt # 生成10位数字字典文件会很大注意磁盘空间 crunch 10 10 0123456789 -o num10.txt参数说明8 8是最小和最大长度0123456789是字符集-o指定输出文件。8位数字字典约900MB10位约90GB跑之前算好磁盘。更高效的做法是不生成文件用管道直接喂给hashcatcrunch 8 8 0123456789 | hashcat -m 22000 capture.hc22000 -a 0-m 22000是WPA-PBKDF2-PMKIDEAPOL的hash模式-a 0是字典攻击。注意hashcat新版本用22000模式需要先把cap转成hc22000格式# 用hcxtools把cap转成hashcat可读格式 hcxpcapngtool -o capture.hc22000 capture-01.cap4.2 hashcat参数怎么调显卡、工作负载与会话恢复hashcat的性能极度依赖显卡。NVIDIA显卡用CUDAAMD用OpenCL跑之前用hashcat -I确认后端识别正常。关键参数# 基础跑包命令-w 3是高工作负载-O启用优化内核 hashcat -m 22000 capture.hc22000 rockyou.txt -w 3 -O # 加规则文件对每个单词做变形 hashcat -m 22000 capture.hc22000 rockyou.txt -r rules/best64.rule -w 3 -O # 查看进度按s暂停按r恢复按q退出 # 恢复会话用--session和--restore hashcat -m 22000 capture.hc22000 rockyou.txt --session mywifi --restore参数说明-w 3是工作负载档位3为高4为疯狂但可能让桌面卡顿-O启用优化内核能提升速度但限制密码最大长度如果字典里有超长密码要去掉这个参数。--session给会话命名--restore恢复中断的会话。实测中一块RTX 3060跑WPA22000模式大约每秒30万到50万次8位纯数字字典几小时能跑完但12位以上混合字符基本不现实。注意跑包时显卡温度会飙升确保散热良好。笔记本长时间跑包容易降频建议用台式机或外接显卡坞。如果hashcat跑完没出结果先别急着放弃。检查hc22000文件是否包含有效握手用hcxpcapngtool重新转换并加-E参数导出EAPOL详情。另外确认字典编码是UTF-8Windows下生成的字典可能带BOM头导致hashcat读取出错。5. 避坑与排查无线审计中最容易翻车的5个环节5.1 网卡监听模式开启失败现象airmon-ng start wlan0报错“monitor mode enable failed”或创建接口后iw dev看不到wlan0mon。原因驱动不支持、网卡被NetworkManager占用、或者USB供电不足。解决先airmon-ng check kill杀掉干扰进程换USB 3.0口确认芯片型号支持Monitor模式必要时重新编译驱动并modprobe -r再modprobe加载。5.2 抓到cap但无有效握手包现象aircrack-ng capture-01.cap显示“0 handshakes”。原因Deauth发送时客户端没重连、信道不匹配、或者抓包时间太短。解决确认airodump-ng锁定目标信道增加Deauth次数到10次让目标客户端有实际流量比如播放视频抓包至少持续30秒再停止。5.3 hashcat报“No devices found”现象hashcat -I看不到显卡。原因驱动未安装、OpenCL运行时缺失、或者权限不足。解决NVIDIA用户安装官方驱动和CUDA ToolkitAMD用户安装ROCm或AMDGPU-PRO确认当前用户在video组用sudo运行hashcat测试。5.4 跑包速度极慢现象每秒只有几千次。原因用了CPU跑包、工作负载设太低、或者显卡降频。解决确认hashcat -I识别的是GPU不是CPU-w 3或-w 4提高负载检查显卡温度是否过高导致降频关闭其他占用GPU的程序。5.5 字典跑完没结果但密码确实很简单现象已知密码是“12345678”但hashcat没跑出来。原因hc22000文件转换错误、字典编码问题、或者握手包不完整。解决用hcxpcapngtool -o test.hc22000 -E eapol.txt capture-01.cap重新转换并检查eapol.txt用file rockyou.txt确认编码用aircrack-ng -w 12345678.txt capture-01.cap交叉验证。6. 进阶技巧用PMKID无客户端抓包与GPU集群提速前面讲的都是需要客户端的四次握手抓包。如果目标AP下没有任何客户端传统方法抓不到握手包。这时候可以尝试PMKID攻击——它不需要客户端直接向AP请求PMKID并离线跑包。前提是AP支持并返回PMKID不是所有路由器都行。命令如下# 用hcxdumptool请求PMKID-o输出pcapng文件 sudo hcxdumptool -i wlan0mon -o pmkid.pcapng --enable_status1 # 收到PMKID后转成hashcat格式 hcxpcapngtool -o pmkid.hc22000 pmkid.pcapng # 用hashcat跑PMKID hashcat -m 22000 pmkid.hc22000 rockyou.txt -w 3 -O参数说明--enable_status1显示实时状态看到PMKID字样说明成功。PMKID的优势是不需要Deauth、不依赖客户端缺点是兼容性有限且部分AP会限速或拒绝。实测中TP-Link和部分华硕路由器成功率较高华为和小米部分型号不返回PMKID。另一个进阶方向是GPU集群。如果你有多台带独显的机器可以用hashcat的--brain或分布式工具如Hashtopolis把字典分片跑。我一般会把字典按前缀切分每台机器跑一段最后合并结果。这样比单机快数倍但配置复杂度也高适合有长期审计需求的团队。最后说一个我自己的习惯每次做完审计不管成功与否都会把cap文件、字典、hashcat命令和耗时记在一个表格里。时间久了你会发现哪些路由器默认密码有规律、哪些字典命中率高、哪些参数组合最稳。这个习惯帮我省了很多重复试错的时间。希望帮到你。本文还有配套的精品资源点击获取
返回列表