SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Mesh Stalkings – Penetration Testing with
Networked Devices Running The Deck
Philip Polstra
@ppolstra
DrPhil@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
● Porting tools to a new platform
● Performing coordinated attacks with networks
of devices
Who am I?
● Professor at an undisclosed university
● Programming from age 8
● Hacking hardware from age 12
● Also known to fly and build airplanes
Roadmap
● Choosing a platform
● Selecting a base OS
● Building a base system
● The easy part – leveraging repositories
● The slightly harder part – building tools
● Building your own accessories
● Solo Demonstrations
● Networking with 802.15.4
● Attack Networks
● Future directions
Choosing a Platform
● Small
● Low-power
● Affordable
● Mature
● Networking built in
● Good USB support
● Convenient input and output
And the Winning Platform is... the Beagles
● Beagleboard
– 3.25” square
– <10 Watts
– only $149
– Based on Cortex A8
– 100 Mbps Ethernet built in
– 4 high-speed USB plus USB-on-the-go
– DVI-D, S-video, and LCD output
– RS-232, webcam, audio, and microSD
Beagleboard
As of Tuesday... BeagleBone Black
● Only $45
● 1GHz
● HDMI Output
● 2GB internal storage
● Same code as BB-xM
I know at least one of you will ask...
● Why not Raspberry Pi?
– Not as powerful as even old BeagleBone
– Doesn't run Ubuntu (ARM6 not supported)
– Not truly open (Broadcom won't release info)
– Not as mature
– Cost savings for full-featured platform are slight
– Limited availability (especially in USA)
– Power stability and other issues
Selecting a Base OS
● Angstrom comes in the box
– Optimized for hardware
– Nice package management
– Poor repository support for our purposes
● Ubuntu is available
– BT is based on Ubuntu (Kali Debian)
– Ubuntu is very popular
– Good repository and community support
Building a Base Device on BB-xM and Original BBone
● Upgrade to 8GB or larger microSD
● Download an image for microSD card
– Canonical image or
– Robert C. Nelson demo images
– I used Nelson's because they are tweaked for Beagleboard and
updated frequently
● Good instructions available at
http://elinux.org/BeagleBoardUbuntu
Building a Bbone Black Device
● Simpliest way – ignore built in MMC
● Better way – use MMC and supplement
– Better performance
– Faster boot
– More storage on uSD card
– Currently work in progress
The Easy Part – Using Repositories
● Many of the tools we want are available in the
standard Ubuntu repositories
● Some are also available as .deb files
– Packages written in interpreted languages (Java, Python,
PERL, Ruby) usually work out of the box
– C-based packages depend on libraries that may or may not
be available/installed
The Harder Part – Building Your Own Tools
● Native or cross-compile?
● Native
– Straightforward
– Can be slow on 1GHz ARM with 512 MB RAM
● Cross-compile
– A bit more complicated
– Take advantage of multi-core desktop with plenty of RAM
Native Compilation
● “Sudo apt-get install build-essential” is about
all you need to be on your way
● Something to keep in mind if you SSH in and
use DHCP: Ethernet is via USB chipset and MAC
address varies from one boot to next which
leads to different address being assigned
Cross-Compile Basic Method
● Download a toolchain “wget http://angstrom-distribution.org/toolchains/angstrom-<ver>-
armv7a...”
● Untar toolchain “tar -xf angstrom-<ver>-armv7a-linux-gnueabi-toolchain.tar.bz2 -C”
● Setup build environment “. /usr/local/angstrom/arm/environment-setup”
● Download source
● Configure with “./configure --host=arm-angstrom-linux-gnueabi –prefix=/home/...”
● Build with “make && sudo make install”
● Copy binaries to BB-xM
● Could have problems if there is a kernel mismatch between setup and what is installed to BB-
xM
More Sophisticated Cross-Compile Method
● Install a toolchain as in basic method
● Install Eclipse
● Install C/C++ Development Tools in Eclipse
● Download software
● Use makefile to create Eclipse project
● Create a Build Configuration in Eclipse
● Compile
● Move binaries to BB-xM
Even More Sophisticated Cross-Compile Method
● Same as previous, but with the addition of remote debugging
● Has advantage of easy transfer of binaries
● In Eclipse under Mobile Development add
– C/C++ DSF GDB Debugger Integration
– C/C++ Remote Launch
– Remote System Explorer End-User Runtime
– Remote System Explorer User Actions
● Full Tutorial at http://lvr.com/eclipse1.htm
Building Your Own Hardware Accessories
Demo 1 - Hardware
Demo 1 - Hardware
Demo 1 – Our Favorite Exploit
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 (150') and Pro (1 mile) versions
● AT and API modes of operation
● Low-speed (250 kbps max)
● Supports multiple network topologies
– Peer to Peer
– Star
– Mesh
Xbee Hardware
● Manufactured by Digi
● Regular and Pro formats are interchangeable and interoperable
● Uses 2 mm pin spacing
– Most breadboards are 0.1” or 2.54 mm
– Requires an adapter
● Several antenna options
● Be careful not to use S2 or ZB series which are the same dimensions, but are not compatible
Xbee Adapters
● UART (serial) adapters
– Can be wired directly to Beagles using 4 wires
– Don't take up USB ports
Xbee Adapters (contd)
● USB Adapters
– More expensive
– Helpful for initial setup
– Easier to setup: just plug it in
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
● 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
● 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
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
– 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
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
● 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)
● Recommend against using UART on BeagleBoard
– 1.8V logic levels requires level shifting
– Slightly more complicated software configuration
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
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
Trivial example of Two Drones in TTY 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
● 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)
Trivial Example with Two Drone – API Mode Using Python
Python Mode (continued)
Python Mode (continued)
Python Mode (continued)
Harder Case: True Mesh Network
● Only recommended when larger number of
drones or when devices are too far apart
● Will negatively impact battery life
● Requires series 2 (aka ZB) Xbee adapters
● No changes to scripts are required
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
Future Directions
● Continue to add useful packages as need arises
● Optimize some packages for BB-xM
● Other output devices
● Associate with a standard pentest distro
● Port to another platform
● BeagleBone Black Edition!
● Exploit USB OTG functionality
● Make The Deck fly (literally)
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-deck-complete-pentesting.html
● Download link for The Deck (warning 6 GB) http://www.udcis.org/TheDeck/thedeck-v1.1.01-
thotcon-ed.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?

Weitere ähnliche Inhalte

Was ist angesagt?

PCB Business Card
PCB Business CardPCB Business Card
PCB Business Cardyeokm1
 
Embedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsEmbedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsFrank Hunleth
 
Building a Network IP Camera using Erlang
Building a Network IP Camera using ErlangBuilding a Network IP Camera using Erlang
Building a Network IP Camera using ErlangFrank Hunleth
 
BadUSB, and what you should do about it
BadUSB, and what you should do about itBadUSB, and what you should do about it
BadUSB, and what you should do about itrobertfisk
 
PiFlash: Linux utility to flash SD cards for Raspberry Pi computers
PiFlash: Linux utility to flash SD cards for Raspberry Pi computersPiFlash: Linux utility to flash SD cards for Raspberry Pi computers
PiFlash: Linux utility to flash SD cards for Raspberry Pi computersIan Kluft
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardAnne Nicolas
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMSherif Mousa
 
Kernel Recipes 2017 - The Serial Device Bus - Johan Hovold
Kernel Recipes 2017 - The Serial Device Bus - Johan HovoldKernel Recipes 2017 - The Serial Device Bus - Johan Hovold
Kernel Recipes 2017 - The Serial Device Bus - Johan HovoldAnne Nicolas
 
Kernel Recipes 2017 - What's inside the input stack? - Benjamain Tissoires
Kernel Recipes 2017 - What's inside the input stack? - Benjamain TissoiresKernel Recipes 2017 - What's inside the input stack? - Benjamain Tissoires
Kernel Recipes 2017 - What's inside the input stack? - Benjamain TissoiresAnne Nicolas
 
Kernel Recipes 2015: Greybus
Kernel Recipes 2015: GreybusKernel Recipes 2015: Greybus
Kernel Recipes 2015: GreybusAnne Nicolas
 
Using Erlang in an Embedded and Cross-Compiled World
Using Erlang in an Embedded and Cross-Compiled WorldUsing Erlang in an Embedded and Cross-Compiled World
Using Erlang in an Embedded and Cross-Compiled WorldFrank Hunleth
 
Raspberry Pi and Amateur Radio
Raspberry Pi and Amateur RadioRaspberry Pi and Amateur Radio
Raspberry Pi and Amateur RadioKevin Hooke
 
Redteaming HID attacks
Redteaming HID attacksRedteaming HID attacks
Redteaming HID attacksJuan Espin
 

Was ist angesagt? (20)

PCB Business Card
PCB Business CardPCB Business Card
PCB Business Card
 
Linux Audio Drivers. ALSA
Linux Audio Drivers. ALSALinux Audio Drivers. ALSA
Linux Audio Drivers. ALSA
 
BAD USB 2.0
BAD USB 2.0BAD USB 2.0
BAD USB 2.0
 
Emx Dev Boards - EmxARM9A03 - Overview
Emx Dev Boards - EmxARM9A03 - OverviewEmx Dev Boards - EmxARM9A03 - Overview
Emx Dev Boards - EmxARM9A03 - Overview
 
Embedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsEmbedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBots
 
Building a Network IP Camera using Erlang
Building a Network IP Camera using ErlangBuilding a Network IP Camera using Erlang
Building a Network IP Camera using Erlang
 
BadUSB, and what you should do about it
BadUSB, and what you should do about itBadUSB, and what you should do about it
BadUSB, and what you should do about it
 
OpenWRT and Perl
OpenWRT and PerlOpenWRT and Perl
OpenWRT and Perl
 
PiFlash: Linux utility to flash SD cards for Raspberry Pi computers
PiFlash: Linux utility to flash SD cards for Raspberry Pi computersPiFlash: Linux utility to flash SD cards for Raspberry Pi computers
PiFlash: Linux utility to flash SD cards for Raspberry Pi computers
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
 
Kernel Recipes 2017 - The Serial Device Bus - Johan Hovold
Kernel Recipes 2017 - The Serial Device Bus - Johan HovoldKernel Recipes 2017 - The Serial Device Bus - Johan Hovold
Kernel Recipes 2017 - The Serial Device Bus - Johan Hovold
 
Micro-controllers (PIC) based Application Development
Micro-controllers (PIC) based Application DevelopmentMicro-controllers (PIC) based Application Development
Micro-controllers (PIC) based Application Development
 
Kernel Recipes 2017 - What's inside the input stack? - Benjamain Tissoires
Kernel Recipes 2017 - What's inside the input stack? - Benjamain TissoiresKernel Recipes 2017 - What's inside the input stack? - Benjamain Tissoires
Kernel Recipes 2017 - What's inside the input stack? - Benjamain Tissoires
 
Kernel Recipes 2015: Greybus
Kernel Recipes 2015: GreybusKernel Recipes 2015: Greybus
Kernel Recipes 2015: Greybus
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Using Erlang in an Embedded and Cross-Compiled World
Using Erlang in an Embedded and Cross-Compiled WorldUsing Erlang in an Embedded and Cross-Compiled World
Using Erlang in an Embedded and Cross-Compiled World
 
Destroying Router Security - NNC5ed
Destroying Router Security - NNC5edDestroying Router Security - NNC5ed
Destroying Router Security - NNC5ed
 
Raspberry Pi and Amateur Radio
Raspberry Pi and Amateur RadioRaspberry Pi and Amateur Radio
Raspberry Pi and Amateur Radio
 
Redteaming HID attacks
Redteaming HID attacksRedteaming HID attacks
Redteaming HID attacks
 

Andere mochten auch

Am I being spied on: Low-tech ways of detecting high-tech surveillance (DEFCO...
Am I being spied on: Low-tech ways of detecting high-tech surveillance (DEFCO...Am I being spied on: Low-tech ways of detecting high-tech surveillance (DEFCO...
Am I being spied on: Low-tech ways of detecting high-tech surveillance (DEFCO...Philip Polstra
 
The JHU-HLTCOE Spoken Web Search System for MediaEval 2012
The JHU-HLTCOE Spoken Web Search System for MediaEval 2012The JHU-HLTCOE Spoken Web Search System for MediaEval 2012
The JHU-HLTCOE Spoken Web Search System for MediaEval 2012MediaEval2012
 
Search and Hyperlinking Task at MediaEval 2012
Search and Hyperlinking Task at MediaEval 2012Search and Hyperlinking Task at MediaEval 2012
Search and Hyperlinking Task at MediaEval 2012MediaEval2012
 
Overview of MediaEval 2012 Visual Privacy Task
Overview of MediaEval 2012 Visual Privacy TaskOverview of MediaEval 2012 Visual Privacy Task
Overview of MediaEval 2012 Visual Privacy TaskMediaEval2012
 
When Ideas and Opportunities Collide
When Ideas and Opportunities CollideWhen Ideas and Opportunities Collide
When Ideas and Opportunities CollideGrow America
 
Week 2 discussion 2
Week 2 discussion 2Week 2 discussion 2
Week 2 discussion 2LILBIT2012
 
John Richards: My Life Lessons As An Entrepreneur
John Richards: My Life Lessons As An EntrepreneurJohn Richards: My Life Lessons As An Entrepreneur
John Richards: My Life Lessons As An EntrepreneurGrow America
 
Brave New Task: Musiclef Multimodal Music Tagging
Brave New Task: Musiclef Multimodal Music TaggingBrave New Task: Musiclef Multimodal Music Tagging
Brave New Task: Musiclef Multimodal Music TaggingMediaEval2012
 
Idea or opportunity?
Idea or opportunity?Idea or opportunity?
Idea or opportunity?Grow America
 
Telefonica Research System for the Spoken Web Search task at Mediaeval 2012
Telefonica Research System for the Spoken Web Search task at Mediaeval 2012Telefonica Research System for the Spoken Web Search task at Mediaeval 2012
Telefonica Research System for the Spoken Web Search task at Mediaeval 2012MediaEval2012
 
Violence Detection in Video by Large Scale Multi-Scale Local Binary Pattern D...
Violence Detection in Video by Large Scale Multi-Scale Local Binary Pattern D...Violence Detection in Video by Large Scale Multi-Scale Local Binary Pattern D...
Violence Detection in Video by Large Scale Multi-Scale Local Binary Pattern D...MediaEval2012
 
How INRIA identifies Geographic Location of a Video
How INRIA identifies Geographic Location of a VideoHow INRIA identifies Geographic Location of a Video
How INRIA identifies Geographic Location of a VideoMediaEval2012
 
The Watershed-based Social Events Detection Method with Support from External...
The Watershed-based Social Events Detection Method with Support from External...The Watershed-based Social Events Detection Method with Support from External...
The Watershed-based Social Events Detection Method with Support from External...MediaEval2012
 
תחרות אלוף הידע
תחרות אלוף הידעתחרות אלוף הידע
תחרות אלוף הידעsabal1
 
MediaEval 2012 Visual Privacy Task: Privacy and Intelligibility through Pixel...
MediaEval 2012 Visual Privacy Task: Privacy and Intelligibility through Pixel...MediaEval 2012 Visual Privacy Task: Privacy and Intelligibility through Pixel...
MediaEval 2012 Visual Privacy Task: Privacy and Intelligibility through Pixel...MediaEval2012
 
Secrets of Storytelling by Candace Klein
Secrets of Storytelling by Candace KleinSecrets of Storytelling by Candace Klein
Secrets of Storytelling by Candace KleinGrow America
 
LIG at MediaEval 2012 affect task: use of a generic method
LIG at MediaEval 2012 affect task: use of a generic methodLIG at MediaEval 2012 affect task: use of a generic method
LIG at MediaEval 2012 affect task: use of a generic methodMediaEval2012
 
DCU Search Runs at MediaEval 2012: Search and Hyperlinking Task
DCU Search Runs at MediaEval 2012: Search and Hyperlinking TaskDCU Search Runs at MediaEval 2012: Search and Hyperlinking Task
DCU Search Runs at MediaEval 2012: Search and Hyperlinking TaskMediaEval2012
 

Andere mochten auch (20)

Am I being spied on: Low-tech ways of detecting high-tech surveillance (DEFCO...
Am I being spied on: Low-tech ways of detecting high-tech surveillance (DEFCO...Am I being spied on: Low-tech ways of detecting high-tech surveillance (DEFCO...
Am I being spied on: Low-tech ways of detecting high-tech surveillance (DEFCO...
 
The JHU-HLTCOE Spoken Web Search System for MediaEval 2012
The JHU-HLTCOE Spoken Web Search System for MediaEval 2012The JHU-HLTCOE Spoken Web Search System for MediaEval 2012
The JHU-HLTCOE Spoken Web Search System for MediaEval 2012
 
Search and Hyperlinking Task at MediaEval 2012
Search and Hyperlinking Task at MediaEval 2012Search and Hyperlinking Task at MediaEval 2012
Search and Hyperlinking Task at MediaEval 2012
 
Overview of MediaEval 2012 Visual Privacy Task
Overview of MediaEval 2012 Visual Privacy TaskOverview of MediaEval 2012 Visual Privacy Task
Overview of MediaEval 2012 Visual Privacy Task
 
When Ideas and Opportunities Collide
When Ideas and Opportunities CollideWhen Ideas and Opportunities Collide
When Ideas and Opportunities Collide
 
Closing
ClosingClosing
Closing
 
Week 2 discussion 2
Week 2 discussion 2Week 2 discussion 2
Week 2 discussion 2
 
John Richards: My Life Lessons As An Entrepreneur
John Richards: My Life Lessons As An EntrepreneurJohn Richards: My Life Lessons As An Entrepreneur
John Richards: My Life Lessons As An Entrepreneur
 
Brave New Task: Musiclef Multimodal Music Tagging
Brave New Task: Musiclef Multimodal Music TaggingBrave New Task: Musiclef Multimodal Music Tagging
Brave New Task: Musiclef Multimodal Music Tagging
 
Simha_RP
Simha_RPSimha_RP
Simha_RP
 
Idea or opportunity?
Idea or opportunity?Idea or opportunity?
Idea or opportunity?
 
Telefonica Research System for the Spoken Web Search task at Mediaeval 2012
Telefonica Research System for the Spoken Web Search task at Mediaeval 2012Telefonica Research System for the Spoken Web Search task at Mediaeval 2012
Telefonica Research System for the Spoken Web Search task at Mediaeval 2012
 
Violence Detection in Video by Large Scale Multi-Scale Local Binary Pattern D...
Violence Detection in Video by Large Scale Multi-Scale Local Binary Pattern D...Violence Detection in Video by Large Scale Multi-Scale Local Binary Pattern D...
Violence Detection in Video by Large Scale Multi-Scale Local Binary Pattern D...
 
How INRIA identifies Geographic Location of a Video
How INRIA identifies Geographic Location of a VideoHow INRIA identifies Geographic Location of a Video
How INRIA identifies Geographic Location of a Video
 
The Watershed-based Social Events Detection Method with Support from External...
The Watershed-based Social Events Detection Method with Support from External...The Watershed-based Social Events Detection Method with Support from External...
The Watershed-based Social Events Detection Method with Support from External...
 
תחרות אלוף הידע
תחרות אלוף הידעתחרות אלוף הידע
תחרות אלוף הידע
 
MediaEval 2012 Visual Privacy Task: Privacy and Intelligibility through Pixel...
MediaEval 2012 Visual Privacy Task: Privacy and Intelligibility through Pixel...MediaEval 2012 Visual Privacy Task: Privacy and Intelligibility through Pixel...
MediaEval 2012 Visual Privacy Task: Privacy and Intelligibility through Pixel...
 
Secrets of Storytelling by Candace Klein
Secrets of Storytelling by Candace KleinSecrets of Storytelling by Candace Klein
Secrets of Storytelling by Candace Klein
 
LIG at MediaEval 2012 affect task: use of a generic method
LIG at MediaEval 2012 affect task: use of a generic methodLIG at MediaEval 2012 affect task: use of a generic method
LIG at MediaEval 2012 affect task: use of a generic method
 
DCU Search Runs at MediaEval 2012: Search and Hyperlinking Task
DCU Search Runs at MediaEval 2012: Search and Hyperlinking TaskDCU Search Runs at MediaEval 2012: Search and Hyperlinking Task
DCU Search Runs at MediaEval 2012: Search and Hyperlinking Task
 

Ähnlich wie Thotcon2013

Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 201244CON
 
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...OpenStack Korea Community
 
Developping drivers on small machines
Developping drivers on small machinesDevelopping drivers on small machines
Developping drivers on small machinesAnne Nicolas
 
The internet of $h1t
The internet of $h1tThe internet of $h1t
The internet of $h1tAmit Serper
 
Some experiences for porting application to Intel Xeon Phi
Some experiences for porting application to Intel Xeon PhiSome experiences for porting application to Intel Xeon Phi
Some experiences for porting application to Intel Xeon PhiMaho Nakata
 
pfSense 2.2 Preview - pfSense Hangout November 2014
pfSense 2.2 Preview - pfSense Hangout November 2014pfSense 2.2 Preview - pfSense Hangout November 2014
pfSense 2.2 Preview - pfSense Hangout November 2014Netgate
 
Embedded platform choices
Embedded platform choicesEmbedded platform choices
Embedded platform choicesTavish Naruka
 
Kernel Recipes 2016 - Speeding up development by setting up a kernel build farm
Kernel Recipes 2016 - Speeding up development by setting up a kernel build farmKernel Recipes 2016 - Speeding up development by setting up a kernel build farm
Kernel Recipes 2016 - Speeding up development by setting up a kernel build farmAnne Nicolas
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesMender.io
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux DevelopersOpersys inc.
 
Bsdtw17: lightning talks/wip sessions
Bsdtw17: lightning talks/wip sessionsBsdtw17: lightning talks/wip sessions
Bsdtw17: lightning talks/wip sessionsScott Tsai
 
Linux Kernel Platform Development: Challenges and Insights
 Linux Kernel Platform Development: Challenges and Insights Linux Kernel Platform Development: Challenges and Insights
Linux Kernel Platform Development: Challenges and InsightsGlobalLogic Ukraine
 
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPFA Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPFoholiab
 
DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...
DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...
DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...DevSecCon
 
One Year of Porting - Post-mortem of two Linux/SteamOS launches
One Year of Porting - Post-mortem of two Linux/SteamOS launchesOne Year of Porting - Post-mortem of two Linux/SteamOS launches
One Year of Porting - Post-mortem of two Linux/SteamOS launchesLeszek Godlewski
 
Network services on Kubernetes on premise
Network services on Kubernetes on premiseNetwork services on Kubernetes on premise
Network services on Kubernetes on premiseHans Duedal
 
Hardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshopHardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshopSlawomir Jasek
 
Grub and dracut ii
Grub and dracut iiGrub and dracut ii
Grub and dracut iiplarsen67
 

Ähnlich wie Thotcon2013 (20)

Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012
 
Hardware hacking
Hardware hackingHardware hacking
Hardware hacking
 
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
 
Developping drivers on small machines
Developping drivers on small machinesDevelopping drivers on small machines
Developping drivers on small machines
 
The internet of $h1t
The internet of $h1tThe internet of $h1t
The internet of $h1t
 
Some experiences for porting application to Intel Xeon Phi
Some experiences for porting application to Intel Xeon PhiSome experiences for porting application to Intel Xeon Phi
Some experiences for porting application to Intel Xeon Phi
 
pfSense 2.2 Preview - pfSense Hangout November 2014
pfSense 2.2 Preview - pfSense Hangout November 2014pfSense 2.2 Preview - pfSense Hangout November 2014
pfSense 2.2 Preview - pfSense Hangout November 2014
 
MIPS-X
MIPS-XMIPS-X
MIPS-X
 
Embedded platform choices
Embedded platform choicesEmbedded platform choices
Embedded platform choices
 
Kernel Recipes 2016 - Speeding up development by setting up a kernel build farm
Kernel Recipes 2016 - Speeding up development by setting up a kernel build farmKernel Recipes 2016 - Speeding up development by setting up a kernel build farm
Kernel Recipes 2016 - Speeding up development by setting up a kernel build farm
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and images
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux Developers
 
Bsdtw17: lightning talks/wip sessions
Bsdtw17: lightning talks/wip sessionsBsdtw17: lightning talks/wip sessions
Bsdtw17: lightning talks/wip sessions
 
Linux Kernel Platform Development: Challenges and Insights
 Linux Kernel Platform Development: Challenges and Insights Linux Kernel Platform Development: Challenges and Insights
Linux Kernel Platform Development: Challenges and Insights
 
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPFA Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
 
DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...
DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...
DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...
 
One Year of Porting - Post-mortem of two Linux/SteamOS launches
One Year of Porting - Post-mortem of two Linux/SteamOS launchesOne Year of Porting - Post-mortem of two Linux/SteamOS launches
One Year of Porting - Post-mortem of two Linux/SteamOS launches
 
Network services on Kubernetes on premise
Network services on Kubernetes on premiseNetwork services on Kubernetes on premise
Network services on Kubernetes on premise
 
Hardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshopHardwear.io 2018 BLE Security Essentials workshop
Hardwear.io 2018 BLE Security Essentials workshop
 
Grub and dracut ii
Grub and dracut iiGrub and dracut ii
Grub and dracut ii
 

Kürzlich hochgeladen

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 

Kürzlich hochgeladen (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 

Thotcon2013

  • 1. Mesh Stalkings – Penetration Testing with Networked Devices Running The Deck Philip Polstra @ppolstra DrPhil@polstra.org
  • 2. 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 ● Porting tools to a new platform ● Performing coordinated attacks with networks of devices
  • 3. Who am I? ● Professor at an undisclosed university ● Programming from age 8 ● Hacking hardware from age 12 ● Also known to fly and build airplanes
  • 4. Roadmap ● Choosing a platform ● Selecting a base OS ● Building a base system ● The easy part – leveraging repositories ● The slightly harder part – building tools ● Building your own accessories ● Solo Demonstrations ● Networking with 802.15.4 ● Attack Networks ● Future directions
  • 5. Choosing a Platform ● Small ● Low-power ● Affordable ● Mature ● Networking built in ● Good USB support ● Convenient input and output
  • 6. And the Winning Platform is... the Beagles ● Beagleboard – 3.25” square – <10 Watts – only $149 – Based on Cortex A8 – 100 Mbps Ethernet built in – 4 high-speed USB plus USB-on-the-go – DVI-D, S-video, and LCD output – RS-232, webcam, audio, and microSD
  • 8. As of Tuesday... BeagleBone Black ● Only $45 ● 1GHz ● HDMI Output ● 2GB internal storage ● Same code as BB-xM
  • 9. I know at least one of you will ask... ● Why not Raspberry Pi? – Not as powerful as even old BeagleBone – Doesn't run Ubuntu (ARM6 not supported) – Not truly open (Broadcom won't release info) – Not as mature – Cost savings for full-featured platform are slight – Limited availability (especially in USA) – Power stability and other issues
  • 10. Selecting a Base OS ● Angstrom comes in the box – Optimized for hardware – Nice package management – Poor repository support for our purposes ● Ubuntu is available – BT is based on Ubuntu (Kali Debian) – Ubuntu is very popular – Good repository and community support
  • 11. Building a Base Device on BB-xM and Original BBone ● Upgrade to 8GB or larger microSD ● Download an image for microSD card – Canonical image or – Robert C. Nelson demo images – I used Nelson's because they are tweaked for Beagleboard and updated frequently ● Good instructions available at http://elinux.org/BeagleBoardUbuntu
  • 12. Building a Bbone Black Device ● Simpliest way – ignore built in MMC ● Better way – use MMC and supplement – Better performance – Faster boot – More storage on uSD card – Currently work in progress
  • 13. The Easy Part – Using Repositories ● Many of the tools we want are available in the standard Ubuntu repositories ● Some are also available as .deb files – Packages written in interpreted languages (Java, Python, PERL, Ruby) usually work out of the box – C-based packages depend on libraries that may or may not be available/installed
  • 14. The Harder Part – Building Your Own Tools ● Native or cross-compile? ● Native – Straightforward – Can be slow on 1GHz ARM with 512 MB RAM ● Cross-compile – A bit more complicated – Take advantage of multi-core desktop with plenty of RAM
  • 15. Native Compilation ● “Sudo apt-get install build-essential” is about all you need to be on your way ● Something to keep in mind if you SSH in and use DHCP: Ethernet is via USB chipset and MAC address varies from one boot to next which leads to different address being assigned
  • 16. Cross-Compile Basic Method ● Download a toolchain “wget http://angstrom-distribution.org/toolchains/angstrom-<ver>- armv7a...” ● Untar toolchain “tar -xf angstrom-<ver>-armv7a-linux-gnueabi-toolchain.tar.bz2 -C” ● Setup build environment “. /usr/local/angstrom/arm/environment-setup” ● Download source ● Configure with “./configure --host=arm-angstrom-linux-gnueabi –prefix=/home/...” ● Build with “make && sudo make install” ● Copy binaries to BB-xM ● Could have problems if there is a kernel mismatch between setup and what is installed to BB- xM
  • 17. More Sophisticated Cross-Compile Method ● Install a toolchain as in basic method ● Install Eclipse ● Install C/C++ Development Tools in Eclipse ● Download software ● Use makefile to create Eclipse project ● Create a Build Configuration in Eclipse ● Compile ● Move binaries to BB-xM
  • 18. Even More Sophisticated Cross-Compile Method ● Same as previous, but with the addition of remote debugging ● Has advantage of easy transfer of binaries ● In Eclipse under Mobile Development add – C/C++ DSF GDB Debugger Integration – C/C++ Remote Launch – Remote System Explorer End-User Runtime – Remote System Explorer User Actions ● Full Tutorial at http://lvr.com/eclipse1.htm
  • 19. Building Your Own Hardware Accessories
  • 20. Demo 1 - Hardware
  • 21. Demo 1 - Hardware
  • 22. Demo 1 – Our Favorite Exploit
  • 24. Demo 2 – Wifi Cracking
  • 27. Demo 3 – Password Cracking
  • 28. Demo 4 – WPS Cracking
  • 30. Demo 5 – Pwn Win7 Like Its a Mac
  • 32. Demo 6 – Clickiddies tm
  • 33. 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
  • 34. 802.15.4 Basics ● Typically used in low-power embedded systems ● Regular (150') and Pro (1 mile) versions ● AT and API modes of operation ● Low-speed (250 kbps max) ● Supports multiple network topologies – Peer to Peer – Star – Mesh
  • 35. Xbee Hardware ● Manufactured by Digi ● Regular and Pro formats are interchangeable and interoperable ● Uses 2 mm pin spacing – Most breadboards are 0.1” or 2.54 mm – Requires an adapter ● Several antenna options ● Be careful not to use S2 or ZB series which are the same dimensions, but are not compatible
  • 36. Xbee Adapters ● UART (serial) adapters – Can be wired directly to Beagles using 4 wires – Don't take up USB ports
  • 37. Xbee Adapters (contd) ● USB Adapters – More expensive – Helpful for initial setup – Easier to setup: just plug it in
  • 38. 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 ● Recently Moltosenso has released Network Manager IRON 1.0 which runs on Linux, Mac, and Windows – free edition is sufficient for our limited usage
  • 39. 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 ● 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
  • 40. 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 – 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
  • 41. 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 ● 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) ● Recommend against using UART on BeagleBoard – 1.8V logic levels requires level shifting – Slightly more complicated software configuration
  • 42. 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
  • 43. 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
  • 44. Trivial example of Two Drones in TTY Mode
  • 45. 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 ● 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
  • 46. 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
  • 47. 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)
  • 48. Trivial Example with Two Drone – API Mode Using Python
  • 52. Harder Case: True Mesh Network ● Only recommended when larger number of drones or when devices are too far apart ● Will negatively impact battery life ● Requires series 2 (aka ZB) Xbee adapters ● No changes to scripts are required
  • 53. 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!
  • 54. 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
  • 55. Future Directions ● Continue to add useful packages as need arises ● Optimize some packages for BB-xM ● Other output devices ● Associate with a standard pentest distro ● Port to another platform ● BeagleBone Black Edition! ● Exploit USB OTG functionality ● Make The Deck fly (literally)
  • 56. 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-deck-complete-pentesting.html ● Download link for The Deck (warning 6 GB) http://www.udcis.org/TheDeck/thedeck-v1.1.01- thotcon-ed.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