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!
Warning! This is a fork of dbisu pico-ducky so the code is not mine, it is just modified for the Wio terminal!
Install and have your USB Rubber Ducky working in less than 5 minutes.
-
Clone the repo to get a local copy of the files.
git clone https://github.com/steveiliop56/wio-ducky.git
-
Download CircuitPython for the Wio Terminal.
-
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
. -
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 asCIRCUITPY
. -
Download
adafruit-circuitpython-bundle-8.x-mpy-YYYYMMDD.zip
here and extract it outside the device. -
Navigate to
lib
in the recently extracted folder and copyadafruit_hid
to thelib
folder on your Raspberry Pi Wio Terminal. -
Copy
adafruit_debouncer.mpy
andadafruit_ticks.mpy
to thelib
folder on your Wio Terminal. -
Copy
asyncio
to thelib
folder on your Wio Terminal. -
Download both
adafruit-circuitpython-display-shapes-8.x-mpy-2.6.0.zip
from here and theadafruit-circuitpython-display-text-8.x-mpy-2.28.1.zip
from here extract them and copy theadafruit_display_shapes
and theadafruit_display_text
to thelib
folder of your who terminal. -
Copy
boot.py
from your clone to the root of your Wio Terminal. -
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!
-
Find a script here or create your own one using Ducky Script and save it as
payload.dd
in the Wio Terminalpayloads
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. -
Be careful, if your device isn't in setup mode, the device will reboot and after half a second, the script will run.
-
Please note: by default, Wio Terminal will not show as a USB drive!
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.
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.
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.
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:
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.
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!
Pico-ducky tutorial by NetworkChuck (Same as wio terminal)