D~DIDI~DIDIDI!!!!

0%

WifiFragattacks部署

概述

FragAttacks(Fragmentation and Aggregation Attacks)是由安全研究员 Mathy Vanhoef 发现的一系列 Wi-Fi 安全漏洞,影响所有现代 Wi-Fi 安全协议(WEP、WPA、WPA2、WPA3)。这些漏洞源于 Wi-Fi 标准中帧聚合和帧分片机制的设计缺陷以及实现错误。

本文介绍 FragAttacks 漏洞验证工具的部署方法使用流程。关于 FragAttacks 漏洞的技术原理,请参阅 WifiFragattacks 原理分析

免责声明: 本工具仅用于合法的安全测试和研究目的。未经授权对他人设备进行漏洞测试属于违法行为。

环境部署

方式一:完整环境部署

完整部署需要替换系统内核和 Wi-Fi 网卡驱动,可以获得最准确的测试结果。

系统要求

  • 操作系统: Ubuntu 20.04
  • 内核版本: 5.8

安装步骤

1. 替换内核为 5.8

1
2
3
sudo apt install linux-image-5.8.0-63-generic linux-headers-5.8.0-63-generic \
linux-hwe-5.8-headers-5.8.0-63 linux-modules-5.8.0-63-generic \
linux-modules-extra-5.8.0-63-generic

安装完成后重启,使用 uname -a 确认内核版本为 5.8。

2. 安装编译依赖

1
2
3
sudo apt-get install libnl-3-dev libnl-genl-3-dev libnl-route-3-dev \
libssl-dev libdbus-1-dev git pkg-config build-essential macchanger \
net-tools python3-venv aircrack-ng rfkill firmware-ath9k-htc

3. 克隆并编译项目

1
2
3
4
git clone https://github.com/vanhoefm/fragattacks.git fragattacks
cd fragattacks/research
./build.sh
pip install -r requirment.txt

4. 替换 Wi-Fi 网卡驱动为修改版

1
2
3
4
5
6
sudo apt-get install bison flex linux-headers-$(uname -r)
git clone https://github.com/vanhoefm/fragattacks-drivers58.git fragattacks-drivers58
cd fragattacks-drivers58
make defconfig-wifi
make -j 4
sudo make install

5. 安装 ath9k 固件

1
2
3
cd research/ath9k-firmware/
./install.sh
sudo reboot

方式二:简易环境部署

简易部署无需替换内核和驱动,能够满足基本的漏洞检测需求。但可能受系统版本和 Wi-Fi USB 网卡型号影响,部分网卡可能无法正常驱动,需要单独安装驱动。

注意: 简易部署省略了内核替换和驱动替换步骤,启动时工具会提示 You are not running patched drivers,测试结果可能不够准确。

安装步骤:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 1. 安装编译依赖
sudo apt-get install libnl-3-dev libnl-genl-3-dev libnl-route-3-dev \
libssl-dev libdbus-1-dev git pkg-config build-essential macchanger \
net-tools python3-venv aircrack-ng rfkill firmware-ath9k-htc

# 2. 克隆并编译项目
git clone https://github.com/vanhoefm/fragattacks.git fragattacks
cd fragattacks/research
./build.sh
pip install -r requirment.txt

# 3. 安装 ath9k 固件
cd research/ath9k-firmware/
./install.sh
sudo reboot

使用方法

前置准备

  1. 接入 Wi-Fi 网卡 — 使用支持监听模式的 USB Wi-Fi 网卡
  2. 查看网卡接口名称 — 使用 ifconfig 命令确认
1
2
3
4
5
6
7
8
$ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
...

wlx10634b1dff26: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 10:63:4b:1d:ff:26 txqueuelen 1000 (Ethernet)
...

本例中 Wi-Fi 网卡接口名称为 wlx10634b1dff26

  1. 以 root 权限运行 — 进入 research 目录,加载 Python 虚拟环境后执行

模式一:作为 AP 测试客户端设备

在此模式下,工具会创建一个 Wi-Fi 热点,待测试设备连接该热点后进行漏洞检测。

1
sudo ./fragattacks.py <wifi网卡接口名称> --ap <command>

示例: 使用 ping 命令测试环境是否搭建成功:

1
sudo ./fragattacks.py wlx10634b1dff26 --ap ping

运行输出:

1
2
3
4
5
6
7
[18:32:22] This is FragAttack version 1.3.
[18:32:22] You are not running patched drivers, meaning this tool may give incorrect results!
[18:32:22] To ignore this warning and timeout add the parameter --no-drivercheck
[18:32:28] Using interface monwlx10634b1df (mt76x2u) to inject frames.
[18:32:28] Starting hostapd using: ../hostapd/hostapd -i wlx10634b1dff26 hostapd.conf -K
wlx10634b1dff26: interface state UNINITIALIZED->ENABLED
wlx10634b1dff26: AP-ENABLED

看到 AP-ENABLED 即表示测试热点已建立。

测试热点信息:

  • SSID:testnetwork
  • 密码:abcdefgh

使用待测终端连接该热点,等待测试结果。

模式二:作为客户端测试 AP

在此模式下,工具作为客户端连接到目标 Wi-Fi 热点进行漏洞检测。

1
sudo ./fragattacks.py <wifi网卡接口名称> <command>

示例:

1
sudo ./fragattacks.py wlx10634b1dff26 ping

运行后程序会加载当前路径下 client.conf 配置文件中的 Wi-Fi 热点信息进行连接。

client.conf 配置格式:

1
2
3
4
5
sae_pwe=2
network={
ssid="testnetwork"
psk="abcdefgh"
}

测试结果判断

输出信息 含义
TEST COMPLETED SUCCESSFULLY ✅ 设备存在该漏洞
Test timed out! Retry to be sure, or manually check result ❌ 设备不存在该漏洞
无上述输出 ⚠️ 测试失败,建议重试

CVE 漏洞与命令对照表

序号 CVE 编号 测试命令 漏洞类型
1 CVE-2020-24588 amsdu-inject A-MSDU 注入攻击
2 CVE-2020-24587 ping I,F,BE,AE --pn-per-qos 混合密钥攻击(建议测试客户端,AP测试不稳定)
3 CVE-2020-24586 ping I,E,R,AE --full-recon 分片缓存攻击
4 CVE-2020-26146 ping I,E,E --inc-pn 2 非连续 PN(包序号)攻击
5 CVE-2020-26147 ping I,E,P 混合明文/加密分片攻击
6 CVE-2020-26140 ping I,P 明文数据帧接受攻击
7 CVE-2020-26143 ping I,P,P 明文数据帧接受攻击(聚合帧)
8 CVE-2020-26145 ping I,D,P --bcast-ra 广播分片攻击(主要测试客户端)
9 CVE-2020-26144 eapol-amsdu I,P A-MSDU EAPOL 攻击

相关文章