PrathamN4yak/AirStrike
GitHub: PrathamN4yak/AirStrike
AirStrike 是一款 Linux 桌面端 Wi-Fi 安全审计工具,通过图形化界面引导用户完成从监听模式启用到 WPA/WPA2 握手包捕获及离线密码破解的全流程。
Stars: 1 | Forks: 0
# AirStrike
AirStrike 是一个用于授权 Wi-Fi 安全审计的 Linux 桌面应用程序。
它提供了以下引导式工作流:
1. 启用监听模式。
2. 扫描附近的接入点和工作站。
3. 捕获 WPA/WPA2 握手包。
4. 使用 hashcat 运行离线密码审计。
## 法律声明
仅在您拥有或已获得明确书面授权的网络上使用本项目。未经授权的使用可能属于违法行为。
## 功能特性
1. 采用 Tkinter GUI,提供设备设置、扫描、捕获和破解的独立选项卡。
2. 通过捕获文件中的 `aircrack-ng` 输出进行 WPA 握手包验证。
3. 跨发行版的特权命令处理(支持以 root 身份、使用 `sudo` 或 `doas` 运行)。
4. 在捕获期间可选的自动辅助解除认证(deauth)突发机制(在 UI 中可用,默认关闭)。
5. 防止因重复点击按钮导致重复运行的破解工作流保护机制。
6. 捕获输出写入本地的 `captures` 目录(如缺失则自动创建)。
## 环境要求
1. Linux
2. Python 3.8+
3. 执行监听/捕获操作需要 Root 权限
4. 已安装的工具:
- `aircrack-ng` 套件 (`airmon-ng`, `airodump-ng`, `aireplay-ng`, `aircrack-ng`)
- `hashcat`
- `hcxpcapngtool`(推荐)或 `cap2hccapx`
### 在 Debian/Ubuntu/Kali 上安装
```
sudo apt update
sudo apt install -y aircrack-ng hashcat hcxtools
```
## 快速开始
```
git clone https://github.com/PrathamN4yak/AirStrike.git
cd AirStrike
sudo python3 main.py
```
如果在 X11 环境下通过 sudo 运行时 GUI 显示访问失败,请先授予 root 显示访问权限:
```
xhost +local:root
```
## 在虚拟机中运行
AirStrike 需要支持**监听模式**的 WiFi 适配器。裸机 Linux 系统可以使用笔记本电脑内置的 WiFi 网卡,但虚拟机需要通过 USB 直通连接外部适配器。
### USB WiFi 适配器设置
如果要在虚拟机中运行 AirStrike,您需要:
1. 支持监听模式的外部 USB WiFi 适配器
2. 在虚拟机监控程序中启用 USB 直通
3. 适配器直通成功后,AirStrike 即可无需修改直接运行
#### 兼容的 USB WiFi 适配器
以下适配器可靠地支持监听模式和数据包注入:
- **Atheros AR9271**(最常见,推荐)
- TP-Link TL-WN722N (V1 或 V2)
- TP-Link TL-WN722N(EU)
- Alfa AWUS036NHA
- Alfa AWUS036NEH
- **Ralink RT3070**
- Panda Wireless PAU05
- D-Link DWA-125
- **RTL8188EU**
- 部分华硕 USB 适配器
**避免使用:** 以 USB3 结尾的适配器(如 TL-WN823N)通常不支持监听模式。
### VirtualBox USB 直通
1. **将您的 USB WiFi 适配器插入** 主机
2. **获取 USB 设备 ID:**
lsusb | grep -i wireless
# 示例输出: Bus 001 Device 005: ID 0cf3:9271 Atheros Communications, Inc.
3. **在 VirtualBox 虚拟机设置中:**
- 进入 USB 设置
- 点击 **USB Device Filters**
- 点击 **Add Filter** (绿色加号图标)
- 从列表中选择您的适配器 → OK
4. **启动虚拟机并验证适配器是否出现:**
iw dev
# 应显示: phy#0 -> wlan0
5. **运行 AirStrike:**
sudo python3 main.py
### VMware Workstation USB 直通
1. **插入 USB 适配器**
2. **在虚拟机设置中:**
- 进入 USB Controller 设置
- 确保已启用 USB 2.0 或 3.0
- 启动虚拟机
3. **在虚拟机中出现提示时,连接 USB 设备**(会显示通知)
4. **在客户机中验证:**
iw dev
5. **运行 AirStrike:**
sudo python3 main.py
### KVM/QEMU USB 直通(高级)
1. **查找 USB 设备:**
lsusb
# 记下 vendor:product ID (例如: 0cf3:9271)
2. **添加到虚拟机 XML 或 QEMU 命令中:**
或者使用 QEMU:
-usb -device usb-host,vendorid=0x0cf3,productid=0x9271
3. **在客户机中验证并运行 AirStrike**
### USB 直通故障排除
| 问题 | 解决方案 |
|---|---|
| 适配器未在虚拟机中显示 | 确保已添加并激活 USB 设备过滤器;重启虚拟机 |
| 执行 iw dev 提示 "Permission denied" | 重启虚拟机;USB 设备可能需要重新初始化 |
| 无法启用监听模式 | 适配器可能不支持监听模式;请使用 `iw list \| grep monitor` 进行验证 |
| 捕获缓慢/为空 | 检查信号强度是否足够;靠近目标网络 |
| 连接适配器时虚拟机崩溃 | USB3 驱动问题;在虚拟机监控程序设置中尝试 USB2.0 模式 |
### 仅主机(无虚拟机选项)
如果无法使用 USB 直通:
- 使用笔记本电脑内置的 WiFi 适配器在 **裸机 Linux** 上运行 AirStrike
- 使用安装了 Linux 的专用安全测试机
- 这是进行严格安全测试的最可靠方法
## 使用流程
1. 打开设备管理,然后点击刷新设备。
2. 启用监听模式。
3. 在网络扫描中开始扫描,并等待目标列表填充。
4. 在握手捕获中,选择目标,验证通道,并开始捕获。
5. 手动触发解除认证(deauth)(或根据需要启用自动辅助复选框)。
6. 等待状态显示已捕获握手包。
7. 在密码破解中,加载捕获的文件并启动字典或暴力破解模式。
## 项目结构
```
AirStrike/
├── main.py
├── core/
│ ├── monitor.py
│ ├── scanner.py
│ ├── capture.py
│ ├── deauth.py
│ └── cracker.py
├── ui/
│ ├── app.py
│ ├── device_tab.py
│ ├── scan_tab.py
│ ├── capture_tab.py
│ └── crack_tab.py
└── utils/
├── commands.py
├── logger.py
├── validator.py
└── disclaimer.py
```
## 故障排除
| 问题 | 可能原因 | 修复方法 |
|---|---|---|
| 未发现网络 | 接口模式错误 | 启用监听模式并重新扫描 |
| 捕获超时 | 没有重连流量 | 发送少量解除认证(deauth)突发包,并让捕获持续运行更长时间 |
| 握手包在 UI 中显示但无法破解 | 捕获不完整 | 重新捕获,并使用 `aircrack-ng ` 确认显示 `WPA (1 handshake)` 或更多 |
| 转换器错误 | 缺少转换器工具 | 安装 `hcxtools` 或 `cap2hccapx` |
| 破解多次启动 | 多次点击按钮 | 仅运行一次;应用程序现在在破解期间会锁定 |
## 免责声明
本项目仅用于教育和授权的安全测试。维护者不对滥用行为负责。
标签:Aircrack-ng, AP扫描, Bitdefender, Deauth, GUI, Hashcat, Python, Root, Sudo, Tkinter, VEH, Wi-Fi审计, WPA2破解, WPA握手抓包, 协议分析, 去认证攻击, 字典攻击, 客户端扫描, 密码审计, 无后门, 权限提升, 桌面应用, 监控模式, 离线破解, 网络安全, 网络渗透, 逆向工具, 防御绕过, 隐私保护