Hardware Hacking
A primer
Yashin Mehaboobe
Icarus Labs ,CSPF
#root@nowhere:whoami
oHead, Icarus Labs (CSPF)
oAuthor of PyTriage
oFound a DoS bug in Android
oSpoke at Defcon Kerala
oCreated the Raspberry Pi Malware Scanner
Interests: Hardware Hacking, Reverse Engineering, Malware Analysis and Open
Source Contribution
Why hack hardware?
•More interesting
•More rewarding
•Usually open entry point into an otherwise secure network
•Interacting with the physical world.
The Raspberry Pi
The computer geek’s electronics toy
Why Pi?
•Easily supports a large variety of languages.
•Comes with an Ethernet and USB ports.
•GPIO pins for hardware hackery
•Inbuilt RNG
•VideoCore GPU
•Linux!!!!
GPIOs
•Only digital
•26 in total
•Can be controlled through Python, C or a number of other languages
•PWM support exists, so does I2C, SPI and UART
•Can be set as input or output.
GPIO Pinout
Hack the Pi.
Lesson 1: LED blinky!
Hack the Pi
Lesson 2: Serial Hacker
Wiring
Why so serial?
Mayhem
Numero Uno
WhatDuino
•Open hardware project
•Official versions: Uno, Mega, Duemilanove, Esplora etc
•Compatible: Teensy, TinyDuino, Femtoduino,
•Shields, shields, shields!!!
•Multiple uses, single programming language!
Basic Overview
•14 Digital pins
•6 Analog pins
•Voltage regulated power supply
•Programmed over USB
•Inbuilt LED at pin 13
Shields
Lesson 1: ArduBlinky
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
pinMode(led, OUTPUT); // initialize the digital pin as an output.
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Arduino Hacks
Lesson 2: IR takeover
Arduino Hacks
Lesson 3: The Attack of the HID
Thank you!!
Questions?
Contact:
Twitter.com/YashinMehaboobe
yashinm@cysecurity.org

Hardware Hacking Primer