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握手抓包, 协议分析, 去认证攻击, 字典攻击, 客户端扫描, 密码审计, 无后门, 权限提升, 桌面应用, 监控模式, 离线破解, 网络安全, 网络渗透, 逆向工具, 防御绕过, 隐私保护