Programming an attiny85 for BadUSB Rubber Ducky

Last Modified: Wed, 20 Apr 2022 18:32:29 +0000 ; Created: Fri, 04 Mar 2022 18:52:52 +0000

I saw some older articles about using an attiny85 as a USB rubber ducky (simulates a malicious keyboard) and wanted to try it out. I found a 6-pack on Amazon for $16.29 which after tax comes out to $2.94 / unit. ACEIRMC 6pcs Digispark Kickstarter Attiny85 General Micro USB Development Board for Arduino

The units I received came with the USB attiny85 and two pin headers (a 1x3 and a 1x6) that could be optionally attached. I also had a friend 3D print a USB thumb drive case I could use to enclose it. DIGISPARK ATTINY85 BADUSB FAKE USB MEMORY CASE REMIX or Case for Digispark Attiny 85 USB development board by Cadm1um

I first attempted to attach it in VMware to an Ubuntu VM, but it did not respond well. I ended up just using Windows 10 but with the 2016 drivers and the latest Arduino IDE.

Quick Steps

  1. Unplug the device
  2. Download Digistump.Drivers.zip 1.6.7 from https://github.com/digistump/DigistumpArduino/releases/download/1.6.7/Digistump.Drivers.zip
  3. Unzip and run Install Drivers.exe
  4. Download the latest Arduino IDE
  5. File
  6. Preferences
  7. Additional Board Manager URLs
  8. http://digistump.com/package_digistump_index.json
  9. OK
  10. Tools menu
  11. Board
  12. Board Manager
  13. Digistump AVR Boards
  14. Install button
  15. Close
  16. Tool
  17. Board
  18. Digistump AVR Boards
  19. Digispark (Default - 16.5mhz)
  20. Paste a desired script into the editor
  21. Click on the Upload toolbar button
  22. Plug in the USB board
  23. Once programming is complete unplug and plug in again to test

References