A wifi-controlled USB Rubber Ducky clone built with Raspberry Pi Pico W Series boards.
- Minimal Setup.
- Simple and clean webpage for type mnemonics.
- Banner to show uploaded payload name with .txt extension.
- Run Button - Run typed mnemonics.
- Upload Button - Upload .txt files which contain mnemonics to run.
- Save Button - Save typed mnemonics on the system.
- Clear Button - Clears the text area.
- Raspberry Pi Pico W
- Raspberry Pi Pico 2 W
1Raspberry Pi Pico W or Raspberry Pi Pico 2 W Board1Micro-B USB Cable with data transfer support
- Download
.uf2files according to your boards. - Copy the
.uf2file into the respective board.RPI-RP2forRaspberry Pi Pico WandRP2350forRaspberry Pi Pico 2 W.- When it is copied, then it disconnects automatically and reconnect as
PICOWQUACK. - Means CircuitPython is successfully flashed in the
Raspberry Pi Pico WorRaspberry Pi Pico 2 Wboard.
- Done! Now,
Raspberry Pi Pico WorRaspberry Pi Pico 2 WBoard is flashed with.uf2file.
- Download or Clone the Repository.
- Open the folder.
- Make sure that your
Raspberry Pi Pico WorRaspberry Pi Pico 2 Wboard is connected to your PC/Laptop.
- Make sure that your
- Copy
code.pyin thePICOWQUACK.- It ask for replacement of
code.pyfile, then replace it. - It will overwrite in the
code.pyfile.
- It ask for replacement of
- Copy
boot.pyin thePICOWQUACK. - Copy
index.html,styles.cssandscript.jsin thestaticfolder ofPICOWQUACK.- After 2-3 minutes, an access point is created named
PicoWQuackwhose password ispicowquack.
- After 2-3 minutes, an access point is created named
- Done! Now,
Raspberry Pi Pico WorRaspberry Pi Pico 2 Wboard is ready to use asPicoWQuack.
- There are three values :
ssid,passwordandip. - Put the values in double quotes.
- Change as per required.
- Default values :
- ssid :
PicoWQuack - password :
picowquack - ip :
192.168.4.1
- ssid :
boot.pyhelps to hide / unhide mass storage device to work in stealth.- In
boot.py, replaceXwith any pin number available on the board inLOC 7. - By default, the mass storage is hidden when
boot.pyis inPICOWQUACK. - To show mass storage, put jumper wire between that pin number mentioned in
boot.pyandGNDand press and release theRSTorRESETbutton. - To hide mass storage, just remove jumper wire between them and press and release the
RSTorRESETbutton.
- Connect to that access point.
- When connected successfully, open your browser and type the following IP -
192.168.4.1. - Hit enter.
- A webpage open like this :
- Type your script and click on
Runbutton.- The script executes!
- By clicking
Uploadbutton, we can load.txtfile and it show in text area and then we can run that script by clicking onRunbutton. - By clicking
Savebutton, we can save mnemonics in text area on the system in.txtfile. - By clicking
Clearbutton, we can clear the text area.
Tip
- Start your code with
WAITso that board get time to initiate. - While using
LOOPuse only one command. - If
LOOPcontain multiple commands, putWAITbetween them so that it add a small delay between them.
- Connect
Raspberry Pi Pico WorRaspberry Pi Pico 2 Wwith a USB cable. - Press and hold the
BOOTSELbutton and connect to the PC/Laptop.- When it connects, then
Raspberry Pi Pico WorRaspberry Pi Pico 2 Wshow as a removable storage device namedRPI-RP2orRP2350respectively. - When
RPI-RP2orRP2350is showing, then release theBOOTSELbutton.
- When it connects, then
- Copy the
flash_nuke.uf2file in theRPI-RP2orRP2350.- When it is copied, then it disconnects automatically and reconnect as
RPI-RP2orRP2350.
- When it is copied, then it disconnects automatically and reconnect as
- PICOWQUACK/
- static/
index.htmlstyles.cssscript.js
code.pyboot.pynetwork.conf
- static/
| Mnemonics | Description | Example |
|---|---|---|
| WAIT | It add time in the code. Time is in milliseconds. 1000 ms = 1 second. |
WAIT 1000 |
| TYPE | It add text want to type in the code. | TYPE Hello World! |
| LOOP | It runs commands for a certain number of times. Synatx is LOOP number-of-times commands |
LOOP 3 TYPE Hello World! EXIT LOOP 4 TAB EXIT LOOP 1 CTRL S EXIT LOOP 1 CTRL SHIFT N EXIT |
| INF | It run commans infinitely. Syntax is INF commands |
INF TYPE Hello World! EXIT INF TAB EXIT |
A B C D E F G H I J K L M N O
P Q R S T U V W X Y Z
F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
LEFT UP RIGHT DOWN TAB HOME END PGUP PGDN
CAPS NUM SCROLL
GUI ESC PRTSCR PAUSE
INSERT DEL BKSP ENTER
CTRL SHIFT ALT
` ! @ # $ % ^ & * ( ) - = [ ] \ ;
' , . / SPACE ~ _ + { } | : " < > ? 0
1 2 3 4 5 6 7 8 9
WAIT 1000
GUI R
WAIT 1000
TYPE notepad
WAIT 1000
ENTER
WAIT 1000
TYPE Hello World!
WAIT 1000
GUI R
WAIT 1000
TYPE cmd
WAIT 1000
CTRL SHIFT ENTER
WAIT 1300
ALT Y
WAIT 1000
CTRL SHIFT N
WAIT 1200
TYPE hello
WAIT 1100
ENTER
WAIT 1000
GUI R
WAIT 1000
TYPE notepad
WAIT 1000
ENTER
WAIT 1000
LOOP 6
TYPE Hello World!
WAIT 100
ENTER
EXIT