How To Hack With A Drone Or A Networked Device



Similar documents
We are Legion: Pentesting with an Army of Low-power Low-cost Devices

Using Xbee in Serial Communication

Building a Basic Communication Network using XBee DigiMesh. Keywords: XBee, Networking, Zigbee, Digimesh, Mesh, Python, Smart Home

Setting Up the ZigBee Ethernet Gateway

Chapter 1 Hardware and Software Introductions of pcduino

MANUAL FOR RX700 LR and NR

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

XBee USB Adapter Board (#32400)

GETTING TO KNOW YOUR TELSTRA PRE-PAID 3G WI-FI

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

GETTING TO KNOW YOUR PRE-PAID TELSTRA WI-FI 4G

Installation Guide. Wireless N Access Point EAP110/EAP120/EAP220

Networking. General networking. Networking overview. Common home network configurations. Wired network example. Wireless network examples

telstra.com/ppmbb visit a telstra store or partner GETTING TO KNOW YOUR

DESIGN AND IMPLEMENTATION OF A WIRELESS ZIGBEE MESH NETWORK

TOSR0X-D. USB/Wireless Timer Relay Module. User Manual. Tinysine 2013 Version 1.0

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

Voice Over Internet Protocol (VoIP) Configuration

Secure Ethernet Gateway SEG-1 and SEG-M for IEI Access Systems Installation Manual

Remote control circuitry via mobile phones and SMS

PiFace Control & Display

Nighthawk AC1900 WiF Range Extender

GETTING TO KNOW YOUR NEW TELSTRA MOBILE WI-FI 4G

RN-WIFLY-EVAL-UM. WiFly Evaluation Kit Roving Networks. All rights reserved. RN-WIFLY-EVAL-UM Version 1.32r 10/9/2012 USER MANUAL

Win 7 - STIMA CLS / CMP Driver Installation Quick Guide

Flight Controller. Mini Fun Fly

RN-131-PICTAIL & RN-171-PICTAIL Web-Server Demo Application

BIT COMMANDER. Serial RS232 / RS485 to Ethernet Converter

Quick Start. Nighthawk X8 AC5300 Tri-Band WiFi Router Model R8500. Package Contents. NETGEAR, Inc. 350 East Plumeria Drive San Jose, CA USA

User Guide HUAWEI UML397. Welcome to HUAWEI

High-Speed Internet from U.S. Cellular. Positioning and Overcoming Objections

BeagleBone Black: Installing Operating Systems

P-2612HNU-Fx n ADSL2+ VoIP IAD DEFAULT LOGIN DETAILS. Firmware V3.00 Edition 1, 1/2010. Password: 1234 User Name: admin Password: 1234

ShareLink 200 Setup Guide

RN-XV-RD2 Evaluation Board

Monitor Your Home With the Raspberry Pi B+

Frequently Asked Questions: Home Networking, Wireless Adapters, and Powerline Adapters for the BRAVIA Internet Video Link

User Manual. 2 ) PNY Flash drive 2.0 Series Specification Page 3

for Windows Media Center User's Guide

Wireless Communication With Arduino

7inch HDMI LCD (B) User Manual

Chapter 9A. Network Definition. The Uses of a Network. Network Basics

Ethernet Radio Configuration Guide

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

Addonics T E C H N O L O G I E S. NAS Adapter. Model: NASU Key Features

About This Guide SolarEdge Configuration Tool Software Guide. About This Guide

Strato Pi Hardware Guide

SNAKE OS for Str8132-Based NAS USER MANUAL. Snake OS version ( ) Authors: Douglas Gazineu Jarko Papalitsas José Maciel Miguel Moreto

Network Projector Operation Guide

Communication Setup Application Note

Using a Tablet with the AIM and VNA

MiniPlex-41USB NMEA-0183 multiplexer Manual

CONNECTING THE RASPBERRY PI TO A NETWORK

Iridium Extreme TM Satellite Phone. Data Services Manual

* DISCLAIMER: Contents. How to Use This Guide: COMMERCIAL INSTALL GUIDE 2

4/2/2014 Linux Dev-Boards. Linux Dev Boards. Tagung Forth Gesellschaft e.v. Maerz file:///home/cas/talk/linux-boards/html/linux-boards.

FTDI VCP DRIVER (free) (WIN/MAC/LINUX)

FI8910W Quick Installation Guide. Indoor MJPEG Pan/Tilt Wireless IP Camera

Technical description MX-1 VB Edge

PLA4231. User s Guide. Quick Start Guide. 500 Mbps Powerline Wireless N Extender. Default Login Details. Version 1.00 Edition 1, 12/2012

FLYPORT Wi-Fi G

Pen Drive to Pen Drive and Mobile Data Transfer Using ARM

Bluetooth to Serial Adapter

16-Port RS232 to USB2.0 High Speed Multi Serial Adapter (w/ Metal Case) Installation Guide

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

OWNERS MANUAL. WattsVIEW. Power Monitor Model: DC WattsVIEWTM. Models: DC Serial DC-1000 USB DC-25000

PCS300 Universal IP Reporting Module V1.0

Linksys WAP300N. User Guide

GETTING TO KNOW YOUR TELSTRA PRE-PAID 3G USB + WI-FI

RKAT Audit Trail Module RK-LINK TM Software For the Radio Key 600 Series

The definite Guide to Power connectors, Charging, and other Power related questions for the #11 Keychain Camera

VISION DX 600 Series

Additional Requirements for ARES-G2 / RSA-G2. One Ethernet 10 Base T/100 Base TX network card required for communication with the instrument.

1 Serial RS232 to Ethernet Adapter Installation Guide

GETTING STARTED GUIDE

Waspmote IDE. User Guide

UniPi technical documentation REV 1.1

Workshop Intel Galileo Board

TX2123 RS485 TO ETHERNET ADAPTOR

ENET-710. ENET Ethernet Module ENET-710 JAN / 06 FOUNDATION

Banana Pi Open-Source Router Board

RAM: 2 Gb Hard Drive: 168 hours of recording per Gb of disk space available NIC : 2 NIC cards required for IP Recording.

Back Office Recorder Dig04 Installation Guide

MCB3101 (Class I) WiRobot Serial Bluetooth Wireless Module User Manual

EZblue BusinessServer The All - In - One Server For Your Home And Business

vyacht Wifi Router vyacht yacht automation About this manual

Adafruit's Raspberry Pi Lesson 1. Preparing an SD Card for your Raspberry Pi

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

Setting up IO Python Library on BeagleBone Black

Bidirectional wireless communication using EmbedRF

DOORKING SYSTEMS 1830 SERIES NETWORK WORKSHOP LAN APPLICATIONS ACCESS CONTROL SOLUTIONS LOCAL AREA NETWORK (LAN) CONNECTION REV 04.

How to connect to a Class II router using a mobile-phone data cable specifically for Solwise & Safecom routers

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

GSM Click - Cross-Platform Development Quick Start Guide

By: John W. Raffensperger, Jr. Revision: 0.1 Date: March 14, 2008

Software User Guide UG-461

WIB250A5 Series PC/ b/g/a/h WLAN Modules

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

Transcription:

Your Own Pentesting Army Complete with Air Support Philip Polstra Hacker in Residence University of <Redacted> @ppolstra http://polstra.org

What is this talk about? Hacking and/or forensics with small, low-power devices ARM-based Beagleboard & Beaglebone running full suite of security/forensics tools Performing coordinated attacks with networks of devices Using aerial drones for performing and supporting attacks

Why You Should Care A full-featured Linux install for flexibility Low-power devices can run for days on battery power Small devices can be planted for later retrieval Network of devices enhances hacking from a distance Aerial drone can be flown around target Can be useful for initial reconnaissance May be only practical way to access certain targets Aerial drone can be landed nearby (roof?) Remote hacking drone Router for other drones planted nearby Combination router and drone

Who am I? Professor & Hacker in Residence at private Midwestern university Programming from age 8 Hacking hardware from age 12 Also known to fly and build airplanes

Roadmap Choosing a hacking platform Aircraft choices The Deck your new favorite pen testing distro Solo ops with The Deck Networking with 802.15.4 Building Drones Attacking with an army of devices running The Deck Aerial drone scenarios Future directions

Choosing a Hacking Platform Small Low-power Affordable Mature Networking built in Good USB support Convenient input and output

And the Winning Platform is... BeagleBone Black 3.4 x 2.1 <10 Watts (board itself <2 W) Only $45 or less Based on 1GHz Cortex A8 512MB RAM 100 Mbps Ethernet built in high-speed USB plus USB-on-the-go HDMI and LCD output RS-232, webcam, plentiful GPIO, and microsd

BeagleBone Black (aka Raspberry Pi killer)

I know at least one of you will ask... Why not Raspberry Pi? Not as powerful Doesn't run Ubuntu (ARM6 not supported) Not truly open (Broadcom won't release info) Not as mature Raspberry Pi cost more to build full system Still limited availability (especially in USA) Not as reliable (reported quality and power issues) Inefficient uses more power despite running at lower clock speed Limited GPIO GPIO is not buffered (easy to fry boards) Fragile design (pins vs. headers) Not as compact

Choosing an Aircraft Good payload Can fly in windy conditions Capable of vertical takeoff/landing (VTOL) Reasonable flight time Space for BeagleBone Black Space for Xbee Space for Alfa wifi adapter Affordable

And the winning aircraft is...

Quadshot Flying wing with VTOL Good wind tolerance Half a pound of payload Flight as an airplane is more energy efficient and helps in high winds Some models use Xbee Built in camera mount

The Deck Your New Favorite Distro Originally developed for BeagleBoard-xM Ported to run on BeagleBone Black Optimized for the Beagles Not someone's half-way effort to port desktop distro Desktop or drone All the packages you need (over 1600) Based on Ubuntu Good repository support Good community support Minimizes need to build tools from source Running latest kernels

Demo 1 Our Favorite Exploit

Demo 1 (contd.)

Demo 1 (contd.)

Demo 2 Wifi Cracking

Demo 2 (contd.)

Demo 2 (contd.)

Demo 3 Password Cracking

Demo 4 WPS Cracking

Demo 4 (contd.)

Demo 5 Pwn Win7 Like Its a Mac

Demo 5 (contd.)

Demo 6 Clickiddies tm

802.15.4 Networking Basics Hardware Simple case: 2 Xbee adapters Slightly harder case: multiple adapters one at a time Hard case: multiple adapters simultaneously Really Hard case: true mesh network

802.15.4 Basics Typically used in low-power embedded systems Regular (300') and Pro (1 mi) versions AT and API modes of operation Low-speed (250 kbps max) Supports multiple network topologies Peer to Peer Star Mesh

Xbee Hardware

Xbee Hardware (contd) Manufactured by Digi Regular and Pro formats are interchangeable and inter-operable Power consumption at 3.3V is 50/295 ma for regular/pro Uses 2 mm pin spacing Most breadboards are 0.1 or 2.54 mm Requires an adapter Several antenna options Be careful not to mix S1 with S2 (ZB) series which are the same dimensions, but are not compatible

Series 1 vs. Series 2 Series 1 (the original) Slightly higher power consumption (50 vs 40 ma) for regular version Works out of the box Not true mesh networking Series 2 (2B and ZB) Must have firmware loaded for each function (coordinator, router, end device) Every network must have a coordinator Coordinators and routers may not go to sleep Recommended for larger pen tests

Simple Case: 2 Xbee Adapters Xbee modules must be configured for desired network topology Digi provides X-CTU software for configuration, but it only runs on Windows (or use Wine) Recently Moltosenso has released Network Manager IRON 1.0 which runs on Linux, Mac, and Windows free edition is sufficient for our limited usage

Configuring Xbee Modules Place Xbee module in USB adapter and connect to PC running X-CTU or IRON Select correct USB port and set baud rate (default is 9600) From Modem Configuration tab select Read to get current configuration Ensure modem is XB24 and Function Set is XBEE 802.15.4 for Series 1 Set the channel and PAN ID (1337?) noting the settings which must be the same for all modems Pick a Destination Low and Destination High address for the other adapter (say 2 and 0) Set the My Address to a chosen value (say 01) Click Write to stored the new config on the Xbee Repeat this process on the second Xbee but reverse the addresses The modules should now talk to each other just fine

Configuring Xbee Modules (contd)

Simple Case: Accessing your single drone By default Xbee adapters operate in transparent mode Setup TTY on drone and you can login in with terminal program Simple Works with interactive programs If you go out of range you are still connected when you return

Starting TTY on your drone Create a file with the following in /etc/init # ttyo2 - getty # This service maintains a getty on ttyo2 from the point the system is # started until it is shut down again. start on stopped rc RUNLEVEL=[2345] stop on runlevel [!2345] respawn exec /sbin/getty -8 57600 ttyo2 Start with sudo start ttyo2 (letter O not a zero!) Use favorite terminal program to connect

Slightly Harder Case: Multiple Drones One at a Time Configure drones as with the single drone case but with different MY addresses Use terminal program on command console to connect to drones one at a time Simple: no programming required Must enter AT command mode to switch between drones Enter +++ (no enter) and wait for OK Enter ATDL0002 <enter> to select drone 2 Enter ATWR <enter> to write to NVRAM Enter ATCN <enter> to exit command mode

Slightly Harder Case: Multiple Drones Simultaneously API mode is used vs. AT mode Configure Xbee with X-CTU For Series 1 stick with 802.15.4 Function Set For Series 2 (ZB) Drones set to Function Set ZNET 2.5 ROUTER/ENDDEVICE API 1347 Controller set to Function Set ZNET 2.5 COORDINATOR API 1147 Router can be used to extend range to command console Multiple choices for communication Java xbee-api Python-xbee (what I used) Raw commands to TTY device Recommended for most situations involving 3 or more devices

Multiple Drone Communications Really this is a point-to-multipoint topology For each drone communication appears to be simple peer-to-peer API mode provides better performance and allows simpler software operation

Multiple Drones Using Python: One Possibility Each drone runs a simple Python script which waits for commands and sends announcements Controller listens for announcements/responses and sends commands (all activity is logged) Upside is that it lends itself easily to scripting Downside is that it doesn't support interactive shells (yet) Announcements can be sent to controller for important events (such as successful cracking) Code is available at https://github.com/ppolstra

Harder Case: True Mesh Network Recommended when using larger number of drones or when devices are too far apart Devices configured as routers or coordinators will have reduced battery life (no sleep) Requires series 2 (2B or ZB) Xbee adapters No changes to scripts are required

True Mesh Networking (contd) At least one modem must have coordinator firmware Routers can extend range Pro adapters recommended Drones can use regular adapters to save power Routers need not be connected to a Drone Easier to leverage Xbee adapter sleep modes on end devices

Building Drones

Getting The Deck Download the archive from http://www.udcis.org/thedeck Also download the MeshDeck if using 802.15.4 Note apt archives removed to save 1.7GB of space Upload The Deck to microsd card Class 10 8GB or larger Extract archive to your Linux box From your Linux box sudo./setup_sd.sh mmc /dev/sdx uboot bone Will take a while (20-30 minutes) Ready to run microsd cards are also available at https://specialcomp.com/beagleboard/thedeck.htm If running the MeshDeck Extract the archive to the drone Run the install script

Power Your Drones Beagles take standard 2.1 x 5.5 mm barrel connector Battery voltage above 5V is wasted as heat Bare board can run for several days off standard batteries (~220mA) LCD touchscreens require lots of power! Leaching off of USB power from a target is ideal Be careful with WiFi and 802.15.4 Set transmit power to minimum Take advantage of sleep modes on 802.15.4 radios

Power Options Battery Size D C AA 9V or AAA Lantern USB 5200 Approx. Runtime 54.5 hrs 27.3 hrs 13.6 hrs 6.8 hrs 50 hrs 23.6 hrs

802.15.4 Hardware

802.15.4 Hardware

Xbee Adapters UART (serial) adapters Can be wired directly to Beagles using 4 wires Don't take up USB ports Xbee cape out soon

Xbee Adapters (contd) USB Adapters More expensive Helpful for initial setup of modem Easier to setup: just plug it in Laptop connection

Wiring the Xbee to Beagles If you splurged for the USB adapter you can just plug in to a USB port BeagleBone has only 1 USB port which you might want for something else (WiFi?) BeagleBoard has 4 USB ports Using the UART interface slightly more complicated Connect 4 wires: 3.3V, Ground, TX, RX Configure the Beagle multiplexer for proper operation If you have an Xbee cape just plug it in

Setting up a UART Interface Appropriate pins & modes in Beagle manuals For BeagleBone UART2 3.3V & Ground P9 pin 3 & 1, respectively TX P9 pin 21 (to Xbee Din) RX P9 pin 22 (to Xbee Dout) Configure BeagleBone (White not black if running older kernel) echo 1 > /sys/kernel/debug/omap_mux/spi0_d0 echo 21 > /sys/kernel/debug/omap_mux/spi0_sclk Test connection by connecting terminal program to /dev/ttyo2 (not a zero) BBB or BBW using new kernel Add the following lines to /etc/rc.local BEFORE the exit 0 at the end: # setup the MeshDeck drone echo BB-UART2 > /sys/devices/bone_capemgr.8/slots sleep 2 /etc/init.d/meshdeckd start

Capes Work in progress Xbee cape with socket for Xbee radio Pwnage cape Xbee socket Network switch for installing inline USB hub Optional 802.11 wireless AirDeck cape to fly aerial drone

Containers

Containers

Plantables

Plantables

Building the AirDeck If you only want a router to extend range Buy the Xbee board from Transition Robotics Program the Xbee modem as a router Install the board To install a drone on the Quadshot will need BBB Xbee modem Xbee cape (either DIY or purchased) Alfa AWUS036H wireless adapter 2.1 x 5.5 mm barrel connector for power Short (3-6 ) microusb A-B cable

AirDeck (contd) Entire setup installed on brain cover Place BBB on cover as shown mark 4 hole locations with 1/8 drill bit Connect to lid using 4-40 screws and standoffs or similar 3 nuts per screw 1 on outside to secure screw 2 to lock BBB on lid

AirDeck (contd) Remove the BBB from the lid Take the Alfa out of its case Test fit it to the inside of the cover as shown Mark the location of 3/8 hole for antenna Drill the 3/8 hole then install on lid to mark mount holes Drill mount holes Install with 4-40 screws Seal with black tape to prevent shorting with LIA board

AirDeck (contd) Cut notches for power cable and USB cable as shown in pictures using rotary tool You may have to cut back the hard plastic and/or metal shield on USB cable Solder the 2.1 x 5.5 barrel connector Center is connected to Vcc on LIA Outer conductor is connected to Ground on LIA UART connectors on upper left are probably best choice for connection Install Xbee cape and secure with cable ties Install lid and plug in barrel connector Go forth and pwn!

AirDeck Ready for Pwnage

Networked attacks Simplest Case In the simplest case there is only 1 drone Networking is peer-to-peer Allows hacking from a distance Better WiFi hacking when drone is in building Drone runs 24x7 Drone can run for days off battery Important updates such as successfully cracked passwords can be sent to master periodically in case you weren't in range when they happened Drone has full version of The Deck lots of possibilities Less conspicuous than sitting outside the building If you are lucky you can patch into wired network If you are extra lucky they use Power Over Ethernet!

Networked Attack with Multiple Drones One process on master monitors status updates from all drones Interactive shell into each drone Multiple subshells can be created Processing continues if master disconnects Endless possibilities since each drone has full version of The Deck Drone are easily retasked based on objectives achieved by other drones

Demo 7 - Trivial example of Two Drones in TTY Mode

Demo 8 - Trivial Example with Two Drone API Mode Using Python

Python Mode (continued)

Python Mode (continued)

Python Mode (continued)

Router only mode AirDeck Scenario 1 Used to extend the range of drones planted nearby target Drones may be using regular Xbee adapters to save power Flyby if there are no good landing spots nearby Land if possible Flat roof could be good choice Router can run for days off Quadshot battery

AirDeck Scenario 2 AirDeck is only drone Useful when drones can't be easily planted Battery on Quadshot allows extended operation Best situation allows you to land on a roof where the AirDeck isn't detected If you screw up and crash on the roof you may still be able to retrieve your RC toy from target later

AirDeck Scenario 3 AirDeck combined with other drones Other drones are planted Inside leeching power from target Outside running off of battery Other drones likely using regular Xbee adapters to save power AirDeck Xbee adapter configured as a coordinator or router

Future Directions Continue to add useful packages as need arises Optimize some packages for BB-xM/BBB Optimize and expand 802.15.4 code Other output devices Exploit USB OTG functionality Replace LIA autopilot with BBB in AirDeck drone Hack over the Internet with 802.15.4 gateway

Coming Soon Hacking and Pen Testing with Low Power Devices Ready for DEFCON 22

Bibliography General BeagleBoard xm/beaglebone http://beagleboard.org Installing Ubuntu on Beagles http://elinux.org/beagleboardubuntu Cross-compiling for Beagles by Jan Axelson http://www.lvr.com/eclipse1.htm Instructions on how to build The Deck http://www.instructables.com/id/the-deck-portable- Penetration-Testing-and-Forens/ My blog where updates will be posted http://ppolstra.blogspot.com/2012/09/introducing-deckcomplete-pentesting.html Download link for The Deck (warning 6 GB) http://www.udcis.org/thedeck/thedeck-v1.0-44coned.tar.gz Getting Started with Xbee by Parallax http://www.parallax.com/portals/0/downloads/docs/prod/book/122-32450-xbeetutorial-v1.0.1.pdf General information on Xbee modules from the manufacturer http://digi.com Download Moltosenso Network Manager IRON software http://www.moltosenso.com/#/pc==/client/fe/download.php

Questions? Come see me after