EvilDuck
DIY USB Rubber Ducky based on Arduino Micro
Install / Use
/learn @cifertech/EvilDuckREADME
<a href="https://github.com/cifertech/evilduck" title="Go to GitHub repo"><img src="https://img.shields.io/static/v1?label=cifertech&message=evilduck&color=purple&logo=github" alt="cifertech - evilduck"></a> <a href="https://github.com/cifertech/evilduck"><img src="https://img.shields.io/github/stars/cifertech/evilduck?style=social" alt="stars - evilduck"></a> <a href="https://github.com/cifertech/evilduck"><img src="https://img.shields.io/github/forks/cifertech/evilduck?style=social" alt="forks - evilduck"></a>
<h4> <a href="https://twitter.com/techcifer">TWITTER</a> <span> · </span> <a href="https://www.instagram.com/cifertech/">INSTAGRAM</a> <span> · </span> <a href="https://www.youtube.com/@techcifer">YOUTUBE</a> <span> · </span> <a href="https://cifertech.net/">WEBSITE</a> </h4> </div> <br />📖 Explore the Full Documentation
Ready to dive deeper into EvilDuck's details? Discover the full story, in-depth tutorials, and all the exciting features in our comprehensive documentation. Click the link and explore further!
🌟 About the Project
EvilDuck enables anyone to build a powerful USB keystroke injection tool with simple hardware. It’s inspired by the original USB Rubber Ducky but allows for more flexibility by using a customizable microcontroller (Arduino Micro) and an SD card for payload storage. This makes it ideal for both educational purposes and professional use in security assessments.
<div align="center"> <img src="https://github.com/user-attachments/assets/9884f3e4-c826-4bdd-9ccc-641ec075ce81" alt="screenshot" width="Auto" height="Auto" /> </div>🎯 Features, Software and Hardware
Features
- SD Card Hot-Swap: Detects SD card insertion even when powered.
- Keystroke Injection: Execute commands stored in a
script.txtfile. - LED Indicators:
- Blinks every second when no SD card is present.
- Blinks every 2 seconds when no script is found.
- Blinks on each keystroke during script execution.
- Supports Rubber Ducky-style Scripts: Commands like
STRING,DELAY, and special keypresses.
Software Requirements
- Arduino IDE: Version 1.8 or higher
- Libraries:
- SD
- SPI
- Keyboard
Hardware Requirements
- Microcontroller: Arduino Micro or compatible
- MicroSD card: Formatted as FAT16/32
- LED: Connected to indicate status
- SD Card Module: For reading scripts
🔌 Schematic
The detailed schematic of the EvilDuck setup can be found here. This will guide you in wiring the SD card module and LED to your Arduino Micro.
- Connect the SD card module to the Arduino Micro using these pins:
- CS -> Pin 4
- MOSI -> Pin 11
- MISO -> Pin 12
- SCK -> Pin 13
- Connect the status LED:
- Anode -> Pin 9
- Cathode -> Ground
⚠ Future Changes
Future updates may include:
- Improved Error Handling: More detailed feedback on SD card or file issues.
- Multiple Script Files: Ability to load and execute multiple scripts.
- Additional Commands: Expanding the supported command set for more advanced payloads.
:warning: License
Distributed under the MIT License. See LICENSE.txt for more information.
<!-- Contact -->:handshake: Contact
▶ Support me on Patreon patreon.com/cifertech
CiferTech - @twitter - CiferTech@gmali.com
Project Link: https://github.com/cifertech/EvilDuck
Related Skills
node-connect
338.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.4kCommit, push, and open a PR
