G4MEOVER18/usb-army-penetrator

GitHub: G4MEOVER18/usb-army-penetrator

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

Stars: 4 | Forks: 1

License [![PlatformIO](https://img.shields.io/badge/build-PlatformIO-orange.svg)](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攻击, 硬件安全