G4MEOVER18/usb-army-penetrator
GitHub: G4MEOVER18/usb-army-penetrator
面向红队与安全研究者的多功能 ESP32 USB/WiFi 渗透测试硬件平台,支持 HID 注入、无线攻击、远程 Agent 控制及多种开发板外形。
Stars: 4 | Forks: 1

[](https://platformio.org)
# USB Army Penetrator
**Fork 自 [USB Army Knife by i-am-shodan](https://github.com/i-am-shodan/USBArmyKnife)** — 扩展了 CYD 开发板支持,改进了 T-Dongle UI 和 G4MEOVER RadioRemote。
专为红队和安全研究人员设计的紧凑型、隐蔽式 USB/WiFi 渗透测试平台。即插即用,通过 DuckyScript 执行 Payloads,通过 WiFi 进行数据渗出,或者将设备留在目标处进行远程控制——所有这些均可通过智能手机或浏览器操作。
## 与上游版本有何不同?
此 Fork 增加了:
| 扩展功能 | 描述 |
|------------|-------------|
| **CYD 开发板支持** | 为 ESP32-2432S028R(Cheap Yellow Display)提供完整的 TFT 仪表板 — 状态页、快捷按钮、Payload 监控、触摸输入 |
| **改进的 T-Dongle UI** | 为 LilyGo T-Dongle S3 重新设计了开机画面和多页状态显示 |
| **G4MEOVER RadioRemote** | 在 WebServer.cpp 中增加了用于 WiFi 控制 Payload 执行的远程控制扩展 |
| **增强的 WebUI** | 扩展了 Bootstrap 界面(`ui/content/index.html`),增加了更多控件 |
| **USB NCM 修复** | 在 USBCore.cpp 和 USBMSC.cpp 中增加了额外的稳定性修复 |
| **Agent 改进** | 改进了 SerialComms.cs 和 Program.cs,使 Agent 通信更可靠 |
## 功能
- **USB HID 攻击** — DuckyScript BadUSB,支持多种键盘布局
- **大容量存储模拟** — 模拟为 USB 驱动器或 CDROM
- **USB 网络设备** — USB Ethernet / NCM 适配器,PCAP 记录
- **WiFi 与蓝牙攻击** — 通过 ESP32 Marauder 实现(Deauth、Evil AP、PCAP)
- **远程 Agent** — 部署 Agent,通过 Serial 执行命令 — 甚至适用于锁定的系统
- **VNC 屏幕拉取** — 通过 noVNC 经设备 WiFi 查看目标屏幕
- **Hot Mic** — 通过 WiFi 串流麦克风音频
- **自定义 TFT UI** — 支持带自定义加载界面和进度条的脚本
## 支持的硬件
| 硬件 | 备注 |
|----------|---------|
| **LilyGo T-Dongle S3** ⭐ | 推荐。USB-A 外形,带显示屏,隐藏式 SD 卡 |
| **CYD ESP32-2432S028R** | 此 Fork 中的新功能 — 320×240 触摸 TFT,独立仪表板 |
| **Evil Crow Cable Wind** | 带有隐藏 ESP32-S3 的隐蔽式 USB 数据线 |
| **T-Watch S3** | 智能手表外形 |
| **Waveshare ESP32-S3 1.47"** | 大屏幕 |
| **M5Stack AtomS3U** | 小巧,无 SD 卡 |
| **ESP32 UDisk / ESP32 Key** | 经济型选择,无 Web 界面 |
| **Waveshare RP2040-GEEK** | 无 Marauder,无 NCM |
## 快速开始
### 预编译固件(推荐)
适用于最常见开发板的预编译、可直接刷写的镜像可在
[**Releases**](https://github.com/G4MEOVER18/usb-army-penetrator/releases/latest) 中找到 —
无需构建环境。
| 开发板 | 合并镜像 (偏移量 0x0) |
|-------|---------------------------|
| **LilyGo T-Dongle S3** ⭐ | `…_LILYGO-T-Dongle-S3_v1.1.0_merged.bin` |
| **CYD ESP32-2432S028R** | `…_CYD-ESP32-2432S028_v1.1.0_merged.bin` |
| **Generic ESP32-S3** | `…_Generic-ESP32-S3_v1.1.0_merged.bin` |
| **M5Stack AtomS3U** | `…_M5-Atom-S3U_v1.1.0_merged.bin` |
| **Waveshare ESP32-S3 1.47"** | `…_Waveshare-ESP32-S3-LCD-1_47_v1.1.0_merged.bin` |
刷写(合并镜像包含 Bootloader + 分区 + App):
```
# ESP32-S3-Boards (T-Dongle, Generic-S3, M5 AtomS3U, Waveshare):
esptool.py --chip esp32s3 write_flash 0x0
# CYD 是经典的 ESP32:
esptool.py --chip esp32 write_flash 0x0
```
### 自行构建 — 前置条件
- [Visual Studio Code](https://code.visualstudio.com/) + [PlatformIO 扩展](https://platformio.org/install/ide?install=vscode)
- 或者使用 PlatformIO Core CLI:`pip install platformio`
### 构建与刷写
```
# 克隆 Repo
git clone https://github.com/G4MEOVER18/usb-army-penetrator.git
cd usb-army-penetrator
# 在 VSCode 中打开
code .
# 在 PlatformIO 中:选择 Board-Environment,然后 Build → Upload
# CLI:
pio run -e LILYGO-T-Dongle-S3 -t upload
pio run -e CYD-ESP32-2432S028 -t upload
```
可用的 PlatformIO 环境(在 `platformio.ini` 中):
```
LILYGO-T-Dongle-S3
CYD-ESP32-2432S028
M5Stack-AtomS3U
Waveshare-ESP32-S3-GEEK
Waveshare-RP2040-GEEK
EvilCrowWind
TWatchS3
```
### 首次运行
1. **刷写** — 将固件刷入您自己的开发板(见上文)
2. 插入装有 Payload 的 **SD 卡**(DuckyScript `.ds` 文件) — 可选
3. 将 **设备** 插入 USB 端口
4. 连接设备的 **WiFi**(默认 SSID 可在 Web UI 中配置)
5. 打开 **Web 界面**:`http://4.3.2.1:8080`
6. 加载或编写 **DuckyScript Payload**,然后点击“执行”
## 使用说明
### Web 界面
连接到设备的 WiFi AP 并访问 `http://4.3.2.1:8080` 后:
| 区域 | 描述 |
|---------|-------------|
| **状态** | 当前 USB 模式、WiFi 状态、运行时间、Payload 状态 |
| **Payload 编辑器** | 编写、加载和执行 DuckyScript 攻击 |
| **文件管理器** | 浏览 SD 卡,上传和下载文件 |
| **设置** | WiFi 凭据、AP 名称、USB 模式 |
| **VNC** | 屏幕查看(需要部署 Agent) |
### DuckyScript 简要参考
```
# 输入文本
STRING Hallo Welt
ENTER
# 组合键
CTRL ALT DELETE
GUI r
STRING cmd
ENTER
# 延迟(毫秒)
DELAY 1000
# 连接 WLAN — AP
WIFI_CONNECT ssid passwort
# 执行 Marauder 命令
ESP32M scan -w -t 5
# 在 TFT 上显示图像
SHOW_IMAGE /meinbild.png
# 自行销毁 Payload 文件
WIPE_STORAGE
```
完整的 DuckyScript 参考:[USB Army Knife Wiki](https://github.com/i-am-shodan/USBArmyKnife/wiki)
### CYD 仪表板 (ESP32-2432S028R)
CYD 开发板显示一个 4 页的 TFT 界面:
| 页面 | 内容 |
|-------|--------|
| **页面 0** | 仪表板 — WiFi、SD、USB 模式、RAM、运行时间、网络信息 |
| **页面 1** | 快捷启动 — 通过触摸启动 6 个 Payload 插槽 |
| **页面 2** | Payload 状态 — 当前运行的脚本、最新输出 |
| **页面 3** | 信息 / 系统数据 |
- 在页面 0 **触摸** → 打开快捷启动
- **按钮** → 切换页面
### Agent 部署
C# Agent(`tools/Agent/`)可实现隐蔽的命令执行:
```
# 部署 Agent (Windows)
INCLUDE install_agent_and_run_command/us-autorun.ds
# 部署后 — 通过 Web-Interface 发送命令
# 命令在目标上执行,输出显示在 WebUI 中
```
Agent 通过 USB 串口进行通信 — 目标上无需网络 Socket,无需外部连接,检测足迹极小。
## 示例
| 示例 | 描述 |
|---------|-------------|
| [隐蔽存储](./examples/covertstorage/) | 显示为两个不同的 USB 驱动器 — 首次插入时为完整 SD 卡,之后显示为无害的驱动器 |
| [进度条](./examples/progressbar/) | 带有动画进度的好莱坞式攻击 UI |
| [终极 RickRoll](./examples/rickroll/) | 键盘注入 + Marauder WiFi Beacon 欺骗 |
| [USB Ethernet PCAP](./examples/usb_ethernet_pcap/) | USB-NIC + 自动 PCAP 记录 |
| [安装 Agent](./examples/install_agent_and_run_command/) | 部署 Agent,远程执行命令 |
| [VNC 屏幕拉取](./examples/vnc/) | 部署带有 VNC 服务器的 Agent,通过 WebUI 查看屏幕 |
| [简单 UI](./examples/simple_ui/) | 带有自定义界面的按钮控制脚本启动器 |
| [Hot Mic](./examples/hotmic/) | 通过 WiFi 串流麦克风音频 |
| [Linux Panic](./examples/linux_panic/) | 错误的文件系统模拟在自动挂载时触发 Kernel Panic |
| [Evil USB NIC](./examples/malicious_ethernet_adapter/) | 伪造的 NIC,会显示驱动程序 CDROM |
| [EvilAP](./examples/evilap/) | 通过 Marauder 创建欺骗性 WiFi AP |
| [WiFi Deauth + PCAP](./examples/wifi_deauth_and_crypt_capture/) | Deauth 客户端,记录握手包 |
## 从源代码构建
```
# 安装 PlatformIO CLI
pip install platformio
# 构建所有 Environments
pio run
# 构建单个 Board
pio run -e LILYGO-T-Dongle-S3
# Flashen
pio run -e LILYGO-T-Dongle-S3 -t upload
```
## 来源 / 致谢
本项目是 **[USB Army Knife](https://github.com/i-am-shodan/USBArmyKnife)**(由 [@i-am-shodan](https://github.com/i-am-shodan) 开发)的 Fork,基于 MIT 协议授权。
WiFi/蓝牙攻击功能来自于 justcallmekoko 开发的 **[ESP32 Marauder](https://github.com/justcallmekoko/ESP32Marauder)**。
## 许可证
MIT License — 详见 [LICENSE](LICENSE)
原作者版权所有 (c) 2024 i-am-shodan
Fork 修改版权所有 (c) 2026 G4MEOVER18
## 联系与支持
**开发者:** Yanis Ameseder · **邮箱:** [g4me.over.18@gmail.com](mailto:g4me.over.18@gmail.com)
如有任何问题、Bug 报告和功能需求,欢迎通过 [Issue](https://github.com/G4MEOVER18/usb-army-penetrator/issues) 或电子邮件联系我们。
如果本项目对您的研究有所帮助:
**Bitcoin:** `39vZWmnUwDReQ15BwqQXzyqVQ6U8LardEf`
**PayPal:** [paypal.me/Freakbank1](https://paypal.me/Freakbank1)标签:BadUSB, DuckyScript, ESP32, UML, WiFi攻击, 硬件安全