Skip to content

steveiliop56/wio-ducky

 
 

Repository files navigation

Make a cheap but powerful USB Rubber Ducky with a Wio Terminal
Warning! This is a fork of dbisu pico-ducky so the code is not mine, it is just modified for the Wio terminal!

Install

Install and have your USB Rubber Ducky working in less than 5 minutes.

  1. Clone the repo to get a local copy of the files. git clone https://github.com/steveiliop56/wio-ducky.git

  2. Download CircuitPython for the Wio Terminal.

  3. Plug the device into a USB port and enter bootloader mode by sliding the power button down very fast 2 times. It will show up as a removable media device named ARDUINO.

  4. Copy the downloaded .uf2 file to the root of the Wio Terminal (ARDUINO). The device will reboot and after a second or so, it will reconnect as CIRCUITPY.

  5. Download adafruit-circuitpython-bundle-8.x-mpy-YYYYMMDD.zip here and extract it outside the device.

  6. Navigate to lib in the recently extracted folder and copy adafruit_hid to the lib folder on your Raspberry Pi Wio Terminal.

  7. Copy adafruit_debouncer.mpy and adafruit_ticks.mpy to the lib folder on your Wio Terminal.

  8. Copy asyncio to the lib folder on your Wio Terminal.

  9. Download both adafruit-circuitpython-display-shapes-8.x-mpy-2.6.0.zip from here and the adafruit-circuitpython-display-text-8.x-mpy-2.28.1.zip from here extract them and copy the adafruit_display_shapes and the adafruit_display_text to the lib folder of your who terminal.

  10. Copy boot.py from your clone to the root of your Wio Terminal.

  11. Copy duckyinpython.py, code.py, screen_menu.py, to the root folder of the Wio Terminal.

Note: You can skip installing all the requirements manually by just running the circup command and you will find the requirements inside the requirements.txt file. Also, there is a ready-to-go zip file that you can download and extract directly into your Wio terminal, it also contains 4 simple payloads that just open Notepad and write a message like this: You have been hacked by payload 0!

Payloads

  1. Find a script here or create your own one using Ducky Script and save it as payload.dd in the Wio Terminal payloads folder. You can copy the 4 default ones from your clone of the repository. Currently, wio-ducky only supports DuckScript 1.0, not 3.0.

  2. Be careful, if your device isn't in setup mode, the device will reboot and after half a second, the script will run.

  3. Please note: by default, Wio Terminal will not show as a USB drive!

Setup mode

To edit the payload, enter setup mode by pressing the right top button, this will stop the Wio wio-ducky from injecting the payload into your machine.

USB enable/disable mode

If you need the wio-ducky to not show up as a USB mass storage device for stealth, follow these instructions.

  • Enter setup mode.
  • Copy your payload script to the wio-ducky.
  • Disconnect the Wio Terminal from your host PC.
  • Connect a jumper wire between pin 6 (GND) and pin 13 (D0).
    This will prevent the Wio Terminal-ducky from showing up as a USB drive when plugged into the target computer.
  • Remove the jumper and reconnect to your PC to reprogram.
    Wio Terminal: The default mode is USB mass storage enabled.

Enable Storage Wiring

Screen enable/disable mode

If you need the wio-ducky's display to not show logs in the display, follow these instructions.

  • Disconnect the Wio Terminal from your host PC.
  • Connect a jumper wire between pin 4 (+5V) and pin 15 (D1).
    This will prevent the Wio Terminal-ducky from showing up as a USB drive when plugged into the target computer.
  • Remove the jumper and reconnect to your PC to reprogram.
    Wio Terminal: The default mode is USB mass storage enabled.

Disable Screen Wiring

Multiple payloads

Multiple payloads can be stored on the Wio Terminal.
To select a payload, you have to first press and hold the left button and you will be greeted with a menu where you can run the payloads stored in the payloads folder. The payloads should be named with these 4 names: payload.dd (which is the default one), payload1.dd, payload2.dd, payload3.dd. Here is a picture of how the menu looks:

Payload Selector Menu

Self destroy mode

If you hold the middle button while the wio terminal is booting it will erase everything in the flash and appear as a simple CIRCUITPY device without anyone knowing about the payloads that it stored.

Useful links and resources

Plug and Play

On the releases](https://github.com/steveiliop56/wio-ducky/releases) page, you can find a file named wio-ducky-plug-and-play.zip which you can just unzip in your wio terminal copy your payloads and it's ready!

Docs

CircuitPython

CircuitPython HID

Ducky Script

Video tutorials

Pico-ducky tutorial by NetworkChuck (Same as wio terminal)

USB Rubber Ducky playlist by Hak5

About

Create a USB Rubber Ducky like device using a Wio Terminal.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%