The ScamDisk is a 3D-printable enclosure for the Teensy 3.1 microcontroller that attempts to disguise it as a (slightly oversized) USB storage device.
This device was developed as part of a graduate-level Cybersecurity course at Boston University, and is intended as a proof-of-concept for enabling Human Interface Device (HID) attacks using reprogrammable USB devices and social engineering.
If you're not into that, it also serves as a handy case for your Teensy!
Modify this device at: https://tinkercad.com/things/lzVJqEcwGQf
Sorry the model isn't easier to decompose -- you'll have to ungroup a lot of stuff if you want to pull out individual components!
Don't break into people's computers without their permission, using this device or otherwise. It's rude, and in the US, it's illegal! I'm not responsible for what you use this device for, but I kindly ask that you not be a jerk about it.
- Teensy 3.1 - The brains of the device. These chips are cheap and awesome!
- USB A to Micro USB B Adapter - I used this one because Amazon Prime gave us free shipping. There must be a cheaper, more reliable source, but this one was easy!
- Keyring - Optional, but who would believe a USB stick without a keyring?
This device came about as a final project for a Cybersecurity course at Boston University (EC521). Credit also goes to Gerardo Ravago and Takao Yamada, who collaborated on our implementation of the ScamDisk as an HID attack device. If you want more info on our project, you can check out this video.
Click here for a timelapse video of an Ultimaker 2 printing the ScamDisk components in black ABS.
Print the BODY, BACK_PLUG, and CAP in one color, and the COLOR_SHEET in another, with no support material and a .1mm layer height.
The parts work best when printed in ABS, which tends to yield a more convincing surface finish and adds flexibility, which aids in the insertion of the Teensy and USB adapter.
This device was designed and prototyped on an Ultimaker 2, and is optimized for FDM printing. If you plan on printing with PLA or a non-FDM printer, you may need to do some tweaking!
Click here for a video showing the assembly and disassembly of the ScamDisk from its 3D-printed and off-the-shelf components.
- Carefully remove the rubber casing from the USB adapter using a sharp blade. (Don't cut yourself or the wires! Don't cut towards yourself like I do. Please. Seriously, don't.)
- Attach the USB adapter to the Teensy.
- Insert the COLOR_SHEET into the BASE.
- Insert the USB A plug of the adapter into the hole at the front end of the device, then lower the rest of the adapter and Teensy into place.
- Insert the BACK_PLUG with the notch pointed away from the front of the device.
- Add the CAP for extra swag and a keyring for extra swag. Note that you'll have to take the keyring out before you separate the BACK_PLUG and BODY!
Once assembled, you can plug the ScamDisk directly into your computer's USB port to program the Teensy 3.1.
We used a nifty tool called Kautilya to generate HID payloads. Samratashok has great instructions for how to get the Teensy up and running, and how to use Kautilya.
Keep in mind that you will need to take off the BACK_PLUG to hit the RESET button on the Teensy when programming it for the first time or when you're not running it in Auto Mode.