Leonardo Nve Egea [email protected]

1. because I’m sure that some people will  publish more attacks. .2 because previously presentations about  satellite. ll

ƒ

Warezzman – (in 2004 at Undercon VIII first  Spanish hacker CON)

ƒ

Jim Geovedi & Raditya Iryandi  (HITBSecConf2006) f

ƒ

Adam Laurie (Blackhat 2009 at DC) d l kh

ƒ

Myself at S21Sec Blog (February 2009) lf l b

ƒ

Orbit based satellites  ƒ Low Earth orbiting (LEO) ƒ Geostationary orbit (GEO) ƒ Other: Molniya, High (HEO), etc.

ƒ

Function based satellites ƒ Communications ƒ Earth observation ƒ Other: Scientifics, ISS, etc. , ,

ƒ

Satellite LEO S lli  LEO ƒ Meteorological ƒ HAM (Amateur Radio Operator) HAM (A  R di  O )

ƒ

Satellite GEO ƒ ƒ ƒ ƒ

UFO (UHF Follow ON) Military Inmarsat Meteorological (Meteosat) SCPC / Telephony link FDMA

ƒ

Standard of European Telecommunications  f Standards Institute (ETSI).

ƒ

Defines audio  and video transmission, and  data connections.

ƒ

DVB‐S & DVB‐S2 is the specification for  h f f satellite communications.

ƒ

Transponder:  Like channels (in Satellite  comms)  ƒ Frecuency (C band or Ku). Ex: 12.092Ghz ƒ Polarization. (horizontal/vertical) ƒ Symbol Rate. Ex: 27500Kbps ƒ FEC. 

ƒ

Every satellite has many transponders  onboard which are operating on different  frequencies

Header 0x47

Flags

Body d PID

Flags

Adaptation Field

Data

Program ID (PID): It permits different programs at same  transponder with different components [Example BBC1  PIDs: 600 (video), 601 (English audio), 603 (subtitles), 4167  (teletext)] Special PIDs: NIT (Network Information Table), SDT (Service Special PIDs  NIT (Network Information Table)  SDT (Service Description Table), PMT (Program Map Tables), PAT (Program Association Table).

ƒ

Temporal video links.

ƒ

Live emissions, sports, news.

ƒ

FTA – In open video. d

Hispasat Pre news feed (live news)

ATLAS Agency to TV feeds

Captured NATO feeds

NATO COMINT official

ƒ

I widely known that the Department of  f Defense (DoD) and some US defense contractors use satellites ll and  DVB for d f their h comms.

ƒ

Let`s see:

http://telecom.esa.int/telecom/media/document/DVB‐ RCS%20Networks%20for%20the%20US%20Defense%20Market%20(R3).pdf

US COMINT official

ƒ

Find feeds: f ƒ Lists of channels in www ƒ Blind Scan ƒ Visual representations of the signal 

ƒ

Dr HANS ƒ http://drhans.jinak.cz/news/index.php

ƒ

Zackyfiles ƒ http://www.zackyfiles.com (in spanish)

ƒ

Satplaza ƒ http://www.satplaza.com p p

ƒ

Two scenarios ƒ Satmodem ƒ Satellite Interactive Terminal (SIT) or Astromodem 

INTERNET CLIENT ISP

DOWNLINK

INTERNET CLIENT ISP

DOWNLINK

POTS/GPRS  UPLINK INTERNET CLIENT

UPLINK ISP

DOWNLINK

POTS/GPRS  UPLINK INTERNET CLIENT

UPLINK ISP

DOWNLINK

ISP’s UPLINK

POTS/GPRS  UPLINK INTERNET CLIENT

UPLINK ISP

DVB Data - Astromodem ISP DOWNLINK & UPLINK

DOWNLINK & UPLINK

INTERNET CLIENT

ISP

Anyone with coverage can SNIFF  the DVB Data, and normally it is  y unencrypted.

ƒ

What do you need: ƒ Skystar 2 DVB Card ƒ linuxtv‐dvb‐apps  ƒ Wireshark ƒ The antenna ƒ Data to point it. p

I bought it for 50€!!! from an  g 5 PayTV ex‐”hacker” :P  (I l di     t t  b  th t I  ill  (Including a set‐top box that I will  not use))

Linux has the modules for this card by  f default, we only need the tools to manage it: linuxtv‐dvb‐apps My version is 1.1.1 and I use Fedora (Not too  cool to use Debian :P). l b

Once the antenna and the card is installed  and linuxtv‐dvb‐apps compiled  and installed,  the process is: h 1‐ Tune the DVB Card 2‐ Find a PID with data 3‐ Create an Ethernet interface associated to that  PID

We can repeat 2 to 3 any times we want.

1‐ Tune the DVB Card h d 2‐ Find a PID with data 3‐ Create an Ethernet interface associated to that  PID

Tune DVB Card The tool we must use is szap and we need the  transponder’s parameters in a configuration  d f file. For example, for “Sirius‐4 Nordic Beam": # echo  sirius4N:12322:v:0:27500:0:0:0  >> channels.conf # echo “sirius4N:12322:v:0:27500:0:0:0" >> channels.conf

We run szap with the channel configuration  f file and the transponder we want use (the  configuration file can have more than one). f fl h h # szap –c channels.conf sirius4N p 4

We must keep it running.

The transponder parameters can be found  f around Internet. http://www.fastsatfinder.com/transponders.html

1‐ Tune the DVB Card h d 2‐ Find a PID with data 3‐ Create an Ethernet interface associated to that  PID

ƒ Find a PID

#dvbsnoop ‐s pidscan d b d Search for data section on results. hf d l

1‐ Tune the DVB Card h d 2‐ Find a PID with data 3‐ Create an Ethernet interface associated to  that PID

ƒ Create an interface associated to a PID f

#dvbnet d b ‐a  ‐p  d b ƒ Activate it

#ifconfig dvb0_ up

Back to de pidscan results

Create another interface

Wireshark is our friend f

16358 packets in 10 seconds

ƒ We can have more than one PID assigned to an  W    h    th    PID  i d t    

interface, this will be very useful. ƒ Malicious users can: ƒ Catch passwords. ƒ Catch cookies and get into authenticated HTTP  g

sessions. ƒ Read emails ƒ Catch sensitive files C h fl ƒ Do traffic analysis ƒ Etc …. Etc 

Reminder:  In satellite communications we have two  scenarios: A‐ Satmodem, Only Downlink via Satellite B‐ Astromodem, Both uplink and downlink via  Satellite.

We can only sniff the downloaded data. We  can only sniff one direction in a connection. l ff d

ƒ DNS Spoofing f ƒ TCP hijacking h k ƒAttacking GRE k

DNS Spoofing is the art of making a DNS  f h f k entry to point to an another IP than it would b be supposed to point to. (SecureSphere) d h

ƒ Data we need to perform this attack f ƒ DNS Request ID ƒ Source Port ƒSource IP ƒDestination IP ƒName/IP asking for g

ƒ It´s trivial to see that if we sniff a DNS  ´ f ff

request we have all that information and we  can spoof the answer. f h ƒ Many tools around do this job,  the only  l dd h b h l

thing we also need is to be faster than the  real DNS server (jizz). l

ƒ Why is this attack important? ƒThink in phising ƒ With this attack, uplink sniff can be possible ▪ Rogue WPAD service ▪ Sslstrip can be use to avoid SSL connections.

ƒ DNS Spoofing f ƒ TCP hijacking h k ƒAttacking GRE k

TCP session hijacking is when a hacker takes  over a TCP session between two machines.  b h (ISS)

Seq=S1   ACK=A1   Datalen=L1

Seq=A1   ACK=S1+L1   Datalen=L2 Seq=S1+L1   ACK=A1+L2   Datalen=L3

If we sniff 1 f ff we can predict Seq d and Ack d k of 2 f and  d we can send the payload we want in 2 

ƒ Initially we can only have a false connection with A. I iti ll       l  h    f l   ti   ith A ƒ In certain circumstances, we can make this attack  ,

with B, when L2 is predictable. ƒSome tools for doing this: ƒHunt ƒShijack ƒScapy

ƒ DNS Spoofing f ƒ TCP hijacking h k ƒAttacking GRE k

ƒ Generic Routing Encapsulation  ƒ Point to point tunneling protocol l l ƒ13% of Satellite’s data traffic in our  f ll d ff

transponder is GRE

This chapter is based in Phenoelit’s discussion  paper written by FX applied to satellite  b l d ll scenario. Original paper:  h http://www.phenoelit‐us.org/irpas/gre.html h l h l

HQ

INTERNET

Remote Office Remote Office

Remote Office

Find a target: #tshark h k –ni dvb0_0 –R gre d b –w capture.cap

GRE Packet IP dest 1

IP source 1 GRE header h d

Payload IP dest

Payload IP source Payload IP Header Payload Data

ƒ IP dest 1 and source 1 must be Internet 

reachable  IPs ƒThe payload´s IPs used to be internal.

1.1.1.2

10.0.0.54

INTERNET

1.1.1.1

10.0.0.5

1.1.1.2

INTERNET

1.1.1.1

(*) 10.0.0.54

10.0.0.5

(*) GRE Packet 1.1.1.1

1.1.1.2 GRE header (32 bits without flags) h d  (  bit   ith t fl )

10.0.0.5

10.0.0.54 Payload IP Header Payload Data

1.1.1.2

10.0.0.54

(1)

1.1.1.1

10.0.0.5

(1) GRE Packet 1.1.1.1

1.1.1.2 GRE header (32 bits without flags) h d  (  bit   ith t fl )

10.0.0.5

10.0.0.54 Payload IP Header Payload Data

1.1.1.2

10.0.0.54

(1)

1.1.1.1

10.0.0.5

(2)

(2) IP Packet 10.0.0.5

10.0.0.54 IP header

Data

1.1.1.2

10.0.0.54

(1)

1.1.1.1

10.0.0.5

(2,3)

(3) IP Packet 10.0.0.54

10.0.0.5 IP header 2

Data 2

(4)

1.1.1.2

10.0.0.54

(1)

1.1.1.1

10.0.0.5

(2,3)

(4) GRE Packet 1.1.1.2

1.1.1.1 GRE header (32 bits without flags) h d  (  bit   ith t fl )

10.0.0.54

10.0.0.5 Payload IP Header 2 Payload Data 2

At Phenoelit´s A  Ph li ´ attack payload’s IP source is our public IP. This  k  l d’  IP   i     bli  IP  Thi   attack lacks  when that IP isn´t reachable from the internal  y gg LAN and you can be logged.  I use internal IP because we can sniff the responses.

To better improve the attack, find a internal IP not used. 

How To Scan NSA And Cannot Be Traced

We can send a SYN packet with any  destination IP and TCP port (spoofing a  satellite’s routable source IP) , and we can  ll bl d sniff the responses. We can analyze the responses.

OR… We can configure our linux like a  f satellite connected host.

VERY EASY!!!

ƒ

What we need: ƒ An internet connection (Let’s use it as uplink) with 

any technology which let you spoofing. ƒ A receiver, a card….

ƒ

Let’s rock! ƒ Find a satellite IP not used, I ping IPs next to 

another sniffable satellite IP to find a non  responding IP.  We must sniff our ping with the  DVB Card (you must save the packets). DVB Card (you must save the packets) ƒ This will be our IP! Thi   ill b    IP!

ƒ

g Configure Linux to use it.

We need our router ‘s MAC

Configure our dvb interface to receive this IP  f f (I suppose that you have configure the PID…) The IP is the one we have selected and in the  ICMP scan, we must get the destination MAC  h d sniffed.

Here we get  the MAC  address  we must configure  in our DVB interface

I use netmask /32 to avoid routing problems

Now we can configure our Internet interface  f f with the same IP and configure a default  route with a false router setting this one with  h f l h h a static MAC (our real router’s MAC).

IT WORKS!

This is all !!!   Some things you must remember: h b The DNS server must allow request from any  h ll f IP or you must use the satellite ISP DNS  server.

If you have any firewall (iptables) disable it. f f All the things you make can be sniffed by  ll h h k b ff d b others users.

Now attacking GRE is very easy, you only  need to configure your Linux with IP of one of  the routers (the one with the satellite  h h h h ll connection) and configure the tunneling. http://www.google.es/search?rlz=1C1GPEA_en___ES312&sourceid=chro me&ie=UTF‐8&q=configuring+GRE+linux q g g

ƒ

I’m studying the different methods to trace  ff illegal users. (I only have a few ideas).

ƒ

In the future I would like to study the  possibilities of sending data to a satellite via  bl f d d ll Astromodem (DVB‐RCS).

ƒ

Satellite communications are insecure.

ƒ

It can be sniffed. b ff d

ƒ

A lot of attacks can be made, I just talked  l f k b d lk d about only few level 4 and level 3 attacks.

ƒ

With this technology in our sky, an  anonymous connection is possible.

ƒ

Many kinds of Denial of Service are possible.