hacking a linux-powered rifle - runa...

51
When IoT Attacks: Hacking A Linux-Powered Rifle Black Hat and DEF CON 2015 // Michael Auger and Runa Sandvik

Upload: others

Post on 09-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

When IoT Attacks:Hacking A Linux-Powered Rifle

Black Hat and DEF CON 2015 // Michael Auger and Runa Sandvik

Page 2: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported
Page 3: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

TrackingPoint TP750

• Remington 700 .308 bolt-action rifle

• Hardware platform is called “cascade”

• Runs modified Angström Linux

• 255 MB RAM, 600 MHz ARM v7 CPU

• 16 MB flash storage for kernels

• 4 GB flash storage for filesystem

Page 4: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Tag Track Xact (TTX)

From http://arstechnica.com/gadgets/2013/03/bullseye-from-1000-yards-shooting-the-17000-linux-powered-rifle/

Page 5: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Things to keep in mind

• Our attacks require the wifi to be on

• We cannot fire the rifle remotely

• The TP750 is a firearm even without the scope

Page 6: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Round I

Page 7: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

The scope

Page 8: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Portscan

Page 9: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Mobile apps

Page 10: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

ShotView app

Page 11: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

TrackingPoint app

Page 12: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Recon

• WPA2 used on the wifi

• Uses HTTP between apps and scope

• Uses HTTP to pull updates from TP’s website

• Updates are GPG encrypted and signed

• Updates can be decrypted with a passphrase

Page 13: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Public API

Page 14: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Try ALL the thingsTry ALL the things

Page 15: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Round I findings, part I

• SSID contains serial number, can’t be changed

• Guessable WPA2 key, can’t be changed

• Any RTSP client can stream the scope view

Page 16: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Round I findings, part II

• API is unauthenticated, but validates input

• 4 digit pin locks Advanced Mode, brute-force

• /set_factory_defaults/ resets the lock

• Updates are GPG encrypted and signed

Page 17: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Round II

Page 18: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

From TrackingPoint’s website

Page 19: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

From TrackingPoint’s website

Page 20: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Tearing it open

Page 21: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

From TrackingPoint’s YouTube

Page 22: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported
Page 23: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Close up

Page 24: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

UART

Page 25: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Woot!

Page 26: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Well played TrackingPoint…

Page 27: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

…well played

Page 28: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Round II findings

• Console access is password protected

• Kernels and filesystem are on separate chips

Page 29: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Round III

Page 30: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Let’s get destructive!

Page 31: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

The real filesystem

Page 32: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

eMMC

Page 33: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported
Page 34: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported
Page 35: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported
Page 36: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Admin API

Page 37: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

System backend

• Requires unpublished API call to open port

• Connect to a socket

• The API validates input, backend does not

• Can make temporary changes to the system

• Can change wind, temperature, ballistics values,

control the solenoid, etc

Page 38: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Demo: normal operation

https://youtu.be/oLT1L5xBfAM

Page 39: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Demo: you missed!

https://youtu.be/66k9GtO1BGE

Page 40: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Demo: you missed!

https://youtu.be/eq2lhEAALNI

Page 41: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Software updates

• TrackingPoint operates with two GPG keys, one

of which is on the scope

• Update script accepts packages signed by either

of the two keys

• Can make persistent changes to the system

• Can get root access

Page 42: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Demo: got root?

https://youtu.be/MhCRrGXwNLo

Page 43: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Round III findings

• Admin API is also unauthenticated

• System backend is unauthenticated

• System backend does not validate input

• GPG key on scope can encrypt and sign updates

Page 44: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

One more thing…

Page 45: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Demo: remote code execution

https://youtu.be/9fWa6sAHbNY

Page 46: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

It’s not all bad

• USB ports are disabled during boot

• Media is deleted from scope once downloaded

• WPA2 is in use, even if key cannot be changed

• The API does validate user input*

• Console access is password protected

• Software updates are GPG encrypted+signed*

Page 47: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Will it get better?

• Three emails sent to TrackingPoint since April

• Zero replies

• Two calls after Andy Greenberg reached out

• TrackingPoint is working on a patch

Page 48: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Valued TrackingPoint Community,

Wired Magazine recently reported that information security consultants discovered software vulnerabilities in TrackingPoint guns. We are working with the consultants to verify their assessment and will provide you with a software update if necessary. Until then, please note the following: Since your gun does not have the ability to connect to the internet, the gun can only be compromised if the hacker is actually physically with

you. You can continue to use WiFi (to download photos or connect to ShotView) if you are confident no hackers are within 100 feet.

We will keep you updated, and hope you continue to have exhilarating TrackingPoint shooting experiences!

Page 49: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Vendors should level up

• Issues found are not unique to this product

• Too many vendors ignore low-hanging fruit

• BuildItSecure.ly

• OWASP IoT Top 10

Resources

Page 50: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Thanks to…

• Travis Goodspeed

• Babak Javadi // The CORE Group

• Mickey Shkatov // Intel Advanced Threat Research

• Joe FitzPatrick

• Jesse

• Kenny

• ^H // Portland’s Hackerspace

Page 51: Hacking A Linux-Powered Rifle - Runa Sandvikmedia.encrypted.cc/files/HackingALinuxPoweredRifle.pdf · 2015. 8. 8. · Valued TrackingPoint Community, Wired Magazine recently reported

Thanks! Questions?

Contact: @runasand or [email protected]