wifit3 ChopChop逐字节解密:如何利用AP的ICV检查恢复明文与密钥流
wifit3 ChopChop逐字节解密如何利用AP的ICV检查恢复明文与密钥流【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3wifit3是一款纯 Python 编写的跨平台WEP 攻击工具USB-only Wi-Fi 审计器它的 WEP 套件原生实现了ChopChop 逐字节解密把抓到的 WEP 加密帧剪掉最后一个字节、猜测该字节的明文、利用AP 自身的 ICV 校验当裁判无需密钥就能恢复出该 IV 对应的明文与密钥流再伪造广播 ARP 交给回放模块继续抓 IV最终靠 PTW 算法解出 WEP 密钥。什么是 ChopChop不需要密钥的逐字节解密ChopChopKoreK 于 2004 年提出对应aireplay-ng -4解决的是 WEP 攻击中一个经典卡点回放需要一张可重放的广播 ARP但网络里恰恰没有客户端在产生 ARP。ChopChop 的思路很巧妙——把路由器 AP 变成一台免费校验机抓一张广播 WEP 数据帧如 ARP 请求作为种子把密文剪掉最后一个字节猜测它对应的明文只有 256 种可能根据猜测离线修正 ICVCRC32 的线性性质使这不需要知道完整明文把修正后的短帧重打包、发给 AP只有猜对时AP 才会把它中继回空中AP 每中继一次就多恢复 1 个密钥流字节从尾部向头部一步步剪下去约 40 个字节就够伪造一张全新广播 ARP。wifit3 中该攻击由 WepChopChop 实现全部基于内置无线栈的原始帧注入完成不依赖 aireplay-ng 子进程。WEP 的软肋AP 就是那个ICV 裁判理解 ChopChop 只需搞懂 WEP 帧的加密布局见 dot11/wep/crypto.pyMAC 头明文→IV(3字节) KeyID(1字节)→RC4(明文 ICV)其中ICV CRC32(明文)AP 收到帧后用自己的 WEP 密钥解密再算 CRC32 校验 ICV校验通过才转发不通过直接丢弃。ChopChop 正是利用了这个通过才转发的行为——AP 的中继与否等价于对最后一个字节的明文猜测投了赞成票。为什么剪掉一字节后还能修好ICV难点在于明文最后一字节变了ICV 也应该是另一个值但我们并不知道完整明文。wifit3 的答案藏在 chop_last_byte_and_fixup 中CRC32 是仿射线性运算crc32(数据 对应ICV)恒等于固定残差 CRC32_RESIDUE 0x2144DF1C利用逆 CRC 一步把已知的残差回退一个字节就能解出剪短后帧末 4 字节应异或的修正值这个修正值只依赖你的猜测和已知量全程不需要 WEP 密钥。猜错 → 修正后的 ICV 必然无效 → AP 丢弃猜对 → ICV 有效 → AP 中继。这就是用 AP 的 ICV 检查的完整含义。wifit3 是如何一步步实施 ChopChop 的第 1 步选种子——被动等待一张广播 ARP扫描器收到的 WEP 广播数据帧会进入环形队列 chop_candidates作为 ChopChop 的候选种子。ARP 帧是理想目标它的 LLC/SNAP ARP 请求头共 16 字节是固定已知明文前 16 字节密钥流可直接异或得到无需去剪见 模块内的 _KNOWN_ARP16 注释。第 2 步剪字节 猜明文用 MAC 地址盖钢印核心循环在 _chop_and_forge每轮把当前密文的最后一个字节剪掉生成 256 个候选帧滚动发出。wifit3 移植自 aireplay-ng 的一个精妙设计——identity-by-construction构造上的自证身份把猜测值直接写进每帧的目的 MAC 地址FF:xx:xx:xx:xx:猜测值见 _tagged_da。这样AP 中继回来的帧自带答案从 Addr1 的最后一个字节直接读出被接受的猜测值见 _rx_cb不依赖我们发的是哪帧或哪个中继先到的推断多 BSS 回声、乱序中继都不会造成误判。第 3 步哨兵帧——先确认 AP 真的脆弱每轮扫描前还会先发出一个故意不修 ICV 的哨兵帧猜测值 256。如果 AP 连坏 ICV 帧都中继说明它不丢弃非法帧、ChopChop 在此模式下无效——wifit3 会明确报出AP forwards bad-ICV frames (not vulnerable)而不是静默失败。第 4 步剪到最短墙重建隐藏头部伪造 ARPAP 对帧有一个太短就不中继的下限drop-short wall剪到墙后 _recover_head 会用已知帧结构离线补齐被墙挡住的前部密钥流ARP 种子前 16 字节已知若墙恰好卡进发送方 MAC 的第一个字节这一个真未知字节会用全长伪造帧对 AP 做 256 次暴力_ap_brute_byteIP 广播种子LLC/SNAP IP 版本/IHL TOS 总长度覆盖前 12 字节16×256 组合用被抓帧自己的 ICV离线验证每步恢复的密钥流字节都是ks[i] 密文[i] XOR 被接受的猜测从尾部向头部推进。集齐约 40 字节密钥流后_forge_arp 用RC4 密钥流 IVKeyID 的 RC4 输出直接加密一张全新广播 ARP明文 36B ICV 4B交给回放模块作为新种子——至此 ChopChop 使命完成接力棒交还 ARP Replay。在 WEP 战役中的位置什么时候按 ChopChop整个 WEP 套件由 WepCampaign 统一编排攻击状态流转如下摘自 wep/README.mdGenerate IVs - REPLAYINGfake-auth 打底等待/回放 ARP 用户点击 Frag/Chop - 暂停回放 - CHOPPING CHOPPING --成功(密钥流 - 伪造ARP)-- 恢复 REPLAYING CHOPPING --本轮失败-- 保持同一模式重试永不自动停止简单说ChopChop 是没有现成 ARP 可回放时的种子制造器。它在 Focus 界面表现为一个随 WEP 战役启用的开关按钮btn-chop/ 快捷键见 focus_v2/screen.py点击即暂停 ARP 回放、独占半双工无线电执行剪字节成功后自动恢复回放。抓到的 IV 会持续喂给内置 PTW 破解器104-bit 密钥约需 40k–85k 个独立 IV最终在界面直接显示破解出的密钥。关键源码文件速查文件作用chopchop.pyChopChop 主循环选种、剪字节、读回被接受的猜测、重建头部、伪造 ARPdot11/wep/crypto.py纯离线 WEP 密码学ICV 计算、chop_last_byte_and_fixup、ARP 明文构造wlan/wep_store.pyIV 去重计数 ChopChop 种子环形队列wep/campaign.pyWEP 战役编排fake-auth ARP 回放 ChopChop 协调 PTW 破解tests/campaigns/test_wep_chopchop.py用模拟 AP真实 RC4密钥解密、ICV 合法才中继离线验证逐字节恢复逻辑scripts/wep/wep_lab.py独立的 WEP 实验脚本值得一提的是ChopChop 最难证明的部分AP 是否真的中继在测试里用一个知道密钥的仿真 AP替身完成只要恢复出的密钥流与真实 RC4 输出一致即证明攻击逻辑正确仅剩空中链路需要真机验证。这种离线核心 硬件探针的拆分也是 wifit3 各芯片移植的通用方法论可参考 docs/porting/METHODOLOGY.md。上手要点硬件需要一张 支持的 USB 无线网卡Atheros / Realtek / Ralink / MediaTek 系列支持 monitor 模式与帧注入运行启动 wifit3 后在扫描器中找到 WEP 加密的热点带(W)标记进入 Focus 界面点击Generate IVs启动 WEP 战役触发若长时间等不到可回放的 ARP点击ChopChop或对应快捷键开始逐字节解密日志会以byte 4/36的形式滚动显示进度成功交接伪造 ARP 完成后自动回到 ARP 回放继续积累 IV 直到 PTW 解出密钥。⚠️ 安全提示ChopChop 属于主动攻击技术请仅在你拥有授权的网络自有测试环境、CTF、授权渗透测试中使用未授权攻击他人 Wi-Fi 网络在多数地区属于违法行为。想深入细节建议按顺序阅读 wep/README.md 的攻击分类表、chopchop.py 顶部的模块注释完整推导了钢印 MAC方案为何优于先收到即真相的朴素判据以及 tests/campaigns/test_wep_chopchop.py 中模拟 AP 的构造方式——它们是理解这套逐字节解密实现的最佳入口。【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →