An open API service indexing awesome lists of open source software.

https://github.com/linuxndroid/bluetooth-ducky

Bluetooth Ducky is a stealthy HID injection tool built on the ESP32 platform. It emulates a Bluetooth keyboard to silently inject keystrokes into a paired device.
https://github.com/linuxndroid/bluetooth-ducky

ble-device blueducky bluetooth ducky-payloads esp32 esp32-ducky esp32-wroom hacker hacking hid hid-attacks hid-injection linuxndroid mrrobot rubber-ducky

Last synced: 9 days ago
JSON representation

Bluetooth Ducky is a stealthy HID injection tool built on the ESP32 platform. It emulates a Bluetooth keyboard to silently inject keystrokes into a paired device.

Awesome Lists containing this project

README

          

# πŸ” Bluetooth Ducky ESP32 - HID Injection Tool

![Platform](https://img.shields.io/badge/platform-ESP32-blue)
![License](https://img.shields.io/badge/license-MIT-green)
![Status](https://img.shields.io/badge/status-active-brightgreen)

Bluetooth Ducky is a stealthy HID injection tool built on the ESP32 platform. It emulates a Bluetooth keyboard to silently inject keystrokes into a paired device. Perfect for red team operations, security research, and automation β€” all done **wirelessly**.

> ⚠️ **Disclaimer**: This project is for educational and authorized testing purposes only. Unauthorized use may violate laws. Use responsibly.

---

## ✨ Features

- βœ… Bluetooth HID (keyboard) emulation via ESP32
- βœ… Auto-pairing support for previously connected devices
- βœ… Ducky Script-style payloads (easily customizable)
- βœ… Trigger via boot or over Serial
- βœ… Supports Windows, macOS, Linux, and Android
- βœ… Lightweight, portable, and easy to use

---

## πŸ“¦ Requirements

- [Arduino IDE Portable](https://www.arduino.cc/en/software)
- ESP32 Dev Board (e.g., ESP32-WROOM-32)
- Micro USB Cable
- BLE Keyboard Library ([ESP32-BLE-Keyboard](https://github.com/T-vK/ESP32-BLE-Keyboard))

---

## πŸ”§ Installation

1. **Install the ESP32 Board in Arduino IDE**
- Go to `File > Preferences`
- Add the following URL to *Additional Board Manager URLs*:
```
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
```
- Go to `Tools > Board > Boards Manager`, search `esp32` and install V.2.0.7

2. **Install BLE Keyboard Library**
- Download the library ZIP: [ESP32-BLE-Keyboard](https://github.com/T-vK/ESP32-BLE-Keyboard/archive/refs/heads/master.zip)
- In Arduino IDE, go to `Sketch > Include Library > Add .ZIP Library...`
- Select the downloaded ZIP file.

3. **Select the Board and Port**
- Go to `Tools > Board > ESP32 Dev Module`
- Select the correct COM port under `Tools > Port`

4. **Open and Edit the Code**
- Open `Ducky.ino` in Arduino IDE
- Customize the payload as needed

5. **Upload to ESP32**
- Click βœ… **Verify** then ⬆️ **Upload**
- Once uploaded, disconnect and power it externally

---

## πŸš€ How to Use

1. **Power the ESP32 device**
It will start broadcasting as a Bluetooth keyboard.

2. **Wait for the Victim to Pair**
On first use, the victim must accept the pairing.
After this, the ESP32 will auto-connect silently in the future.

3. **Payload Execution**
Once connected, the predefined script will automatically run and execute on the victim’s machine.

---

## πŸ“₯ Downloads

ESP32 Serial Monitor GUI?

➑️ **Download it from the [Releases](https://github.com/Linuxndroid/Bluetooth-Ducky/releases)** section.

The monitor app allows you to:
- Send serial commands to your ESP32 device
- View real-time logs and responses
- Trigger payloads manually
- Customize interaction with your Bluetooth Ducky tool

> Available for **Windows (.exe)** β€” more platforms coming soon.

## πŸ’» Available Serial Commands

Use these commands via the Serial Monitor or GUI Monitor App:

| Command | Action |
|--------|--------|
| `notepad` | Open Notepad |
| `youtube ` | Search & open YouTube |
| `google ` | Search & open Google |
| `whatsapp ` | Send WhatsApp message |
| `wp-ss ` | Send screenshot via WhatsApp |
| `cmd` | Open Command Prompt |
| `shutdown` | Shutdown PC in 5 seconds |
| `run` | Open Run dialog (Win + R) |
| `url ` | Execute command in Run box |
| `lock` | Lock the PC |
| `close` | Close current app |
| `ENTER` | Press Enter key |
| `screenshot` | Take a screenshot |
| `CTRL+` | Press CTRL with a key (e.g., `CTRL+A`) |
| `WIN`, `LEFT`, `RIGHT`, `UP`, `DOWN` | Arrow or Win keys |
| `WiFi` | Dump saved Wi-Fi passwords |
| `Fake` | Show fake system update |
| `Spam` | Display spam alert box |
| `help` | Show all commands |
| `About` | Show creator info |

## πŸ‘€ Creator Info

Created by:
**Linuxndroid** & **Krishna Rajput UP61**

πŸ”— Stay connected for updates, demos, and new tools!

---

## πŸ›‘οΈ Legal Notice

This tool is intended **only for authorized use** in testing, education, or red teaming.
Misuse without consent is strictly prohibited and may violate laws.

---

## πŸ“„ License

This project is licensed under the [MIT License](LICENSE).

---

## ❀️ Credits

- ESP32 BLE Keyboard Library by [T-vK](https://github.com/T-vK/ESP32-BLE-Keyboard)
- Inspired by USB Rubber Ducky and other open-source red team tools

---


# Watch Video For More Information.
[![YouTube Video](https://img.youtube.com/vi/up9fcNwsiqg/0.jpg)](https://youtu.be/up9fcNwsiqg?feature=shared)

Made with ❀️ By Linuxndroid

# Available Our [Hacking Course](https://linuxndroid.in)

# Follow Me on :

[![Instagram](https://img.shields.io/badge/IG-linuxndroid-yellowgreen?style=for-the-badge&logo=instagram)](https://www.instagram.com/linuxndroid)

[![Youtube](https://img.shields.io/badge/Youtube-linuxndroid-redgreen?style=for-the-badge&logo=youtube)](https://www.youtube.com/channel/UC2O1Hfg-dDCbUcau5QWGcgg)

[![Browser](https://img.shields.io/badge/Website-linuxndroid-yellowred?style=for-the-badge&logo=browser)](https://www.linuxndroid.in)

## πŸ§ͺ Example Payloads

```cpp
delay(1000); // Wait 1 second
typeSlow("https://www.instagram.com/linuxndroid"); // Type message
bleKeyboard.write(KEY_RETURN); // Press Enter