tobozo / WUD-Ducky

An ESP32-S2 RubberDucky script parser, with Mouse/PenDrive support 🦆
MIT License
116 stars 15 forks source link
arduino duckyscript esp32 esp32-s2 esp32s2 esptinyusb pendrive usb-hid usbcdc usbmsc whid wifi wud

ESP32-S2 WUD-Ducky

This project is an attempt to add USB HID to the default example provided with @AprilBrother's WUD (*), however it also supports any ESP32-S2 equipped with a SD Card.

The default platformio POC coming with the WUD has been extended to support HID Composite (Keyboard+Mouse) and implements a payload parser. The payload syntax is heavily inspired by whid-injector and wifi_ducky.

Features

(**) Changes on the SD Card made from the USB Pendrive aren't immediately accessible by the ESP32-S2's SD.read(), and vice-versa, so it is recommended to make a full power cycle after either changes are applied. This is due to the fact that USB Pendrive accesses the SD Partition using SD.rawRead and SD.rawWrite, and the lack of callable flushing methods with SD once the raw changes affect the file allocation table. Hopefully this will be fixed in the future, but it still wasn't at the time this readme file was written (2021:09:27).

WUD w00t?

WUD is the recursive acronym for WiFi USB Disk: it is an ESP32-S2 dongle made by @AprilBrother with a Micro SDCard slot hidden in the USB port.

See the wiki page for more info.

WUD Product image

Hardware/software Requirements:

Why Arduino?

Roadmap

Credits:

Special thanks to @chegewara for helping me with this project and maintaining the awesome ESPTinyUSB library.