ARTICLE DETAIL

资讯详情

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

Airgorah源码剖析:Rust手工构造802.11 Deauth帧的34字节奥秘

Airgorah源码剖析:Rust手工构造802.11 Deauth帧的34字节奥秘 Airgorah源码剖析Rust手工构造802.11 Deauth帧的34字节奥秘【免费下载链接】airgorahA WiFi security auditing software项目地址: https://gitcode.com/gh_mirrors/ai/airgorahAirgorah 是一款用 Rust 编写的 WiFi 安全审计软件能捕获附近 WiFi 流量、发现连接客户端、发起 Deauth去认证攻击并抓取握手包。它的 Deauth 功能不依赖任何第三方协议库而是手工拼装一个仅34 字节的 802.11 帧通过原始套接字直接注入到监控模式的无线网卡上。本文带你逐字节拆解这个 802.11 Deauth 帧的构造奥秘。Airgorah 图形界面上方为扫描到的热点含 BSSID、加密方式、是否抓到握手包下方为可发起攻击的客户端列表️ 攻击链路从按钮到网卡Airgorah 采用「GUI 特权代理」双进程架构图形界面以普通用户运行需要提权的操作通过polkit拉起特权代理airgorah-agent。一次 Deauth 攻击的完整链路是用户在界面上勾选目标客户端、设置速率点击 AttackGUI 侧 crates/gui/src/frontend/connections/deauth.rs 收集选中的 MAC 地址通过 IPC 转发到特权代理 crates/agent/src/server.rs核心逻辑落在 crates/agent/src/backend/deauth.rs —— 手工构造帧并注入真正有奥秘的就是第 4 步里build_mgmt_frame函数拼出来的 34 个字节。 34 字节 8 字节 Radiotap 26 字节 802.11 帧在 crates/agent/src/backend/deauth.rs 中帧的组装分为两段Radiotap 头部8 字节0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00这是注入时网卡驱动要求的元数据头版本号 0、填充 0、长度 8、字段标志位为 0不携带任何额外字段。标志位全 0 的含义是发射参数速率、功率等全部交给驱动自行决定应用层无需关心。802.11 管理帧26 字节偏移字节数字段值82帧控制Frame Control0xC0去认证或0xA0去关联102Duration全 0126Address 1目的地址目标 MAC 或广播地址186Address 2源地址源 MAC246Address 3BSSIDAP 的 MAC302序列号全 0322原因码7去认证/8去关联小端序0xC0的二进制是11_000_000高 2 位11表示 Management 类型后 6 位000000即 subtype 12Deauthentication。管理帧没有加密、没有认证信息这正是它能被任意伪造的根本原因。 广播还是点名两种攻击模式crates/agent/src/backend/deauth.rs 的launch_deauth_attack函数支持两种目标全员模式目的地址填0xFF:FF:FF:FF:FF:FFBROADCAST常量一行定义搞定AP 会踢掉所有连接的客户端——这是最容易触发握手包重连的模式点名模式对每个选中客户端构造AP→客户端和客户端→AP两个方向各一帧双向同时攻击发射速率被限制在 1~1000 帧/轮/秒攻击线程按间隔循环发送直到用户停止。 原始套接字帧怎么飞出去构造好的 34 字节交给 crates/agent/src/backend/raw_socket.rs创建一个AF_PACKET类型的SOCK_RAW原始套接字绑定到监控模式的网卡索引之后send()出去的每个字节都原样变成无线信号——不经过协议栈任何处理。这也是为什么网卡必须支持监控模式和包注入注入通常只在 2.4GHz 频段可靠。✅ 单元测试34 字节一个都不能少作者在 crates/agent/src/backend/deauth.rs 的测试里对每段字节都做了断言assert_eq!(frame.len(), 34); // 总长 34 assert_eq!(frame[0..4], [0x00,0x00,0x08,0x00]); // radiotap: v0, len 8 assert_eq!(frame[8], SUBTYPE_DEAUTH); // 0xC0 assert_eq!(frame[32..34], REASON_DEAUTH.to_le_bytes());MAC 解析的边界情况段数不足、非法十六进制、超长也在 parse_mac 测试 中覆盖。这种字节级的测试正是手工构造协议帧的可靠保障。 小结Airgorah 用不到 20 行核心代码揭示了 Deauth 攻击的本质一帧 34 字节的管理帧伪造 3 个 MAC 地址 一个原因码即可让客户端掉线。理解这 34 个字节你就理解了 802.11 管理帧为何缺乏认证保护——这也正是现代 WPA3 引入对管理帧进行 PMF 保护的意义所在。⚠️法律提示Deauth 攻击仅可用于审计你自己拥有或获授权测试的无线网络。在绝大多数国家和地区对非自有网络发起此类攻击均属违法行为。想继续深入可以从这两个入口读起帧构造与攻击线程crates/agent/src/backend/deauth.rs原始套接字收发crates/agent/src/backend/raw_socket.rs【免费下载链接】airgorahA WiFi security auditing software项目地址: https://gitcode.com/gh_mirrors/ai/airgorah创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表