拓冰建站拓冰建站
首页 / 资讯中心 / 正文

wifit3 WPS PBC按钮监听:物理按键按下瞬间提取明文PSK的完整流程

wifit3 WPS PBC按钮监听物理按键按下瞬间提取明文PSK的完整流程【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3wifit3 是一款跨平台、仅靠 USB 无线网卡即可工作的 Wi-Fi 审计工具它的 WPS PBC 按钮监听功能能在有人按下路由器 WPS 物理按键的约 120 秒窗口内自动以入网者身份完成 WSC 握手从 M8 报文中直接提取明文 PSKWi-Fi 密码并保存。本文完整拆解这条按键按下 → 密码到手的链路帮你看懂每个环节在做什么。一、为什么按一次 WPS 按钮就能拿到密码传统观念里WPS 按键是安全地让设备连网的捷径但它的底层协议 WSC 有个关键特点角色对调按下按钮后路由器变成 Registrar登记者持有凭证任何在窗口内完成握手的设备都是 Enrollee入网者没有密码门槛PBC 模式的设备密码是公开常量00000000双方都能推导出相同的密钥因此安全性完全依赖 Diffie-Hellman 密钥交换的私密性必须主动参与M8 中的凭证用 KeyWrapKey 加密被动窃听者没有 DH 私钥、解不开它。所以 wifit3 的策略不是旁听而是抢在合法设备之前完成握手。这意味着只要你恰好在场谁按了 WPS 按钮谁就等于把密码递给了完成握手最快的那个 Enrollee。⚠️ 请仅在你拥有或已获授权的网络环境中使用未授权的密码提取在多数地区属于违法行为。二、被动监听如何知道按钮被按下了wifit3 的检测是常驻且被动的——它不发送任何主动探测只解析路由器广播的 Beacon / Probe Response 帧中的 WPS 厂商 IE信号含义Device Password ID 0x0004设备声明支持 Push-Button 模式Selected Registrar 1按钮已被按下登记窗口开启两者同时成立时模型层属性AccessPoint.wps_pbc_active翻转为True定义见 access_point.py。这是边沿触发的信号从 False 跳到 True 的那一刻就是有人刚按下按钮的瞬间。在 Scanner 界面底部你能看到WPS PushButton auto-invade is enabled (press w to toggle)——w键就是全局监听开关状态分关闭 / 选中目标 / 全局三档快捷键绑定见 screen.py。有个已知盲区部分路由器只在长按按键期间才广播该信号少数甚至从不广播。对这种情况项目提供了主动探测脚本 pbc_probe.py用--now立即探测。三、自动入侵从窗口检测到发起握手的 3 秒检测到窗口开启后Focus 屏幕的每次刷新tick都会调用一次自动入侵判定 _should_auto_invade_pbc它依次检查目标wps_pbc_active为真且全局 PBC 开关打开该路由器没有被用户静默、不是隐藏 SSID密码库里还没有它的 PSK拿到过的就不重复打没有处于重试冷却期3 秒见_PBC_RETRY_COOLDOWN_S也没有其它攻击正在占用无线网卡。全部通过_start_pbc_capture 启动WpsPbcCapture编排器pbc.py它做的事很干脆租约lease把网卡切到目标信道打开 active-monitor、注册伪造 MAC、打开 ACK 计数伪装关联以随机客户端 MAC 向目标完成 802.11 认证/关联关联帧尾部带上WPS_REQ_ENROLLEE意图的 WPS IE移交状态机把收发通道交给WpsEnrollee总超时 40 秒单帧等待 ACK、最多重发 4 次——弱信号下的丢帧是 PBC 失败的头号原因礼貌退场无论成败结束前发送 deauth 通知 AP 丢弃自己的 EAP 会话释放网卡。界面因此没有开始 PBC按钮——只有窗口开启时短暂出现的Stop PBC按钮PBC 是自动入侵型攻击。四、M1→M8 握手明文 PSK 诞生的完整报文流WpsEnrolleeenrollee.py是 PIN 暴力破解流程的镜像角色PIN 攻击里我们当 Registrar、路由器当 EnrolleePBC 里方向完全反过来——TX EAPOL-Start ← 敲门 RX WSC_Start / Identity-Req TX M1 (我们的 nonce DH 公钥 PKe) RX M2 (路由器 nonce N2 公钥 PKr) → 双方此刻算出 DHKey SHA256(g^ab mod p) 再派生 AuthKey / KeyWrapKey并用 PBC 常量推出 PSK1/PSK2 TX M3 (E-Hash 承诺路由器校验我们的身份) RX M4 → TX M5 (交出 E-S1) RX M6 → TX M7 (交出 E-S2) RX M8 ★ 内含 AES-128-CBC 加密的完整凭证 TX WSC_DONE → 用 KeyWrapKey 解开 M8得到 SSID network_key明文密码关键就在最后两行M8 的ENC{S}属性解开后是一个完整的 WSC 凭证结构wifit3 从中取出ssid与network_key两个字段——network_key就是明文 PSK 本身enrollee.py。期间还有两个工程细节值得注意乱序/重传保护维护highest_mt序号收到比自己已处理阶段更早的 WSC 消息直接丢弃防止 AP 重传旧帧把状态机带偏重叠会话不认输若 AP 因检测到多个 PBC 会话而 NACKconfig error 12wifit3 不主动放弃——真实设备才是重叠方抢跑完成握手的一方获胜。上图是完整成功的样子日志从WPS PushButton: Window Open — auto-capturing PSK一路推进到M8 → SUCCESS: credential decrypted顶部亮起✓ WPS PSK recovered明文密码同时写入captures/SSID__wps_pbc.txt。五、结果落地密码库、重试与保存成功后WpsPbcCapture的结局被 Focus 屏幕的 _finish_pbc 收割动作说明写入密码库app.vault.save_wps_pbc(ap, psk)之后该路由器不会再被重复攻击回写模型AccessPoint.wps_pbc_psk记录已恢复的密码与 PIN 破解结果wps_pin_psk分开存放失败重试窗口仍在、且失败源于网络抖动时3 秒后自动再试一轮用户终止Stop PBC 按钮置位_pbc_user_stopped本窗口内不再自动入侵六、新手上手清单硬件需要一张支持注入/监听的 USB 网卡固件式芯片基本全能跑 WPS最老的 RTL8187L、RT2500USB 等硬 MAC 芯片在长链路的 WPS 握手上较脆弱。完整清单见 SUPPORTED-HARDWARE.md启动装好后进入 Scanner确认底部auto-invade is enabled必要时按w切换触发让目标路由器的 WPS 按钮被按下真实环境即有人连网、装新设备、或执行 WPS 配对的瞬间收割Focus 视图会自动完成握手并在 LOG 区显示Password for SSID: ...。延伸阅读WPS 攻击架构与 PIN/PBC 双模式全解wps/README.md攻击编排层总览campaigns/README.mdWSC 报文编解码M1~M8 构建与解析dot11/wsc/PBC 盲区主动探测脚本scripts/wps/pbc_probe.py协议层细节与硬件验证结论docs/planning/一句话总结wifit3 的 PBC 监听 被动解码 Beacon 里的 0x0004 信号发现按钮被按 边沿触发抢跑 WSC 握手M1→M8 用 KeyWrapKey 解开 M8 取回明文 PSK全程自动密码直接进库。【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门