Reverse Ducky is a versatile Bad USB project powered by the ATTINY85 microcontroller. It functions as a USB HID device capable of executing pre-programmed scripts or commands when plugged into a target machine. This project is inspired by USB Rubber Ducky but is designed for budget-friendly and DIY enthusiasts.
- HID Functionality: Acts as a keyboard to inject commands into a target device.
- Compact Design: Fits easily into small USB enclosures.
- Custom Scripts: Fully programmable using Arduino IDE.
- Cost-Effective: Built using the affordable ATTINY85 microcontroller.
Before you start, ensure you have the following:
- An ATTINY85 microcontroller.
- Arduino IDE installed on your computer.
- USB-to-serial adapter or similar programmer.
- DigiKeyboard library for Arduino (used for USB HID functionality).
-
Clone this repository:
git clone https://github.com/your-username/reverse-ducky.git cd reverse-ducky
-
Install the required libraries in the Arduino IDE:
- DigiKeyboard library: Install via Arduino Library Manager or download here.
-
Connect your ATTINY85 to your computer using a USB-to-serial adapter.
-
Open the
reverse_ducky.ino
file in Arduino IDE. -
Upload the script to the ATTINY85.
- Plug the Reverse Ducky into the target machine's USB port.
- It will execute the predefined commands or script automatically.
- To change the script, modify the
reverse_ducky.ino
file and re-upload it.
Ensure that the ATTINY85 has the correct bootloader installed to enable USB functionality. Follow the bootloader tutorial below for a step-by-step guide:
[https://github.com/Rimurudemon/Attiny85-Bootloader-Tutorial]
- Modify the
DigiKeyboard.sendKeyStroke
andDigiKeyboard.print
commands in the script to implement your custom payload. - Use delays as necessary to ensure proper execution on the target system.
This project is for educational purposes only. Use it responsibly and do not engage in unethical activities. The creator is not responsible for any misuse.
Contributions are welcome! Feel free to fork the repo, make improvements, and submit a pull request.
This project is licensed under the MIT License.