ARTICLE DETAIL

资讯详情

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

用aircrack-ng破解WPA2-PSK:握手包与字典攻击实战拆解

用aircrack-ng破解WPA2-PSK:握手包与字典攻击实战拆解 简介西南科技大学《无线网络安全技术》实验四的完整实验报告面向学习无线安全、Kali Linux与Aircrack-ng工具的学生。报告从实验目的出发完整呈现WPA/WPA2破解流程配置实验环境、开启无线网卡监听模式、生成字典文件、抓取握手包并使用aircrack-ng完成密码破解同时包含实验环境说明、关键命令参数解析、实验思考与故障排查记录。资源为1.37MB的doc文档压缩包内共1个文件内容结构清晰从实验过程到讨论分析、自评一应俱全适合作为无线网络安全课程实验报告参考。目前已有812人学习下载读者可通过这份报告快速掌握Aircrack-ng套件的核心操作深化对WPA安全机制的理解同时借鉴其问题排查思路提升无线网络安全防护意识。1. 用 aircrack-ng 走完一次 WPA 破解这份实验报告拆出了什么很多人看 aircrack-ng 破解 WPA 的视频会觉得这套操作是玄学开个监听、打几个命令、跑个字典密码就出来了。实际上 WPA 破解的链路非常固定每一步都有明确的无线通信原理兜底难的不是命令而是知道每一步在干什么、失败了往哪儿查。这份实验报告记录的就是一次完整的 WPA2-PSK 破解实验实验者在 Kali Linux 上用 aircrack-ng 套件对一个开着 WPA2 加密的手机热点发起测试最终通过抓握手包加字典爆破拿到了明文密码还把过程中踩的坑写在了实验总结里。它适合无线网络安全课的学生、刚接触 Kali 的从业者以及所有想从攻击者视角反向加固自家 WiFi 的人。整条链路拆开看最值得反复琢磨的就是握手包和字典这两环。2. 破解链路拆解为什么 WPA 攻击必须死磕握手包要正确理解这份实验报告先回答一个问题为什么 aircrack-ng 一定要先抓到握手包才能开始破解知道答案之后后面所有命令都只是围绕同一个目标在服务。2.1 WPA/WPA2-PSK 认证里真正能被离线验证的只有握手包WPA2-PSK 的 WiFi 密码在协议里叫预共享密钥PSK。客户端连接 AP 时PSK 并不会直接出现在空中它参与一次四次握手4-way handshake来派生出会话密钥。具体来说PSK 和 SSID 一起通过 PBKDF2-SHA1 算法迭代 4096 次生成一个 256 位的 PMKPairwise Master Key。随后 AP 和客户端各自生成随机数 ANonce、SNonce结合双方 MAC 地址从 PMK 推导出 PTKPairwise Transient Key。PTK 被切分成几段其中 KCK 用来对握手消息计算 MIC 校验值。这里的关键在于整个空中传输过程里唯一能让攻击者用来验证「某个密码对不对」的材料就是最后一段握手里的 MIC。攻击者抓到握手包后自己手里有 ANonce、SNonce、双方 MAC 和 MIC于是可以对字典里每一个候选密码执行同样的推导链候选密码 SSID → PMK → PTK → MIC比对结果是否一致。一致密码就找到了。对多数人来说握手包是个黑匣子只知道要抓它不知道为什么非它不可。把上面这条链路理清楚后面排错就有方向抓不到握手包后面所有爆破都是空谈。2.2 字典攻击的代价模型为什么弱密码秒破、强密码无解aircrack-ng 对 WPA 的爆破没有 WEP 那种捷径只能靠字典硬跑。每验证一个候选密码都要完整执行一轮 PBKDF2 加 PTK 派生这个计算成本是实打实的 CPU 活。候选集的大小直接决定破解时间的量级。密码形态候选数量量级爆破时间感受8 位纯数字10^8分钟到小时级8 位小写字母约 2×10^11天级10 位大小写字母加数字混合约 8×10^17基本不可行12 位以上全字符随机10^21 以上无现实破解意义具体每秒能测多少个密码取决于 CPU 配置和 aircrack-ng 版本显卡用户还会换到 hashcat 上跑但量级思维不变候选空间每涨一个数量级破解时间就涨一个数量级。实验里那个密码 15681912782rql 能被破出来说明它早就躺在字典里了——这是手机号 姓名拼音类型的典型组合在定向字典面前毫无抵抗力。这正好解释了实验总结里那句「字典越详细越容易破解」。2.3 抓包与破解链路各环节的失效判断表实验过程看着是连续的命令流实际可以拆成四个独立环节每个环节都有自己典型的失败特征环节正常现象失败时的直接线索网卡监听模式iwconfig 显示 Mode:MonitorMode:Managed或接口直接消失全信道扫描能列出周边 AP 的 BSSID、信道、加密方式列表空白或只有极少 AP定向监听抓握手包界面右上角出现 WPA handshake跑很久都没有 handshake 提示字典爆破出现 Key Found! 并打印密码进度条一直在走但始终无结果这张表是排错入口。后面第 5 章提到的所有坑都是从这张表里展开的。遇到问题先定位在哪一环再动手查比盲目重跑命令有效得多。3. 实验环境与监听模式先把无线网卡变成嗅探器实验报告的实验环境写得很简单Kali Linux 加手机热点。这句看似平淡实际决定了整个实验的可行性边界。无线抓包不是随便一张网卡都能干监听模式对硬件和驱动有硬性要求。3.1 对网卡和 AP 的要求为什么内置网卡常常干不了这活普通笔记本内置无线网卡在厂商驱动里大多只支持 Managed 模式即普通上网模式并不开放 monitor 模式。即使芯片本身支持Windows 驱动或者部分 Linux 驱动也会把这条路堵死。实验里采用手机热点作为 AP 是个务实选择手机热点同样跑 WPA2-PSK 协议对攻击者来说和路由器没有本质区别而且省去了配置无线路由器的步骤。只要手机能开热点实验环境就成立。外置网卡的常见做法是选 AR9271、RTL8812AU 这类芯片的 USB 网卡它们在 Kali 下通常有现成驱动。拿到设备先确认系统认不认iwconfig airmon-ngiwconfig列出所有无线接口airmon-ng会额外显示每个接口是否支持 monitor 模式。如果列表里找不到无线网卡先插拔一次用lsusb确认芯片 ID。很多新人在这里栽跟头网卡没被识别后面所有命令都会报 interface not found然后开始怀疑人生。另外实验报告里特别强调了一句网卡名称不一定是 wlan0可能是 wlan1。这是真实的血泪经验多网卡机器上无线接口编号经常漂移一切以iwconfig实际输出为准别把命令里的接口名想死。3.2 开启监听模式的两条路线手工三步法与 airmon-ng 一步法实验报告采用的是手工三步法先禁用网卡、切模式、再激活ifconfig wlan0 down iwconfig wlan0 mode monitor ifconfig wlan0 up第一步down是让网卡停止正常的收发数据释放协议栈对它的控制。第二步mode monitor就是把网卡切换到监听模式让它把空中收到的所有 802.11 帧都原样往上送不再做地址过滤和解析。第三步up重新激活接口。如果系统提示ifconfig不存在说明没装 net-tools用ip link set wlan0 down和ip link set wlan0 up替代。另一条更省事的路线是直接用 airmon-ngairmon-ng check kill airmon-ng start wlan0airmon-ng check kill会杀掉 NetworkManager 等占用无线网卡的进程避免它把网卡抢回 Managed 模式。airmon-ng start wlan0会自动完成禁用和切换并生成一个新的监听接口通常叫 wlan0mon。之后所有抓包命令都要用这个新接口名。实验做完后airmon-ng stop wlan0mon可以恢复并重启网络服务。两条路线的差别在于手工三步法对网卡驱动要求更苛刻某些网卡用iwconfig切不动而 airmon-ng 会做更多底层适配成功率更高。建议优先用 airmon-ng遇到问题再用手工法排查。3.3 验证监听模式真的生效切换完模式先别急着扫花十秒验证一下能省后面半小时。第一种验证方法iwconfig wlan0mon输出里看到Mode:Monitor就说明切换成功。如果仍然是Mode:Managed说明模式没切过去多半是驱动不支持或者有进程抢占了网卡。第二种验证方法是直接跑airodump-ng能看到 AP 列表滚动就说明监听生效。这里要提前说一个现象监听模式下的网卡通常无法同时正常上网如果你发现切完模式后连不上网了这不是故障是预期行为。很多人到这里以为网卡坏了其实是 Mode 状态变了数据通路不再走正常连接。4. 扫描、抓包与字典爆破从目标锁定到密码落地的完整命令记录这一章把实验过程按命令流拆成四个阶段。每个阶段都有明确的产出物先是 AP 列表然后是 CAP 文件最后才是明文密码。命令本身不长但参数含义必须清楚。4.1 全信道扫描与目标锁定airodump-ng 输出列怎么读开启监听后第一步是扫描周围所有信道上的无线网络airodump-ng wlan0mon这个命令会持续运行让网卡在所有信道上快速跳变收集附近的 AP 和客户端信息。扫描一段时间后按 CtrlC 终止。输出表格里重点看四列BSSID 是 AP 的 MAC 地址CH 是信道ENC 和 CIPHER 表示加密方式和加密算法AUTH 表示认证方式。目标是 WPA2 加密时ENC 列会显示 WPA2CIPHER 列显示 CCMPAUTH 显示 PSK。实验报告里锁定的目标 vivo IQOO 就是自己手机开的热点BSSID 为 DC:31:D1:E0:BB:4F工作在信道 12。这里有一个边界必须强调实验对象是自己搭建的热点整个破解流程只应该在自己拥有或获得授权的网络上操作。扫描到别人的网络看一眼握手包结构作为学习可以但别越界。4.2 定向监听与握手包文件生成-w 参数是坑不是字典知道目标 BSSID 和信道后就可以从全信道扫描切到定向监听只关注一个网络airodump-ng --bssid DC:31:D1:E0:BB:4F -c 12 -w /usr wlan0mon参数拆解--bssid过滤指定 AP数据流里只保留该 AP 相关的帧-c 12锁定信道 12避免网卡继续跳信道而漏包-w /usr指定抓包文件的保存路径前缀。实验报告里写的是-w /usr注意这个参数后面跟的是输出文件的前缀不是字典路径也不是目录。命令运行后会在/usr下生成以-01结尾的多个文件/usr-01.cap是 pcap 抓包文件/usr-01.csv是 AP 和客户端列表/usr-01.kismet.csv是 Kismet 格式的元数据。后面 aircrack-ng 要用的是.cap文件。定向监听的界面里右上角如果出现WPA handshake字样说明握手包已经抓到可以停下收工。没有这个提示之前.cap文件里即使有数据也没有可用的握手包爆破无从谈起。4.3 断线攻击加速握手aireplay-ng 的 deauth 参数与循环打法客户端连着 AP 的时候握手发生在连接建立阶段平时是抓不到的。要人为制造一次重连就得先把客户端踢下线。实验报告里的做法是直接用 aireplay-ng 发 deauth 包aireplay-ng -0 10 -a DC:31:D1:E0:BB:4F -c 94:87:E0:16:84:51 wlan0mon参数含义-0表示 deauth 攻击模式后面的10是发送数量-a跟 AP 的 MAC 地址-c跟目标客户端的 MAC 地址。客户端收到 deauth 帧后会断开连接随后多数设备会自动重连重连过程就是四次握手过程airodump-ng 在监听握手包自然被截获。10次在实际操作里经常不够特别是客户端离 AP 远或者信号不稳时。我一般会用一个循环持续打直到确认握手包出现while true; do aireplay-ng -0 5 -a DC:31:D1:E0:BB:4F -c 94:87:E0:16:84:51 wlan0mon sleep 2 done循环里每次发 5 个包间隔 2 秒再来一轮直到另一个终端里的 airodump-ng 出现WPA handshake然后立刻 CtrlC 停掉循环。注意-c如果省略deauth 会发往广播地址效果是踢掉所有客户端但有些客户端对广播 deauth 会忽略定向指定客户端 MAC 更可靠。4.4 字典准备与 aircrack-ng 爆破CAP 文件到明文密码抓包完成后ls -l /usr能看到生成的抓包文件。接下来准备字典两条路线。第一条是直接用 Kali 自带的 rockyougunzip /usr/share/wordlists/rockyou.txt.gzrockyou.txt 解压后是一份真实泄露密码集合适合当通用字典。第二条是自己写脚本生成定向字典这也是实验报告的第三种做法。下面是一个基于已知信息生成候选密码的 Python 脚本import itertools # 根据目标信息构造基础词表实际使用时替换为目标的公开信息 base_words [vivo, iqoo, 1568191278, rql, 1528] suffixes [rql, 123, 520, !, ] candidates set() for w in base_words: candidates.add(w) for s in suffixes: candidates.add(w s) candidates.add(s w) with open(dic.txt, w) as f: for p in sorted(candidates): f.write(p \n) print(fgenerated {len(candidates)} candidates)脚本逻辑把品牌名、手机号片段、姓名拼音等基础词和常见尾缀做笛卡尔组合去重后写入dic.txt。参数说明base_words是攻击者根据目标整理的词表suffixes是常见附加尾缀实际使用时按场景替换。如果想扩大规模可以用itertools.product生成纯数字组合但先算好规模再写文件8 位纯数字就是 1 亿条写出来是几百 MB 的文件实验场景不太需要。最后执行爆破aircrack-ng -w /usr/dic.txt /usr-01.cap-w指定字典文件后面跟抓包产生的.cap文件。aircrack-ng 会先扫描 CAP 文件里的握手包然后逐条验证字典密码。实验里最终输出 Key Found拿到明文密码 15681912782rql。如果命令报错说 CAP 文件里没有有效握手包先不要怀疑命令写错回头检查 4.2 和 4.3 两步握手包到底抓没抓到、文件路径对不对。字典路径错了也会导致运行时实际候选集为空表现为瞬间跑完但什么都没出。5. 避坑与排查握手包丢失、网卡模式错乱与破解无果的定位思路这份实验报告最有价值的部分其实是实验总结里的踩坑记录。下面五条是无线安全实验里出现频率最高的坑每条都按现象、原因、解决展开。5.1 找不到抓到的握手包文件现象airodump-ng 跑完a ircrack-ng 时怎么也找不到.cap文件目录翻遍了也没有。原因实验报告里原话写得很清楚——把-w /usr理解成了「监听目标网络时需要输入密码字典文件的路径」。实际上-w是抓包文件保存前缀生成的文件名是/usr-01.cap不是/usr目录下凭空出现一个叫 dic 之类的文件。理解错参数自然找不到产出物。解决定向监听命令启动前先确认-w后面的前缀想写在哪。建议单独建一个实验目录比如mkdir /root/wifi-test命令写成-w /root/wifi-test/cap生成的文件就是/root/wifi-test/cap-01.cap。监听结束后用ls -l检查文件大小.cap文件有几十 KB 以上才算正常几百字节的基本是空文件。5.2 监听模式起不来或起来之后网卡直接消失现象airmon-ng start wlan0提示 failediwconfig里 Mode 仍然是 Managed或者跑 airodump-ng 时报 interface no such device。原因三种可能。第一是网卡驱动不支持 monitor 模式这是硬件问题换网卡才能解决第二是 NetworkManager 等系统服务在后台抢占无线网卡切完模式又被拉回去第三是接口名写错物理接口叫 wlan1 或 wlx 开头的一串字符不是想当然的 wlan0。解决先执行airmon-ng check kill杀掉干扰进程再重新 start。然后用iwconfig确认实际接口名后续所有命令都用这个真实名称。如果airmon-ng正常但监听接口名变成了wlan0mon注意后面命令里要写新接口名不是原来的 wlan0。5.3 定向监听时扫不到目标 AP现象--bssid和-c都按扫描结果填了airodump-ng 界面里列表却是空的或者目标网络不在列表里。原因一个很常见的翻车点是目标 AP 在 5GHz 频段而外置网卡只支持 2.4GHz双向频率对不上定向监听自然抓不到。另一个原因是信道数字填错扫描结果里 CH 列是 12命令里却写成 11。解决先用不带过滤参数的airodump-ng wlan0mon全信道扫描确认目标 BSSID 和实际信道再启动定向监听。同时用iwconfig或者网卡规格确认它支持哪些频段。实验里用手机热点有个好处热点一般默认走 2.4GHz网卡兼容性压力小很多。5.4 握手包一直抓不到现象deauth 打了无数轮客户端也确实断开重连了但 airodump-ng 界面右上角始终没有WPA handshake提示。原因deauth 的-c参数填错打的是不存在的客户端地址或者客户端收到广播 deauth 后直接忽略了根本没断开再或者客户端重连太快握手发生在 airodump-ng 还在其他信道瞬间跳变时直接漏掉。解决先回看 airodump-ng 的 STATION 列确认目标客户端确实在线MAC 地址从列表里复制而不是手敲。deauth 同时打广播和定向两个方向提高命中率。确保定向监听时-c 12锁住了信道网卡不在全信道跳变。多轮循环打别指望一次 10 个包就能成功。5.5 aircrack-ng 跑很久不出结果现象进度条在走已测密码数量在涨但一直没有 Key Found最后跑完整个字典也什么都没有。原因两种可能。一是密码确实不在字典里这是最常见的情况和硬件无关纯粹是字典覆盖不够二是-w指定的字典路径错误或者文件为空aircrack-ng 加载了 0 条候选瞬间跑完并提示失败。解决先用wc -l /usr/dic.txt确认字典有内容。然后换大字典比如 rockyou.txt。针对实验场景可以按目标信息生成定向字典把手机号、姓名拼音、品牌词和常见尾缀组合进去。如果换了字典还是跑不出来就是密码本身强度够高这时候放弃爆破回到第 6 章的加固思路。6. 家用 WiFi 加固与破解后验证用攻击者的视角反推防护配置做完一次完整的破解实验会很清楚弱密码在字典面前有多脆弱。从攻击链路反推防护配置每一项加固都能对应到破解流程里的某个环节。6.1 从破解链路反推的五项加固配置加固项具体做法对破解链路的影响密码复杂度12 位以上大小写字母加数字加符号随机组合字典候选空间指数膨胀爆破失去现实意义个人信息脱敏避免手机号、生日、姓名拼音做密码或尾缀定向字典直接失效管理密码独立路由器后台密码不与 WiFi 密码相同防止 WiFi 密码泄露后路由器后台被顺手控制MAC 白名单路由器绑定家庭成员设备 MAC拦住随机蹭网者但防不了 MAC 伪造只能提高门槛关闭 WPS路由器后台关闭 WPS Pin 功能堵住另一个可以暴力试探的入口注意第三项和第五项常常被忽视。管理密码和 WiFi 密码相同的话攻击者破解 WiFi 后直接登录路由器后台改配置危害翻倍。WPS Pin 只有 8 位数字存在独立的暴力破解路径和 WPA 字典攻击是两回事路由器支持的话直接关掉最省心。6.2 用自己的环境重跑一遍验证加固效果配置完加固项之后最有效的验证方式就是把第 4 章的流程对着自己家 WiFi 完整跑一遍开监听、锁信道、打 deauth、抓握手包、挂字典爆破。预期结果是握手包能正常抓到但字典跑不出密码。如果字典里有 20 万条常见弱口令加你的信息变体还跑不出来说明密码本身经得起定向攻击。从那以后我每次调完家里路由器的密码都会强制用这套流程过一遍确认常用字典跑不出结果才收工。无线安全实验的意义不在破解本身而是让自己知道攻击者会怎么下手再回头把每一道口子堵上。希望帮到你。本文还有配套的精品资源点击获取
返回列表