Skip to content

cifertech/EvilDuck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

EvilDuck

DIY USB Rubber Ducky based on Arduino Micro

cifertech - evilduck stars - evilduck forks - evilduck


📖 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.

screenshot

🎯 Features, Software and Hardware

Features

  • SD Card Hot-Swap: Detects SD card insertion even when powered.
  • Keystroke Injection: Execute commands stored in a script.txt file.
  • 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.

  1. Connect the SD card module to the Arduino Micro using these pins:
    • CS -> Pin 4
    • MOSI -> Pin 11
    • MISO -> Pin 12
    • SCK -> Pin 13
  2. Connect the status LED:
    • Anode -> Pin 9
    • Cathode -> Ground
screenshot

⚠ 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.

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.

🤝 Contact

▶ Support me on Patreon patreon.com/cifertech

CiferTech - @twitter - [email protected]

Project Link: https://github.com/cifertech/EvilDuck