First things first…DO NOT give this to your infant.
A Teensy device is a “USB-based microcontroller development system.” Honestly, that’s really all it is.
BUT WAIT, THERE’S MORE!!
“But I thought you just said…”
Well, yes, but it is a development system. Meaning you can incorporate this into THOUSANDS of projects!! Like seriously. There is so many possibilities out there!
For example, you could (Teensy++ 2.0 exclusive) jailbreak your ps3 or create an HID attack such as Samy Kamkar’s USB Driveby.
Now how do I program it?
Just like an Arduino! Don’t know what that is? That’s okay. Here are some resources to get you started with your Teensy. (We will discuss the Arduino in a future article)
I’ve been planning to test 0x00pf’s post for a while, but didn’t get to it. I still have to buy a teensy, which one would you advise to buy ?
I was planning to buy from this store that has 3.2, 3.5 and 3.6 available ?
@Valkyr fully agree with @_py. The LC (Low Cost) is a lot cheaper and enough for most of the things mentioned in this post. The 3.X series are pretty powerful (Cortex M-4). Unless you want to do some real-time stuff (audio processing for instance), you will be wasting resources
My Teensy LC arrived yesterday, and even just printing “hello world” on another computer, gave me vibes.
Anxious to get some pwning kicked off soon.
While waiting for my teensy, I did some research and found that next to the renowned Samy Kamkar , Nikhil SamratAshok Mittal did some great work with it.
He wrote Kautilya, a Ruby based program for HID, which has a various amount of payloads you can choose from, and tweak to your needs in the menu.
A how-to here is really not necessary, as he did it himself in the github link. I just found his work worth sharing.
@Valkyr Do you know anything about those .HEX files? I’m confused as to how they are being used by the teensy loader. Maybe @0x00pf can shed some light into this.
Not sure which .hex files are you referring to. Anyway, .hex is usually the extension of Intel hex files. A format to encode binary data in ASCII and used by many tools as source or target format for firmware write/read. In this context, they contain firmware dumps.
avrdude (used by the Arduino environment or when you program AVR MCUs directly) and also teensy_loader use this format to flash your program in the MCU. Normally you compile the code with avr-gcc that produces a kind of ELF file and then you create the .hex file out of it using obj-copy. Just check the Arduino Makefiles.
For more details check the wiki page
5 Likes
pry0cc
(Leader & Offsec Engineer & Forum Daddy)
12