Skip to content

bebeal/QuickBadUSB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quick BadUSB Guide

No BS guide for creating BadUSB devices using:

  • Raspberry Pi Pico (RP2040)
  • Arduino Micro (ATmega32U4)

Raspberry Pi Pico/Pico-W Guide

Raspberry Pi Pico

Setup Instructions

  1. Connect the Pico to your computer - it will mount as a USB drive labeled RPI-RP2

  2. Install CircuitPython:

    • Download CircuitPython firmware
    • Copy the .uf2 file to the root of RPI-RP2
    • The device will automatically reboot and remount as CIRCUITPY
  3. Install required libraries:

    • Copy all files from pico/* in this repository to CIRCUITPY
    • This includes HID libraries and a DuckyScript interpreter
      source: dbisu/pico-ducky

    3.1. For Pico-W only:

    • Copy pico-w/* to CIRCUITPY
    • This is just secret.py which contains the WiFi SSID and password
  4. Add payload:

    • Create a file named payload.dd containing your DuckyScript and copy it to the root of CIRCUITPY
    • Warning: If not in setup mode, the payload will run immediately
    • Sample payloads are available in payloads/ducky/, compatible with Windows and MacOS

Operating Modes

Setup Mode

  • Prevents automatic payload execution
  • Bridge Pin 1 (GP0) to Pin 3 (GND)

Stealth Mode

  • Prevents the Pico from appearing as a USB storage device
  • Bridge Pin 20 (GP15) to Pin 18 (GND)

Multiple Payload Support

The Pico can store multiple payloads. The payload executed depends on which GPIO pins are grounded.

  • Pin 6 GP4 (default) -> payload.dd
  • Pin 7 GP5 -> payload2.dd
  • Pin 14 GP10 -> payload3.dd
  • Pin 15 GP11 -> payload4.dd

Arduino Micro Guide

Arduino Pro Micro

Setup Instructions

  1. Install development environment:

    • Download and install Arduino IDE
    • Connect the Micro and select it as the target board in IDE
  2. Install HID library using either method:

    • Option A: Download HID-Project and add via Sketch -> Include Library -> Add .ZIP Library
    • Option B: Use Arduino IDE's Library Manager, search for "HID-Project" and install
  3. Deploy payloads:

    • Convert DuckyScript to Arduino code using Duckuino
    • Copy the generated code to a new sketch in the IDE
    • Select Sketch -> Upload to flash the device
    • Sample payloads are available in payloads/arduino/, compatible with Windows and MacOS

TODO

  • Add video/gif demos
  • Add more payloads, add Linux variants
  • Update Arduino sketches to fullscreen and increase font size
  • Add Pico2

About

No BS guide for creating BadUSB devices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published