knowledge/technology/devices/Raspberry Pi Pico Rubberducky.md
2024-09-03 17:56:36 +02:00

57 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
obj: device
repo: https://github.com/dbisu/pico-ducky
rev: 2024-03-03
---
# Raspberry Pi Pico Rubberducky
You can turn your [Raspberry Pi Pico](Raspberry%20Pi%20Pico%20W.md) into a [Rubberducky USB](Rubberducky%20USB.md).
## Quick Start Guide
Install and have your USB Rubber Ducky working in less than 5 minutes.
1. Download the latest release from the [Releases](https://github.com/dbisu/pico-ducky/releases) page.
2. Plug the device into a USB port while holding the boot button. It will show up as a removable media device named `RPI-RP2`.
3. Install CircuitPython on the Pico or Pico W
If using a Pico board:
Copy the `adafruit-circuitpython-raspberry_pi_pico-en_US-8.0.0.uf2` file to the root of the Pico (RPI-RP2). The device will reboot and after a second or so, it will reconnect as `CIRCUITPY`.
If using a Pico W board:
Copy the `adafruit-circuitpython-raspberry_pi_pico_w-en_US-8.0.0.uf2` file to the root of the Pico (RPI-RP2). The device will reboot and after a second or so, it will reconnect as `CIRCUITPY`.
1. Copy the `lib` folder to the root of the `CIRCUITPY`
5. Copy `*.py` to the root of the `CIRCUITPY`
6. Follow the instructions in `README.md` to enter setup mode
7. Copy your payload as `payload.dd` to the root of the `CIRCUITPY`
8. Unplug the device from the USB port and remove the setup jumper.
Enjoy your Pico-Ducky.
## Setup Mode
To edit the payload, enter setup mode by connecting the pin 1 (`GP0`) to pin 3 (`GND`), this will stop the pico-ducky from injecting the payload in your own machine. The easiest way to do so is by using a jumper wire between those pins as seen bellow.
![Pico](./raspberry_pi_pico_rubberducky.avif)
## USB enable/disable mode
If you need the pico-ducky to not show up as a USB mass storage device for stealth, follow these instructions.
- Enter setup mode.
- Copy your payload script to the pico-ducky.
- Disconnect the pico from your host PC.
- Connect a jumper wire between pin 18 (`GND`) and pin 20 (`GPIO15`).
This will prevent the pico-ducky from showing up as a USB drive when plugged into the target computer.
- Remove the jumper and reconnect to your PC to reprogram.
**Pico**: The default mode is USB mass storage enabled.
**Pico W**: The default mode is USB mass storage **disabled**
## Pico W Web Service
The Pico W AP defaults to ip address `192.168.4.1`. You should be able to find the webservice at `http://192.168.4.1:80`
The following endpoints are available on the webservice:
- `/`
- `/new`
- `/ducky`
- `/edit/<filename>`
- `/write/<filename>`
- `/run/<filename>`
### API endpoints
- `/api/run/<filenumber>`