Wifit3 WEP攻击套件全解:ARP回放、ChopChop与假认证如何协同破解WEP
【免费下载链接】wifit3Wifite but USB-only & cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3
wifit3 是一款纯 USB、跨平台的 Wi-Fi 安全审计工具(支持 Linux / Windows / macOS),它内置了一套完整的WEP 攻击套件:假认证(Fake Auth)、ARP 回放(ARP Replay)、ChopChop 逐字节解密,以及原生的 PTW 密钥恢复。无需aireplay-ng、aircrack-ng等外部进程,全部用纯 Python 实现,一次点击即可完成从 IV 收集到破解出 WEP 密钥的全流程。
WEP 为什么能被破解:一分钟看懂原理
WEP 每加密一个数据包,都会在帧头附加一个3 字节的 IV(初始化向量)。问题在于:
- IV 没有防重放机制——AP 无法分辨一个包是"第一次发"还是"被重放了";
- 每重放一次 ARP 请求,AP 就会用一个全新的 IV重新广播它;
- 收集到足够多的 IV(104-bit 密钥通常需 4 万~8.5 万个),配合PTW 算法即可离线算出密钥。
所以整个攻击的核心目标只有一个:尽可能快地制造新 IV。wifit3 的 WEP 套件就是围绕这个目标设计的三件套:
| 角色 | 对应 aircrack-ng | wifit3 实现 |
|---|---|---|
| IV 收集(被动) | airodump-ng | Scanner / Focus 界面,IV 自动去重计数 |
| IV 生成(主动) | aireplay-ng | arp_replay.py 等 |
| 密钥恢复 | aircrack-ng | 原生 PTW,见 crack/wep.py |
攻击一:假认证——注入流量的"入场券"
AP 只接受"已关联客户端"发出的帧,所以主动攻击的第一步是伪装成合法客户端与 AP 完成开放系统认证 + 关联,这就是假认证(对应aireplay-ng -1)。
在 wifit3 中,fake_auth.py 的实现有几个贴心的细节:
- 懒启动:不会一上来就认证,而是等真正要发数据时才执行认证交换(3 次重试 + 退避);
- 自愈机制:如果中途被 AP 踢下线(收到 deauth),状态自动回退,下次发包时重新认证——回放不会因一次掉线而中断;
- MAC 伪装:随机生成一个客户端 MAC,回放帧的"来源"就是这个伪装身份,让 AP 无法察觉异常。
💡 前提条件:目标必须是已知 SSID 的 WEP 网络(隐藏 SSID 无法完成关联),扫描器中 WEP 网络会带
(W)标记,一眼就能锁定目标。
攻击二:ARP 回放——IV 生成的主力引擎
这是套件中唯一真正产生 IV的攻击(对应aireplay-ng -3):
- 被动捕获一个广播 ARP 请求(WEP 加密的"种子帧");
- 循环重新注入它;
- AP 无法识别重放,每回播一次就附一个新鲜 IV。
arp_replay.py 的工程实现相当考究:
- 耐心判定:AP 的回播可能延迟 1~2 秒,所以每个候选种子帧都获得数秒的"试用期",只有持续无回音才会被拉黑,避免误杀好种子;
- 速率自适应:不是固定速率轰炸,而是"爬升-记忆峰值"策略——以AP 回播速率(而非本地注入数)为控制信号,自动找到 AP 能消化多少帧的天花板并稳定在最优值附近,破解速度最大化;
- 掉线自愈:如果已锁定的种子突然停播(多半是被踢线),自动请求重新认证并保留同一枚种子继续回放。
攻击三:ChopChop——没有 ARP 种子时"伪造"一个
ARP 回放依赖网络上存在真实的 ARP 流量。如果目标周围没有任何客户端在动,怎么办?这时登场的是 ChopChop(KoreK 2004 年的经典攻击,对应aireplay-ng -4):
核心思路:不碰密钥,利用AP 自己当校验器。
ChopChop 算法流程:
- 取一帧捕获到的密文,砍掉最后一个字节;
- 对最后一字节的明文最多猜 256 种可能,每种都修正 ICV(CRC32 是线性的,可精确修补)后发出去;
- AP 只在猜对时才转发这帧——转发行为本身就是"答案";
- 每猜对一次就回收一个密钥流字节,从帧尾部向前逐步解密;
- 凑够约 40 字节密钥流后,伪造一帧广播 ARP,交还给 ARP 回放当种子。
wifit3 的 chopchop.py 还做了一个巧妙的"自证身份"设计:把猜测值直接盖章在目的 MAC 里,AP 回传时原样带回来,读回哪个猜测值就一目了然——即使 AP 同时把帧回放到兄弟 BSS、产生多条中继,也不会混淆。Focus 界面会实时显示进度(如 "ChopChop: byte 4/36"),方便你判断形势。
协同作战:三者的编排逻辑
单看每个攻击都不难,难的是半双工无线电上同一时间只能跑一个 TX 活动。wifit3 在 campaign.py 中用一个编排器统一管理:
生成IV → 回放中(假认证打底;捕获/回放 ARP) 用户点 Frag/Chop → 暂停回放 → 进入 ChopChop ChopChop 成功(伪造出 ARP 种子)→ 恢复回放 ChopChop 失败 → 保持当前模式重试(绝不自动停止) 停止 → 拆除所有状态几个值得注意的设计决策:
- 只有"成功"是自动的:成功是明确无歧义的,才会自动从 ChopChop 切回回放;"没有响应"永远不会——可能是超出范围、可能是发射故障、也可能是免疫的 AP,代码从不替你猜,而是持续重试并记录计数,把判断权留给用户;
- 互斥切换:Focus 界面中 Frag / Chop 是常驻的开关,点一个就会自动停掉另一个;
- 碎片化攻击已退役:
fragmentation.py保留为休眠参考——因为它只在特定芯片上能跑通,ARP 回放 + ChopChop 已能覆盖整个套件(详见 wep/README.md)。
收网:原生 PTW 密钥恢复
IV 攒够了,最后一步在 crack/wep.py 中完成:
- 内置PTW(Pyshkin-Tews-Weinmann)算法,纯 Python、独立进程运行,不依赖任何外部破解器;
- IV 逐条增量喂入(投票可累加),104-bit 密钥一般4 万~8.5 万个唯一 IV 即可恢复;
- 刁钻情况自动回退FMS + KoreK作为保底;
- 破解成功的瞬间,Focus 面板会打出黑底青字的高亮提示,并同时给出 hex 和 ASCII 两种形式。
快速上手清单 📋
- 准备一张 受支持的 USB 无线网卡(至少需要一张);
- 启动 wifit3,在启动页选中网卡按 START;
- 在 Scanner 中找到带
(W)标记的 WEP 网络,进入 Focus; - 点击ARP Replay(快捷键
r)启动 Generate IVs 战役——假认证 + 回放自动开始; - 若网络没有客户端流量、IV 增长缓慢,点一下Chop让 ChopChop 伪造 ARP 种子;
- 看着 "ETA to 10k" 倒计时推进,等黑底青字的CRACKED WEP KEY出现即可。
相关文档与源码导航
- WEP 套件总览与工具分类表:src/wifit3/campaigns/wep/README.md
- 战役编排(假认证 + 回放 + ChopChop + PTW 监督):src/wifit3/campaigns/wep/campaign.py
- 假认证状态机:src/wifit3/campaigns/wep/fake_auth.py
- ARP 回放与速率自适应控制:src/wifit3/campaigns/wep/arp_replay.py
- ChopChop 逐字节解密与中继签名:src/wifit3/campaigns/wep/chopchop.py
- PTW 密钥恢复算法:src/wifit3/crack/wep.py
- 硬件支持详情:docs/SUPPORTED-HARDWARE.md
⚠️免责声明:wifit3 是一款安全审计工具,请仅在你拥有或已获授权的网络上测试。未经授权对他人网络实施攻击在多数地区属于违法行为。
【免费下载链接】wifit3Wifite but USB-only & cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考