UserJoo9/WiFi-Nightmare
GitHub: UserJoo9/WiFi-Nightmare
一款结合 Python CLI 与 ESP32/ESP8266 硬件的混合型 WiFi 安全审计工具,支持网络扫描、握手包捕获、Evil Twin 和 Deauth 攻击等渗透测试功能。
Stars: 45 | Forks: 8
# WiFi-Nightmare
**v2.0.2**
WiFi-Nightmare 是一款先进的 WiFi 安全审计和渗透测试工具。它将基于 Python 的强大 Linux 命令行界面 (CLI) 与用于 ESP32 和 ESP8266 设备的自定义固件相结合,以执行复杂的攻击,包括 Evil Twin、Deauthentication 以及 Handshake/PMKID 捕获。
## 功能
- **网络扫描**:发现可用的 WiFi 网络和客户端。
- **Deauthentication 攻击**:断开客户端与目标网络的连接。
- **Handshake 和 PMKID 捕获**:捕获 WPA/WPA2 handshake 和 PMKID 以用于破解。
- **Hashcat 文件生成**:自动将捕获的 handshake 转换为 `.hc22000` 格式,适用于 Hashcat 模式 22000。
- **Evil Twin 攻击**:创建虚假接入点以捕获凭据(需要 ESP32/ESP8266)。
- **数据库管理**:存储和管理捕获的网络信息。
- **混合模式**:可作为使用 WiFi 适配器的独立工具运行,或与 ESP32/ESP8266 配对以获得增强功能。
## 项目结构
- `WiFi-Nightmare/`:用于 Linux 的主要 Python 应用程序。
- `ESP32-DePortal2/`:用于 ESP32 设备的固件。
- `ESP8266-DePortal2/`:用于 ESP8266 设备的固件。
## 1. 固件安装 (ESP32 / ESP8266)
要使用 Evil Twin 攻击等高级功能,您需要将固件刷入您的 ESP32 或 ESP8266 设备。
### 前置条件
- **VS Code**:[下载 Visual Studio Code](https://code.visualstudio.com/)
- **PlatformIO IDE**:VS Code 的一个扩展。
### 安装步骤
1. **安装 PlatformIO**:
- 打开 VS Code。
- 转到 **Extensions** 视图(单击左侧边栏上的方形图标或按 `Ctrl+Shift+X`)。
- 搜索 `PlatformIO IDE`。
- 点击 **Install**。
2. **打开固件项目**:
- 在 VS Code 中,转到 **File > Open Folder...**
- 选择与您的设备对应的文件夹:
- 对于 **ESP32**:选择 `ESP32-DePortal2` 文件夹。
- 对于 **ESP8266**:选择 `ESP8266-DePortal2` 文件夹。
3. **连接您的设备**:
- 通过 USB 数据线将您的 ESP32 或 ESP8266 开发板连接到计算机。
4. **上传固件**:
- 等待 PlatformIO 初始化(您会在底部的状态栏中看到加载指示器)。
- 准备就绪后,点击 VS Code 底部蓝色状态栏中的 **Upload** 按钮(向右指的箭头图标 `→`)。
- 或者,您可以打开 **PlatformIO** 侧边栏(外星人图标),转到 **Project Tasks**,然后点击 **Upload**。
5. **验证**:
- PlatformIO 将编译代码并将其上传到您的开发板。
- 完成后,您将在终端中看到“SUCCESS”消息。
## 2. Python 应用程序使用说明 (Linux)
Python 应用程序在 Linux 上运行并充当控制中心。它需要一个支持 **Monitor Mode** 的 WiFi 适配器。
### 前置条件
- **操作系统**:Linux(推荐使用 Kali Linux、Parrot OS 或 Ubuntu)。
- **Python 3**:大多数 Linux 发行版默认安装。
- **依赖项**:
- `scapy`
- `aircrack-ng`(用于 `iwconfig`、`airmon-ng` 等系统工具)
- `hcxtools`(用于将 handshake 转换为 hc22000)
sudo apt-get update
sudo apt-get install aircrack-ng hcxtools python3-pip
sudo pip3 install scapy
### 如何运行
导航到应用程序目录:
```
cd WiFi-Nightmare
```
#### 模式 1:独立运行(无 ESP32)
如果您只想使用您的 WiFi 适配器进行扫描和 deauth 攻击,请使用此模式。
```
sudo python3 main.py
# 示例:
sudo python3 main.py wlan0
```
#### 模式 2:混合模式(带 ESP32/ESP8266)
使用此模式可启用 Evil Twin 攻击,并将一些任务转移到外部设备处理。
1. 将刷好固件的 ESP32/ESP8266 连接到 USB 端口。
2. 找到串行端口(通常是 `/dev/ttyUSB0` 或 `/dev/ttyACM0`)。
3. 使用端口参数运行该工具:
```
sudo python3 main.py
# 示例:
sudo python3 main.py wlan0 /dev/ttyUSB0
```
### 菜单选项
- **1. Scan**:开始扫描网络。
- **2. Client Monitor**:监控连接到特定网络的客户端。
- **3. Mass Attack**:对多个目标进行 deauth 攻击。
- **4. Database**:查看捕获的 handshake 和网络。
- **5. Generate Hashcat File**:(在目标菜单中)将捕获的 handshake 转换为 `.hc22000`。
- **6. Evil Twin**:(在目标菜单中)使用 ESP32 启动 Evil Twin 攻击。
**资源与依赖项:**
- **Deportal2**:本项目利用 Deportal2 来实现其固件功能。
- *注*:本项目包含的 `ESP8266-DePortal2` 固件是 Deportal2 的编辑版本。
- **Captive-Portal-ESP32**:[https://github.com/CDFER/Captive-Portal-ESP32](https://github.com/CDFER/Captive-Portal-ESP32)
- **ESP32-Deauther**:[https://github.com/tesa-klebeband/ESP32-Deauther](https://github.com/tesa-klebeband/ESP32-Deauther)
特别感谢开源社区以及本项目所用底层库和工具的开发者。
标签:Deauth攻击, Evil Twin, Python, Subfinder, WiFi渗透测试, 握手包抓取, 无后门, 物联网硬件, 网络安全, 逆向工具, 防御绕过, 隐私保护