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

57 lines
2.6 KiB
Markdown
Raw 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>`