Reading Time: 2 minutes

Raspberry Pi Pico as BAD USB?

Since I’ve been watching the Mr Robot series on Amazon Prime for a while now, I’ve been recreating the Bad USB. Mr Robot uses the original Rubber Ducky Bad USB in the scene, which costs $50. I rebuilt it with a Raspberry Pi Pico for about $6.

I love Raspberry Pi’s and use them for my projects like OctoPrint or RecalBox, I thought that a Raspberry Pi Pico would be a good choice.

The setup is super simple and takes super easy thanks to a tutorial on GitHub and Youtube.
With the help of CircuitPython, Pico-Ducky is installed on the Raspberry.

The BAD-USB works to report to the computer as an input device so it can control the computer. There are numerous pre-built payloads, such as “Wifi Password Grabber”, “Rickroll” or even a payload that automatically uploads all Firefox credentials to an FTP server. It’s just mindblowing what a Fake-USB can do. I have linked a list here that leads to different payloads. By default, the Pico uses a US-American Keyboard layout, but there were other users too having this issue. See the discussion on GitHub here. I just wrote my own payload which is very simple and only opens my website www.speichermann.org. It is super simple to get used to micropython, if you already have some basic coding experience and took just a few minutes to hook everything up.

I 3D-Printed a case that fits the Pico. I found it on Thingiverse, you can download it here. The Raspberry Pi Pico is fixed in the case with 4 screws. Unfortunately, the lid does not hold, but a strip of tape solves the problem. Unfortunately, I have not found a better case that does not have cutouts for the pins.

Thanks, dbisu (creator of the project on GitHub) for the cool project!