A classic bluetooth-controlled USB Rubber Ducky clone built with ESP32 boards.
- Minimal Setup.
- Simply controlled by Serial Console.
- Execute payloads by just sending appropiate commands.
- LED status for check connection with BlueQuack.
- List and view payloads on serial console.
- Update and reset keyboard name for social engineering.
- Mute and unmute system sounds.
- Use those ESP32 boards which has at least
4MBflash memory. - Use SD cards which is
FAT32formatted and at least4GBand upto16GB.
1NodeMCU ESP-32S V1.1 38-Pins1Micro SD Card Module (3.3V / 5V)1SD Card1Micro SD Card Reader1Micro-B USB / Type-C USB Cable with data transfer support
| NODEMCU ESP-32S | Micro SD Card Module (3.3V/5V) |
|---|---|
| 3.3V/5V | VCC |
| GND | GND |
| GPIO19 | MISO |
| GPIO23 | MOSI |
| GPIO18 | SCK |
| GPIO5 | CS |
- Download
Arduino IDE 2.X.Xfrom here according to your Operating System. - Install it.
- Go to
File→Preferences→Additional Boards Manager URLs. - Paste the following link :
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Click on
OK. - Go to
Tools→Board→Board Manager. - Wait for sometimes and search
esp32byEspressif Systems. - Simply install version
2.0.15.- Wait for sometime and after that it is installed.
- Download
ESP32-BLE-Keyboardlibrary from here. - Go to
Sketch→Include Library→Add .ZIP Library.... - Select
ESP32-BLE-Keyboard-master.zipfile from the downloaded location of PC/Laptop.- To verify, Go to
Sketch→Include Libraryand check the library name underContributed librariessection. - If it is here, then it is successfully added.
- To verify, Go to
- Done! Arduino IDE with required boards and libraries is ready.
- Download CP210x driver according to your operating system from here.
- Download or Clone the Repository.
- Open the folder and then open
BlueQuackfolder and just double click onBlueQuack.inofile.
- It opens in Arduino IDE.
- Compile the code.
- Select the correct board from the
Tools→Board→esp32.
- It is generally
NodeMCU-32S.
- Select the correct port number of that board.
- Upload the code.
- Wait for sometime to upload.
- Done!
- Open Adafruit ESP Web Flasher from here.
- Set the Baud Rate to
115200 Baud. - Connect
ESP32with a USB cable and then to the PC/Laptop. - Press and hold the
BOOTbutton. - Click on
Connectbutton. - Select your Device COM Port in the Pop-Up Window.
- Release the
BOOTbutton. - Click on
Erasebutton.- Wait for sometimes to successfully erased.
- Download
3files from Releases.- The files are :
bootloader.binpartitions.binbluequack.bin
- The files are :
- Select
bootloader.binfile with offset0x1000. - Select
partitions.binfile with offset0x8000. - Select
bluequack.binfile with offset0x10000. - Click on
Programbutton.- Wait for sometimes to successfully programmed.
- Press and release the
BOOTbutton. - Unplug and plug the
ESP32on the PC/Laptop. - Done!
BlueQuackis ready.
- Open Notepad or any other text editor.
- Write your payload in it.
- Put Micro SD Card in Micro SD Card Reader and plug into PC/Laptop.
- When saving the file, select Micro SD Card.
- Name the payload as
payload-1,payload-2etc.- It is saved by default as .txt files.
- Connect bluetooth device named
BlueQuackto any Mobile/PC/Laptop via bluetooth. - Open Serial Console from here.
- Select baud rate to
115200. - Click on
Connectbutton. - In pop-up, select your device.
- Type
helpand hit enter to get list of supported commands.
| 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 |
-
- It is used to put the cursor in the next line.
- It is only used with TYPE.
- Example :
TYPE Hello World!- - If TYPE contain any command and then
-then it run automatically withoutENTERkey.
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 50
EXIT

