Building Trojan Hardware at Home. JP Dunning.ronin BlackHat Asia 2014

Similar documents
In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM

Adafruit's Raspberry Pi Lesson 5. Using a Console Cable

Intro to Intel Galileo - IoT Apps GERARDO CARMONA

Yun Shield User Manual VERSION: 1.0. Yun Shield User Manual 1 / 22.

Adafruit's Raspberry Pi Lesson 5. Using a Console Cable

Embedded Software Development: Spottbillige Hardware + OSS = Zum Spielen zu Schade!

Designing VM2 Application Boards

IRON-HID: Create your own bad USB. Seunghun Han

TEST CHAPTERS 1 & 2 OPERATING SYSTEMS

Chapter 1 Hardware and Software Introductions of pcduino

SBC6245 Single Board Computer

Quick Start Guide. The Raspberry Pi Single Board Computer. Source: Raspberry Pi & Wiki

Design Considerations in Adding USB Communications to Embedded Applications

Adafruit's Raspberry Pi Lesson 5. Using a Console Cable. Created by Simon Monk

USB to RS-422/485 Serial Adapter

DKWF121 WF121-A B/G/N MODULE EVALUATION BOARD

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]

i.mx USB loader A white paper by Tristan Lelong

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

Ways to Use USB in Embedded Systems

WICE-SPI Hardware Operation Manual

Yun Shield Quick Start Guide VERSION: 1.0 Version Description Date 1.0 Release 2014-Jul-08 Yun Shield Quick Start Guide 1 / 14

Arduino ADK Back. For information on using the board with the Android OS, see Google's ADK documentation.

Arduino Due Back. Warning: Unlike other Arduino boards, the Arduino Due board runs at 3.3V. The maximum. Overview

AC-PG-USBASP USBASP AVR Programmer

Accessing I2C devices with Digi Embedded Linux 5.2 example on Digi Connect ME 9210

CAN-Bus Shield Hookup Guide

FLYPORT Wi-Fi G

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

BLE113 DEVELOPMENT KIT

UPS PIco. to be used with. Raspberry Pi B+, A+, B, and A. HAT Compliant. Raspberry Pi is a trademark of the Raspberry Pi Foundation

ALL-USB-RS422/485. User Manual. USB to Serial Converter RS422/485. ALLNET GmbH Computersysteme Alle Rechte vorbehalten

USB OTG and Embedded Host Microchip Technology Incorporated. All Rights Reserved. Slide 1

PolyBot Board. User's Guide V1.11 9/20/08

CPSC 226 Lab Nine Fall 2015

Sample Project List. Software Reverse Engineering

The following is a summary of the key features of the ARM Injector:

ENGI E1112 Departmental Project Report: Computer Science/Computer Engineering

ATV310B User Manual. V1.1

Open Flow Controller and Switch Datasheet

MARTECH SPI Tools. MARTECH SPI Tools User Manual v1.0. User Manual

MediaTek LinkIt Smart 7688 FAQ

PU-USBX. USB over Ethernet Extender OPERATION MANUAL

Network connectivity controllers

Raspberry Pi. Hans- Petter Halvorsen, M.Sc.

User s Manual of Board Microcontroller ET-MEGA2560-ADK ET-MEGA2560-ADK

RN-131-PICTAIL & RN-171-PICTAIL Evaluation Boards

E-Blocks Easy Internet Bundle

MediaQ M310. Quick Start HUAWEI TECHNOLOGIES CO., LTD.

STUDY OF CELLPHONE CHARGERS

Workshop Intel Galileo Board

Qt on Raspberry Pi. Jeff Tranter Integrated Computer Solutions (ICS) Qt Developer Days

Lab Experiment 1: The LPC 2148 Education Board

This document is intended to make you familiar with the ServersCheck Monitoring Appliance

XPort Universal Demo Board User Guide

DSO138 oscilloscope program upgrade method

Ultra Thin Client TC-401 TC-402. Users s Guide

Quick Installation. A Series of Intelligent Bar Code Reader with NeuroFuzzy Decoding. Quick Installation

Matrix 510/520 User Guide

genie app and genie mobile app

NETGEAR Trek N300 Travel Router and Range Extender

ET-BASE AVR ATmega64/128

4-Port Pocket. USB KVM Switch with USB 2.0 Hub

ShareLink 200 Setup Guide

Pre-tested System-on-Chip Design. Accelerates PLD Development

TX3 Series TELEPHONE ACCESS SYSTEMS. Configurator Quick Start. Version 2.2 Mircom Copyright 2014 LT-973

Computer Automation Techniques. Arthur Carroll

Digital Photo Bank / Portable HDD Pan Ocean E350 User Manual

Final Design Report 19 April Project Name: utouch

Into The Droid. Gaining Access to Android User Data DEF CON 20

Data Transfer between Two USB Flash SCSI Disks using a Touch Screen

Getting Started with the Xilinx Zynq All Programmable SoC Mini-ITX Development Kit

User's Manual. Intego Remote Management Console User's Manual Page 1

Linux on Soho-Router

USBSPYDER08 Discovery Kit for Freescale MC9RS08KA, MC9S08QD and MC9S08QG Microcontrollers User s Manual

USB Card Reader Interface User Manual

PN532 NFC RFID Module User Guide

RIU-IP Remote IP Interface User Guide

Banana Pi Open-Source Router Board

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial

NETGEAR genie Apps. User Manual. 350 East Plumeria Drive San Jose, CA USA. August v1.0

Parts of a Computer. Preparation. Objectives. Standards. Materials Micron Technology Foundation, Inc. All Rights Reserved

How To Connect A Port Replicator With An Ethernet To A Usb Port From A Usb Device

Kernel Testing: Tool and Techniques. Matt Porter Texas Instruments 21 February 2013

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

3.5 EXTERNAL NETWORK HDD. User s Manual

Andreas Läng. Hilscher Gesellschaft für Systemautomation mbh Intelligent solutions for industrial communication.

CONNECTING THE RASPBERRY PI TO A NETWORK

Warnings: This manual is intended to guide a technicians or customers who would like to repair DBL's

BE635 User Manual. Rev. V Bolymin, Inc. All Rights Reserved.

ARDUINO SEVERINO SERIAL SINGLE SIDED VERSION 3 S3v3 (REVISION 2) USER MANUAL

MN POS TM. Hardware & Peripherals. All required hardware may be purchased from Home Office.

04/08/2011. Andy Davis Research Director Telephone: +44 (0)

UPiS - Uninterruptible Power intelligent Supply

DU-H3ETX. 3-port USB Hub with 1 NWAY Ethernet / Fast Ethernet Port. User s Guide

Point of View SmartTV-500 Center - Android 4.2. General notices for use...2 Disclaimer...2 Box Contents...2

New Mexico Broadband Program. Basic Computer Skills. Module 1 Types of Personal Computers Computer Hardware and Software

BabyWare Imperial PC Software

MFC7840W Windows Network Connection Repair Instructions

TEECES DOME LIGHTING SYSTEMS

Transcription:

Building Trojan Hardware at Home JP Dunning.ronin BlackHat Asia 2014

What is Hardware? PCB (Printed Circuit Board) Single use components (resistor, led, crystal, capacitor, etc) Specialized chips (RAM, controller, I/O) Primary processor chip I/O ports Firmware

Goals of This Talk Discuss hardware and firmware based Trojans Remain platform neutral This is not a vendor specific problem Display the relative ease of modifying hardware

What you'll need to play along Computer with Linux and Windows Cheep used target hardware Less that $40 programmer Time Soldering equipment (sometimes) Trojan (Minions)

Modify Hardware What's in the Box?!?! What kind of IO ports are available? USB, UART, I2C, SPI, PS/2, RJ45, GPIO, draughtboards connectors, etc. Get it cheep Ebay/Craigslist/Taobao anyone?!? What is the hardware's purpose How does is interact with target

USB + 1 Let's hide out attack hardware inside a USB device Many devices have large open cavities Looks the same from the outside Attack the host device connected to the USB Trojan Try to leave device functional

The Glitch Platform Create an open hardware testing platform Make it Arduino compatible Build upon open hardware security projects Make projects accessible to non-coders and non-engineers

Glitch Platform made Easy Create or edit modules on the Micro SD card using plaint text configuration files Available configuration options are up to the developer Provide additional payload files Select module with DIP switch Plug-and-play Project site theglitch.sourceforge.net

Keystroke Injection Emulating computer keyboard Press keys Benefits of leveraging HID Injection Type accurately Type quickly No Human Required Works against computers that can use an external keyboard Designed for Windows, Linux, and OS X

HIDIScript HID Scripting Language Four components Plain text Parsed Modifiers Parsed Keys Commands Write using HIDIScript Generator http://keymeglitch.sourceforge.net

HIDIScript Example [KEY_RIGHT_GUI][KEY_R] [WAIT_1000] notepad [KEY_ENTER] [WAIT_2000] Hello BlackHat Asia 2014! [WAIT_2000] [KEY_ALT][KEY_F4]

Trojan Mouse Parts USB mouse USB hub The Glitch

Trojan Mouse 12 10 8 Column 1 Column 2 Column 3 6 4 2 0 Row 1 Row 2 Row 3 Row 4 Open the mouse USB Pins solderer or plug in Remove scroller Several square centimeters of open space

Trojan Mouse Remove the hubs case Cut of USB plugs Unsolder two cables Unsolder USB host connector

Trojan Mouse USB (Universal Serial Bus) Four pins Vcc <---> Vcc (Red) D- <---> D- (White) D+ <---> D+ (Green) GND <---> GND (Black) Standard colors Many USB cables use the standard color wires Makes it easy to reuse cables

Trojan Mouse Split the mouse USB cable

Trojan Mouse

Trojan Mouse

Trojan Mouse

Trojan Mouse

Trojan Keyboard

Trojan Keyboard Take apart the keyboard with a standard screwdriver

Trojan Keyboard The keyboard has an built in USB hub Tap in and replace one of the USB ports Avoid soldering by connecting into the connector with wires

Trojan Keyboard USB cables take up to much room The Glitch has built in solder pads for an alternative USB connection

Trojan Keyboard Cut the lines to the USB plug Disables plug to avoid other device interference Could also add another USB hub to keep the port active

Trojan Keyboard

Trojan Card Logger Common PoS card reader Keyboard + Mag Reader

Trojan Card Logger Keyboard types card data into the PoS Replace the PS2 cable Connect to The Glitch pinouts Vcc, GND, IRQ, DATA No soldering

Trojan Card Logger Connect The Glitch USB cable to PoS Keystrokes converted from PS/2 to USB Log data on the Micro SD card

Trojan Desktop/PoS Plug into motherboard USB pins inside case

What does the User see? USB device drivers installing for all components A few pop-ups in Windows Default drivers are fine Launch of the attack The Glitch has a new one time attack option Will not attack again after each power on

How can we make this stealthier? Clone USB ID The Glitch can clone the USB ID Computer see double Plan the attack Make it look like an update Wait a while after the Trojan device is installed

Trojan Network Connection Hardware <-> Trojan Router <-> Network Method Remove the Ethernet connector Connect PCB Ethernet headers to router Connect second Ethernet cable to Ethernet connector Connect USB charger to existing USB connectors on the device

Trojan LCD TV & Blu-Ray Player Fits in the case USB power and ground taps

Modify Firmware See whats already out there about moding the device Research the chips Exposed ports (or chip pin outs) ARM, AVR, PIC, Texas Instrument, Broadcom, Intel, etc JTAG, UART, I2C, SPI, GPIO, etc Program/Debugger (often low cost) Bus Pirate, Goodfet, FTDI, PICKIT, etc

Flash Firmware Integrated Development Environment Port code or use custom language Look for a development community Code examples Custom libraries Flashing methods

Programmers

Customize Through Serial You may not need to overwrite the firmware Connect through a serial console over USB to UART Issue AT+ commands Command shell access Custom commands

Linux YAY!!! Many mufti-function hardware platforms run Linux YAY!!! BusyBox 2.4.x or 2.6.x kernel core + compiler Porting Linux is free and easy BSD is preferred no source code publishing required Compiled for custom architecture like ARM

Linux YAY!!! Types of devices Printers TVs DVR/DVD/BluRay players Routers Watches PwnPlug embedded computer Almost anything you can ping!

Trojan Router Open sources router firmware OpenWRT DDWRT Replace existing router firmware on hundreds of models Cisco, TP-Link, D-Link, Siemens, etc Configured using local Web, SSH, Telenet Access to underlying Linux OS Install / configure new applications

Trojan Router 1. Backup router web interface pages 2. Flash with open firmware 3. Integrate original web interface with open firmware 4. Configure hidden Trojan functionality Enable remote VPN access Create reverse SSH Install hacking tools MiniPwner project

Trojan Devices Hardware Trojans Firmware Trojans TVs / Monitors Embedded Linux Game systems Routers Printers CC Cameras Mice / Keyboards Controllers PoS / Desktops SCADA devices 'Internet of Things' Ju$t l00k @R0uƞd U > - <

Countermeasures Make purchases from a reputable source Monitor peripherals and network for suspicious actions Disable debug ports on hardware Enforce update authentication

Resources http://theglitch.sourceforge.net http://hackaday.com http://www.instructables.com/ http://goodfet.sourceforge.net http://dangerousprototypes.com/docs/bus_pirate http://servicemanuals.pro http://minipwner.com http://digikey.com http://mouser.com

Thanks IronGeek, Hak5, Dave Kennedy, Dragorn, Mike Ossmann for their work in this and relating project Community support from Kickstarter BlackHat

Questions? JP Dunning.ronin @r0wnin ronin@shadowcave.org Projects theglitch.sourceforge.net ww.hackfromacave.com