Pentesters need to drop files on targets. If a box is not connected to the Internet, and doesn’t accept removable storage, they need to come up with some tricks.
Inputting the file via the keyboard is an option, but typing several millions of bytes is not. This needs automation.
Irongeek uses a Teensy micro-controller to achieve this. My solution is a variation on this. If you need to drop a binary file, you need to find a way to convert the typed ASCII to bytes. There’s a solution with a debugger, but I’m using a PDF Reader.
It’s possible to create a pure ASCII PDF file that embeds a binary file. Here are the steps to drop a binary file:
- open Notepad,
- insert the Teensy and let it type the ASCII PDF file into Notepad
- save the PDF file
- open it with a PDF Reader and save the embedded binary file
Writing a program with the Arduino IDE to type an ASCII PDF file is not difficult:
But with the Arduino IDE, your embedded file is limited to a couple of kilobytes. Handling larger files will be described in part 2 of this post.