Attacchi locale - remoto (3)

Transcript

Attacchi locale - remoto (3)
Alberto Orgnahi <[email protected]>
Marco Valleri <[email protected]>
Man in the middle attacks
Cosa sono
„ Come sfruttarli
„ Come ottenerli
„ Come prevenirli
„
Blackhats italia 2002
1
Copyright
Questo insieme di trasparenze è protetto dalle leggi sul copyright e dalle disposizioni dei
trattati internazionali. Il titolo ed i copyright relative alle trasparenze (ivi inclusi, ma non
limitatamente a, ogni immagine, fotografia, animazione, video e testo) sono di proprietà
degli autori indicati.
Le trasparenze possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca,
scolastici ed universitari afferenti al Ministero della Pubblica Istruzione per scopi
istituzionali, non a fine di lucro. Ogni altra utilizzazione o riproduzione (ivi incluse, ma
non limitatamente a, le riproduzioni a mezzo stampa, su supporti magnetici o su reti di
calcolatori) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a
priori, da parte dell’autore.
L’informazione contenuta in queste trasparenze è ritenuta essere accurata alla data della
pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in
progetti di impianti, prodotti, ecc.
L’informazione contenuta in queste trasparenze è soggetta a cambiamenti senza
preavviso. Gli autori non si assumono alcuna responsabilità per il contenuto di queste
trasparenze (ivi incluse, ma non limitatamente a, la correttezza, completezza,
applicabilità ed aggiornamento dell’informazione).
In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste
trasparenze.
In ogni caso questa nota di copyright non deve mai essere rimossa e deve essere
riportata anche in utilizzi parziali.
Blackhats italia 2002
2
Table of contents
A seconda dello scenario in cui ci si trova ad operare l'attacco
man in the middle assume forme diverse:
RETE LOCALE:
- ARP poisoning
- DNS spoofing
- STP mangling
DA RETE LOCALE A REMOTO (attraverso un gateway):
- DNS spoofing
- DHCP spoofing
- ARP poisoning
- ICMP redirection - IRDP spoofing
- route mangling
REMOTO:
- DNS poisoning
- traffic tunneling
Blackhats italia 2002
- route mangling
3
Introduzione
Blackhats italia 2002
4
Definizione m-i-t-m
La tipologia di attacco che va sotto il nome di manin-the-middle consiste nel dirottare il traffico
generato durante la comunicazione tra due host
verso un terzo host (attaccante) il quale fingera’ di
essere l’end-point legittimo della comunicazione.
Connessione:
B
A
Logica
Reale
M
Blackhats italia 2002
5
Ruolo dell’attaccante
Essendo l’attaccante fisicamente in mezzo alla
comunicazione delle due (o piu’) vittime, ricevera’
pacchetti da e verso le stesse.
Si dovra’ preoccupare di inoltrare i pacchetti che
riceve verso la corretta destinazione in modo tale
che risulti trasparente ai due end-point della
comunicazione.
Blackhats italia 2002
6
Tipologie di attacco (1)
Half & Full duplex attack
A seconda della capacita' di riuscire a monitorare
solo uno o entrambi i versi della connessione
l'attacco verra' chiamato mitm half duplex o mitm
full duplex
B
A
HALF-DUPLEX
M
B
A
FULL-DUPLEX
M
Blackhats italia 2002
7
Tipologie di attacco (2)
Transparent attack
Questo attacco nasconde
attaccante alle due vittime.
perfettamente
l’host
192.168.1.1
192.168.1.5
A
B
src: 192.168.1.1
192.168.1.90
M
src: 192.168.1.1
Blackhats italia 2002
8
Tipologie di attacco (3)
Proxy attack
L’attaccante funge da proxy per la connessione
192.168.1.1
192.168.1.5
A
B
src: 192.168.1.1
192.168.1.90
M
src: 192.168.1.90
Blackhats italia 2002
9
Come sfruttare il MITM
Blackhats italia 2002
10
Vantaggi (1)
Sniffing
„
„
„
E’ la cosa piu’ ovvia che si puo’ fare.
Una volta guadagnato il “middle” i pacchetti
transitano
attraverso
la
macchina
dell’attaccante.
Compromette tutti i protocolli in “plain text”
Permette di carpire le password di numerosi
protocolli molto diffusi (telnet, ftp, http, ecc)
Blackhats italia 2002
11
Vantaggi (2)
Hijacking
„
„
„
Semplice da portare a termine
Non e’ di tipo blind (si conoscono
perfettamente i numeri di sequenza della
connessione)
Estrema facilita’ nell’oscurare un lato della
comunicazione e inserirsi al suo posto
Blackhats italia 2002
12
Vantaggi (3)
Injecting
„
„
„
Possibilita’ di aggiungere pacchetti alla
connessione (solo full-duplex)
Modifica dei numeri di sequenza di una
connessione
TCP
per
mantenerla
sincronizzata
Ancora piu’ semplice nella soluzione “proxy
attack”
Blackhats italia 2002
13
Vantaggi (4)
Filtering
„
„
„
Possibilita’ di modificare il payload dei
pacchetti (ricalcolando il checksum dove
necessario)
Creare filtri pattern matching on the fly
Modifica anche della lunghezza del payload
ma solo in regime FULL-DUPLEX
Blackhats italia 2002
14
Esempi di attacchi
Blackhats italia 2002
15
Esempi di attacchi (1)
Command injection
„
Utile nel caso di sessioni telnet con
autenticazione non riproducibile (RSA
token,…)
„
Inserimento comandi verso il server
„
Simulare risposte verso il client
Blackhats italia 2002
16
Esempi di attacchi (2)
Malicious code injection
„
„
Inserimento malicious code in pagine
web, mail ecc (javascript, trojans,
virus, ecc)
Modifica on the fly di file binari in fase
di download (virus, backdoor, ecc)
Blackhats italia 2002
17
Esempi di attacchi (3)
Key exchanging
„
Modifica delle chiavi pubbliche scambiate
all’inizio della connessione. (es SSH1)
start
Server
KEY(rsa)
S-KEY
M
Ekey[S-Key]
Eskey(M)
MITM
S-KEY
Client
KEY(rsa)
Ekey[S-Key]
S-KEY
D(E(M))
D(E(M))
Blackhats italia 2002
18
Esempi di attacchi (4)
Parameters and banner substitution
„
„
E' possibile sostituire i parametri che il server e il
client si scambiano per modificare il comportamento
di entrambi.
Esempio: e’ possibile far si che una connessione
che richiede SSH2 sia stabilita in SSH1.
– Risposte possibili del server:
„
„
SSH-1.99 -- il server supporta ssh1 e ssh2
SSH-1.51 -- il server supporta SOLO ssh1
– Creazione di un filtro che cambia 1.99 con 1.51
„
Possibilita’ di aggirare known_hosts
Blackhats italia 2002
19
Esempi di attacchi (5)
IPSEC Failure
„
„
„
Bloccare il keymaterial scambiato sulla porta
500 UDP
Gli end point credono che l’altro non sia in
grado di usare IPSEC
Se il client e’ configurato in fall-back c’e’
buona probabilita’ che l’utente non si
accorga di comunicare in clear-text
Blackhats italia 2002
20
Tecniche di attacco
IN LOCALE
Blackhats italia 2002
21
Attacchi Locali (1)
ARP poison - introduzione (1)
Stack TCP/IP su ethernet
Dati
Livello Applicazione
TCP
Livello Trasporto
IP
Livello Network
eth
eth IP TCP
Dati
FCS
Livello Data-Link
FCS
Frame trasmesso
Blackhats italia 2002
22
Attacchi Locali (1)
ARP poison - introduzione (2)
„
„
Il protocollo ARP (Address Resolution
Protocol) si preoccupa di mappare i 32 bit di
indirizzo IP (versione 4) in 48 bit di indirizzo
ETH
Due tipi principali di messaggi:
– ARP request (richiesta di risoluzione indirizzo)
– ARP reply (risposta contenente un indirizzo eth)
Blackhats italia 2002
23
Attacchi Locali (1)
ARP poison - introduzione (3)
„
„
Le risposte sono memorizzate nella ARP
CACHE, in modo da limitare il traffico arp
sulla rete
Problemi :
– Il protocollo e’ stateless
– Le ARP reply sono memorizzate in cache anche
se non erano state sollecitate (incrementa
prestazioni ma penalizza la sicurezza)
Blackhats italia 2002
24
Attacchi Locali (1)
ARP poison - attacco (1)
„
„
Sfrutta il comportamento stateless del
protocollo
Se l’attaccante invia una ARP reply
(spoofata) verso un host, questo la
memorizzera’ nella propria arp cache
Blackhats italia 2002
25
Attacchi Locali (1)
ARP poison - attacco (2)
Vittima A
192.168.0.1
01:01:01:01:01:01
Vittima B
ARP cache:
ARP cache:
192.168.0.1
192.168.0.2
01:01:01:01:01:01
03:03:03:03:03:03
03:03:03:03:03:03
02:02:02:02:02:02
192.168.0.2
02:02:02:02:02:02
Attaccante
192.168.0.3
192.168.0.2 is at
03:03:03:03:03:03
03:03:03:03:03:03
Blackhats italia 2002
192.168.0.1 is at
03:03:03:03:03:03
26
Attacchi Locali (1)
ARP poison - attacco (3)
„
„
Le entries della cache sono provviste di
timeout,
quindi
l’attaccante
deve
periodicamente “rinfrescarla”
Una entry non e’ aggiornata se non era gia’
presente nella cache
– Aggirabile tramite un ICMP spoofato
„
Versione modificata dell’attacco contro linux
e solaris
Blackhats italia 2002
27
Attacchi Locali (1)
ARP poison - attacco (4)
„
„
Utile per sniffare su reti connesse
tramite switch
Lo switch opera a livello 2 ed e’ ignaro
dei cambiamenti delle associazioni
nelle arp cache degli host vittime
Blackhats italia 2002
28
Attacchi Locali (1)
ARP poison - tools
„
Ettercap
–
–
–
–
–
„
(http://ettercap.sf.net)
Poisoning
Sniffing
Hijacking
Filtering
SSH sniffing (transparent attack)
Dsniff (http://www.monkey.org/~dugsong/dsniff)
–
–
–
Poisoning
Sniffing
SSH sniffing (proxy attack)
Blackhats italia 2002
29
Attacchi Locali (1)
ARP poison - tracce lasciate
„
„
Le ARP cache delle vittime contengono
il mac address dell’attaccante
Se lo switch non e’ provvisto di portsecurity o se si e’ su HUB, l’attaccante
puo’ spoofare il suo mac address.
Blackhats italia 2002
30
Attacchi Locali (1)
ARP poison - contromisure
„
„
„
„
„
„
NO - Port security sullo switch
SI - passive monitoring (arpwatch)
SI - active monitoring (ettercap)
SI - IDS (rilevano ma non evitano)
SI - ARP entries statiche (evitano)
SI - Secure-ARP (in development)
Blackhats italia 2002
31
Attacchi Locali (2)
DNS spoofing - introduzione (1)
„
Il Domain Name System si occupa di
trasformare i nomi simbolici degli host
in indirizzi IP utilizzabili dal kernel
HOST
www.kernel.org
DNS
204.152.189.113
Blackhats italia 2002
32
Attacchi Locali (2)
DNS spoofing - introduzione (2)
„
„
Il protocollo in realta’ e’ molto piu’
complesso, ma ci limiteremo alla
trattazione delle funzionalita’ che ci
servono per l’attacco.
L’unico campo del pacchetto UDP
(porta 53) che ci interessa e’ l’ID
Blackhats italia 2002
33
Attacchi Locali (2)
DNS spoofing - attacco (1)
„
„
„
„
Intercettare le richieste e memorizzare il
campo ID
Forgiare una falsa risposta con il giusto ID
Spedire al client che ha effettuato la
richiesta.
Intercettare eventuali reverse query (PTR)
Blackhats italia 2002
34
Attacchi Locali (2)
DNS spoofing - attacco (2)
MITM
HOST
serverX.localdomain.it
DNS
10.1.1.1
10.1.1.50
Blackhats italia 2002
35
Attacchi Locali (2)
DNS spoofing - attacco (3)
„
„
In questo caso l’attaccante puo’
fungere da proxy per il server e
rispondere in modo corretto a tutti i
servizi che il client si aspetta di trovare
sul server.
Port forwarding con iptables
Blackhats italia 2002
36
Attacchi Locali (2)
DNS spoofing - tools
„
Ettercap (http://ettercap.sf.net)
– Phantom plugin
„
Dsniff (http://www.monkey.org/~dugsong/dsniff)
– Dnsspoof
„
Zodiac
(http://www.packetfactory.com/Projects/zodiac)
Blackhats italia 2002
37
Attacchi Locali (2)
DNS spoofing - tracce lasciate
„
„
Usando un risolutore di indirizzi
diverso, ci si puo’ accorgere della
differenza di risposte
L’IP
dell’attaccante
e’
presente
all’interno delle risposte DNS
Blackhats italia 2002
38
Attacchi Locali (2)
DNS spoofing - contromisure
„
„
„
SI - individuare risposte multiple (IDS)
SI - usare lmhost o host file per
risoluzioni statiche
SI - DNSSEC (risoluzione criptata)
Blackhats italia 2002
39
Attacchi Locali (3)
STP mangling - introduzione (1)
„
„
Il protocollo di spanning tree (802.1d) e' un
protocollo di layer 2 appositamente
progettato per evitare "loop" di pacchetti
dove siano presenti percorsi ridondati
Pacchetti con MAC sorgente non presente
nelle tabelle dello switch, sono forwardati su
tutte le porte. Questo potrebbe portare a
loop di forwarding
Blackhats italia 2002
40
Attacchi Locali (3)
STP mangling - introduzione (2)
„
„
„
Per evitare loop nella topologia della rete, gli switch
si costruiscono un albero di copertura (spanning
tree) attraverso lo scambio di BPDU (bridge
protocol data unit)
Elezione di un “root switch”
Per ogni switch si designano le porte attraverso le
quali si raggiunge la root e quelle verso i suoi
discendenti dell’albero (designated port)
Blackhats italia 2002
41
Attacchi Locali (3)
STP mangling - introduzione (3)
„
„
„
Ogni pacchetto contiene una priorita’ che
sara’ utilizzata per l’elezione della root.
La priorita’ e’ rappresentata da un numero
formato da 2 byte + il mac address dello
switch (minore e’ questo numero maggiore
e’ la priorita’)
Le BPDU sono continuamente scambiate per
rilevare cambiamenti nella rete
Blackhats italia 2002
42
Attacchi Locali (3)
STP mangling - attacco
„
„
„
„
Non e’ un vero e proprio m-i-t-m attack. Permette
solo di ricevere traffico “unmanaged”
Si forgiano BPDU con priorita’ molto alta (fingendoci
per la nuova root)
Gli switch ricostruiranno l’albero per adattarsi alla
nostra presenza
Cercare di saturare le tabelle dello switch
Blackhats italia 2002
43
Attacchi Locali (3)
STP mangling - tools
„
Ettercap (http://ettercap.sf.net)
– Lamia plugin
Blackhats italia 2002
44
Attacchi Locali (3)
STP mangling - tracce lasciate
„
Il Mac address dell’attaccante
presente nello stato dello switch
Blackhats italia 2002
e’
45
Attacchi Locali (3)
STP mangling - contromisure
„
„
„
„
SI - Disabilitare STP sulle VLAN prive di loop
(sconsgiliato da CISCO)
SI - Root Guard (se l'apparato lo supporta)
impedisce che determinate porte diventino "root
port“, oppure disabilitare l’STP su queste porte.
SI - Settare le porte connesse a workstations come
"portfast", e attivare BPDU Guard su queste porte
(se l'apparato lo supporta).
NO - Il portfast da solo NON e' sufficiente.
Blackhats italia 2002
46
Tecniche di attacco
DA LOCALE A REMOTO
Blackhats italia 2002
47
Attacchi locale - remoto (1)
ARP poisoning - introduzione
„
„
Per raggiungere una destinazione
all’esterno della LAN un host deve
conoscere l’IP del gateway.
L’host manda una ARP request per l’IP
del gateway
Blackhats italia 2002
48
Attacchi locale - remoto (1)
ARP poisoning - attacco
„
„
„
Simile all’attacco locale.
Il gateway e’ un host locale, quindi
puo’ essere poisonato come qualsiasi
altro host
In presenza di “proxy arp” gli host
remoti sono considerati locali
Blackhats italia 2002
49
Attacchi locale - remoto (1)
ARP poisoning - contromisure
„
SI - entry statica del gateway su tutti
gli host
Blackhats italia 2002
50
Attacchi locale - remoto (2)
DNS spoofing - introduzione
„
„
„
Le richieste saranno per host non
locali, verso DNS non locali.
Tecnica identica a quella per gli host
locali.
Abilitare il flag “autoritative”
evitare richieste iterative.
Blackhats italia 2002
per
51
Attacchi locale - remoto (2)
DNS spoofing - contromisure
„
„
„
SI - individuare risposte multiple (IDS)
SI - usare lmhost o host file per
risoluzioni statiche
SI - DNSSEC (risoluzione criptata)
Blackhats italia 2002
52
Attacchi locale - remoto (3)
DHCP spoofing - introduzione
„
Il servizio DHCP e' utilizzato per
l'assegnazione dinamica di una serie di
parametri per la connettivita' di rete:
– Indirizzo IP
– DNS
– Default route
Blackhats italia 2002
53
Attacchi locale - remoto (3)
DHCP spoofing - attacco (1)
„
„
Intercattando
una
richiesta
(broadcast)
dhcp
e'
possibile
rispondere prima del vero server.
In questo modo possiamo modificare i
parametri di :
– Default gateway
– DNS
Blackhats italia 2002
54
Attacchi locale - remoto (3)
DHCP spoofing - attacco (2)
„
„
Default gateway: assegnando l'indirizzo IP
dell'attaccante come default gateway, tutto
il traffico verso l'esterno della lan passera'
da esso
DNS: assegnando l'indirizzo IP
dell'attaccante come DNS, tutte le richieste
di risoluzione dei nomi verranno fatte a lui e
sara' quindi in grado di portare un attacco
simile a quello visto in precedenza (DNS
spoofing)
Blackhats italia 2002
55
Attacchi locale - remoto (3)
DHCP spoofing - tools
„
Non e' necessario un tool apposito ma
bastera' configurare la macchina
attaccante
come
DHCP
server,
installando ad esempio dhcpd.
Blackhats italia 2002
56
Attacchi locale - remoto (3)
DHCP spoofing - tracce lasciate
„
L‘indirizzo IP dell'attaccante
configurazioni del client.
Blackhats italia 2002
nelle
57
Attacchi locale - remoto (3)
DHCP spoofing - contromisure
„
La
migliore
contromisura
e'
l'attenzione dell'utente che si vedra'
porbabilmente arrivare piu' di una
risposta dhcp e potra' controllare
"manualmente" alla ricerca di strane o
inaspettate configurazioni assegnate
Blackhats italia 2002
58
Attacchi locale - remoto (4)
ICMP redirect - introduzione (1)
„
„
Esaminiamo
solo
il
comando
REDIRECT del protocollo ICMP
Il comando redirect serve ad avvisare
un host che esiste una rotta piu’ breve
per la destinazione richiesa e questa
rotta passa per il gateway indicato nel
pacchetto ICMP
Blackhats italia 2002
59
Attacchi locale - remoto (4)
ICMP redirect - introduzione (2)
R
R
T
3
G1
2
G2
ICMP redirect to G2
LAN
H
Blackhats italia 2002
60
Attacchi locale - remoto (4)
ICMP redirect - attacco (1)
„
„
Forgiare un ICMP redirect spoofando la
sorgente dello stesso come se fossimo il
gateway originale e con destinazione della
redirizione l’host attaccante.
E’ necessario sniffare il pacchetto originario
poiche’ nel REDIRECT ne devono essere
inclusi 64 bit + header IP (non sempre
necessario: a seconda dell’OS)
Blackhats italia 2002
61
Attacchi locale - remoto (4)
ICMP redirect - attacco (2)
„
I pacchetti di tipo REDIRECT vengono presi in
considerazione dagli host a seconda del loro
sistema operativo:
– Windows 9x accetta i REDIRECT di default e aggiunge una
entry (di tipo host) nelle sue tabelle di routing.
– Linux accetta di default i REDIRECT in alcune distribuzioni
(vedere
in
proposito
/proc/sys/net/ipv4/<nome
interfaccia>/accept_redirects)
„
Le rotte aggiunte sono comunque temporanee.
Blackhats italia 2002
62
Attacchi locale - remoto (4)
ICMP redirect - tools
„
IRPAS icmp_redirect di Phenoelit
(http://www.phenoelit.de/irpas/)
„
icmp_redir di Yuri Volobuev
Blackhats italia 2002
63
Attacchi locale - remoto (4)
ICMP redirect - tracce lasciate
„
L’indirizzo
IP
dell’attaccante
presente nelle rotte dell'host
e’
– e' possibile spoofarlo e far comunque
arrivare a lui i pacchetti rispondendo alle
ARP request per l'indirizzo
Blackhats italia 2002
64
Attacchi locale - remoto (4)
ICMP redirect - contromisure
„
SI - Disabilitare i REDIRECT
– ma cosi' facendo ci potebbero essere dei
cali di prestazioni nella rete (i pacchetti
fanno piu’ HOP).
„
NO - Linux permette di attivare l'opzione
"secure redirect", che non risulta una
protezione efficace
Blackhats italia 2002
65
Attacchi locale - remoto (5)
IRDP spoofing - introduzione (1)
„
„
IRDP (ICMP Router Discovery Protocol) e' un
protocollo basato su ICMP, utilizzato per
l'assegnazione automatica agli host di un
gateway(router).
Ci sono due tipi di messaggi previsti dal protocollo:
– "Router Advertisements"
– "Router Solicitations"
„
Periodicamente, ogni router manda in multicast
degli advertisment per annunciare il suo indirizzo IP
Blackhats italia 2002
66
Attacchi locale - remoto (5)
IRDP spoofing - introduzione (2)
„
„
„
Ogni advertisment contiene un "livello di
preferenza“ e un campo “lifetime”.
Nel caso un host riceva piu' advertisment da
diverse sorgenti, si dovrebbe scegliere
quello con il livello piu' elevato
Il "lifetime" sta ad indicare il tempo per cui
l'host deve conservare quella rotta.
Blackhats italia 2002
67
Attacchi locale - remoto (5)
IRDP spoofing - attacco
„
Forgiare degli "advertisment" annunciandoci come
router e settando i campi "livello di preferenza" e
"lifetime" al massimo valore consentito
–
–
–
–
„
Windows 9x
Windows NT
Windows 2000
Linux
accetta IRDP
usa IRDP al boot
ignora IRDP
ignora IRDP
Si puo' rendere l'attacco piu' efficace orgiando degli
ICMP Host Unreachable impersonando l'attuale
router di default.
Blackhats italia 2002
68
Attacchi locale - remoto (5)
IRDP spoofing - tools
„
IRPAS di Phenoelit
(http://www.phenoelit.de/irpas/)
Blackhats italia 2002
69
Attacchi locale - remoto (5)
IRDP spoofing - tracce lasciate
„
L’indirizzo IP dell’attaccanete
presente nelle rotte dell'host
e’
– e' possibile spoofarlo e far comunque
arrivare a noi i pacchetti rispondendo alle
ARP request per l'indirizzo spoofato.
Blackhats italia 2002
70
Attacchi locale - remoto (5)
IRDP spoofing - contromisure
„
SI - Disabilitare IRDP sugli hosts se il
sitema operativo lo permette.
Blackhats italia 2002
71
Attacchi locale - remoto (6)
ROUTE mangling - introduzione (1)
„
„
„
Nel caso in cui un router ha piu' rotte possibili per
una stessa destinazione, sceglie quella col "peso"
maggiore.
Il peso viene determinato in base a vari fattori
come le metriche proposte dai vari protocolli di
routing, e il tipo di protocollo stesso che ha
proposto la rotta. Piu' il protocollo e' "fidato",
maggiore sara' il peso delle rotte che propone.
Le rotte statiche hanno generalmente un "grosso"
peso.
Blackhats italia 2002
72
Attacchi locale - remoto (6)
ROUTE mangling - introduzione (2)
„
„
La prima cosa che viene controllata nella
scelta di una rotta e' (in generale) la
netmask.
Questo perche' piu' la netmask e' grande
(cioe’ restrittiva) e piu' vuol dire che quella
rotta e' specifica per l'host che vogliamo
raggiungere e non per una piu' generica
subnet.
Blackhats italia 2002
73
Attacchi locale - remoto (6)
ROUTE mangling - attacco (1)
INTERNET
GW
AT
H
Forgiare dei pacchetti per GW annunciandoci come router con
un ottima metrica per un determinato host (o classe o subnet).
Specificare una netmask grande per “battere” rotte di peso
maggiore.
Blackhats italia 2002
74
Attacchi locale - remoto (6)
ROUTE mangling - attacco (2)
„
„
„
Quando H mandera' dei pacchetti per l'host per cui
l’ATTACKER si e’ annunciato come rotta
preferenziale, questi arriveranno a GW.
GW sara' convinto che il modo piu' veloce per
raggiungere quell'host e' attraverso ATTACKER
GW mandera' ad H degli ICMP redirect dicendogli di
usare ATTACKER come gateway per i pacchetti
successivi.
Blackhats italia 2002
75
Attacchi locale - remoto (6)
ROUTE mangling - attacco (3)
„
Il problema a questo punto e' trovare un modo per
far arrivare i pacchetti al legittimo destinatario. GW,
infatti, e’ convinto di poter raggiungere l’host
attraverso l’attacker.
Tunnel
AT2
D
INTERNET
GW
AT
H
Blackhats italia 2002
76
Attacchi locale - remoto (6)
ROUTE mangling - attacco (4)
„
Possibilita’ di usare multipath routing o QoS
Blackhats italia 2002
77
Attacchi locale - remoto (6)
ROUTE mangling - tools
„
IRPAS di Phenoelit
(http://www.phenoelit.de/irpas/)
„
Nemesis
(http://www.packetfactory.net/Projects/nemesis/)
Blackhats italia 2002
78
Attacchi locale - remoto (6)
ROUTE mangling - tracce lasciate
„
L’indirizzo IP dell’attaccante nelle
tabelle del router che sono comunque
temporanee
– E’ possibile spoofarlo come nei casi
precedenti.
Blackhats italia 2002
79
Attacchi locale - remoto (6)
ROUTE mangling - contromisure
„
„
„
SI - Disabilitare i protocolli di routing
dinamico che sono inutili in uno scenario di
questo tipo
SI
Mettere
delle
ACL
esplicite
sull'interfaccia interna del router che
blocchino gli "update" indesiderati.
SI - Abilitare l'autenticazione MD5 nei
protocolli che la supportano
Blackhats italia 2002
80
Tecniche di attacco
IN REMOTO
Blackhats italia 2002
81
Attacchi in remoto (1)
DNS poisoning - introduzione (1)
Quando il DNS riceve una richiesta ci possono
essere 3 possibilita':
1. Il DNS e' "autoritativo" per il dominio a cui il nome
richiesto appartiene. (risposta autoritativa)
2. Il DNS non e' "autoritativo" per il dominio richiesto
ma ha nella cache la coppia <nome simbolico,
indirizzo IP> in seguito ad una precedente
richiesta. (risposta non autoritativa)
Blackhats italia 2002
82
Attacchi in remoto (1)
DNS poisoning - introduzione (2)
3. Il DNS non e' "autoritativo" per il dominio
e non ha in cache l'indirizzo IP della
macchina richiesta.
„
„
La query e' di tipo ricorsivo. (risponde
risolvendo da solo l’host richiesto)
La query e' di tipo iterativo. (risponde fornendo
l’indirizzo del DNS autoritativo per il dominio di
primo livello dell’host da risolvere)
Blackhats italia 2002
83
Attacchi in remoto (1)
DNS poisoning - attacco (1)
„
ATTACCO DEL PRIMO TIPO
„
L’attacco ha come fine quello di mettere nella cache del DNS
una coppia <indirizzo IP, nome simbolico>
„
Si effettua una richiesta al DNS vittima
„
Si spoofa la risposta che dovrebbe arrivare dal DNS
autoritativo (i pacchetti sono UDP)
„
Nella risposta forgiata dobbiamo inserire l'ID corretto della
transazione iniziata dal DNS vittima (brute force, semi-blind
guessing)
Blackhats italia 2002
84
Attacchi in remoto (1)
DNS poisoning - attacco (2)
„
ATTACCO DEL SECONDO TIPO
„
Sfrutta la “feature” del dynamic update di alcuni DNS
„
Inviando richieste di tipo “update” e’ possibile aggiungere o
eliminare alcune entries per cui il DNS e’ autoritativo
„
ATTACCO DEL TERZO TIPO
„
abusare del sistema di assegnazione dei domini (ad esempio
richiedendo un spostamento di dominio a Network Solutions
Inc.)
Blackhats italia 2002
85
Attacchi in remoto (1)
DNS poisoning - tools
„
ADMIdPack
„ Zodiac
(http://www.packetfactory.com/Projects/zodiac)
„
per il dynamic update:
Net::DNS::Update
Blackhats italia 2002
86
Attacchi in remoto (1)
DNS poisoning - tracce lasciate
„
„
Come nel caso del DNS spoofing, gli
host manderanno tutti i pacchetti della
connessione verso l'indirizzo IP della
macchina attaccante.
Il DNS conservera' traccia di tale IP
per tutto il tempo di latenza dell'entry
nella cache.
Blackhats italia 2002
87
Attacchi in remoto (1)
DNS poisoning - contromisure
„
NO - restringere il dynamic update a range di IP (possono essere
spoofati)
„
SI - Usare DNS con generazione casuale dei transaction ID (Bind v9)
„
SI - DNSSec (implementato in Bind v9) permette la firma digitale dei
dati.
Ovviamente anche il resolver deve supportare questa
estensione.
„
SI - Evitare di rendere pubblico il DNS che si utilizza "in casa" per la
risoluzione di nomi non appartenenti alla propria zona.
„
SI - Eliminare il dynamic update o rendere pubblico un semplice
forwarder che inoltra le richieste ad un altro name server con questa
feature, non raggiungibile dall'esterno.
Blackhats italia 2002
88
Attacchi in remoto (2)
Traffic Tunneling - introduzione (1)
„
Nel seguito della spiegazione faremo riferimento ai router
CiscoIOS e al metodo di incapsulamento IP su GRE
„
Un tunnel e' instaurato tra due "end point" detti tunnel
broker.
„
„
Su ognuno dei due endpoint, il tunnel e' associato ad un
interfaccia virtuale con un suo indirizzo (ad esempio Tunnel0),
che deve essere legata ad un interfaccia reale (ad esempio
Serial0).
Ogni volta che il router deve inoltrare un pacchetto IP che ha
come “next hop” un indirizzo che cade nella subnet dell'IP
address dell'interfaccia di tunnel, il pacchetto viene
incapsulato e spedito all’altro endpoint
Blackhats italia 2002
89
Attacchi in remoto (2)
Traffic Tunneling - introduzione (2)
192.168.0.*
192.168.0.1
Router 1
LAN 1
192.168.2.1
195.103.31.193
INTERNET
192.168.2.2
LAN 2
192.168.1.*
195.103.31.194
Router 2
192.168.1.1
Blackhats italia 2002
90
Attacchi in remoto (2)
Traffic Tunneling - attacco
Server
Router 1
Tunnel GRE
INTERNET
Client
Fake host
Attacker
Gateway
Blackhats italia 2002
91
Attacchi in remoto (2)
Traffic Tunneling - tools
„ Ettercap (http://ettercap.sf.net)
– Zaratan plugin
„
TunnelX
(http://www.phrack.com)
Blackhats italia 2002
92
Attacchi in remoto (2)
Traffic Tunneling - tracce lasciate
„
La traccia piu' evidente e’ senza
dubbio la riconfigurazione del router
(!!!).
Blackhats italia 2002
93
Attacchi in remoto (2)
Traffic Tunneling - contromisure
„
„
SI - Password forti sul router per
l'accesso a qualsiasi livello.
SI - Disabilitare o proteggere con
community forti l'accesso in scrittura
via snmp.
Blackhats italia 2002
94
Attacchi in remoto (3)
ROUTE mangling - introduzione (1)
„
„
„
Dal punto di vista del routing internet e’
divisa in Autonomous System (AS) connessi
tra loro attraverso le backbone
Si adottano differenti politiche all’interno
dell’AS e all’esterno
Gli AS sono identificati dal loro Border
Gateway quando i pacchetti viaggiano sulla
backbone
Blackhats italia 2002
95
Attacchi in remoto (3)
ROUTE mangling - introduzione (2)
„
Distance Vector
– Ogni router mantiene una tabella contenente la migliore
distanza conosciuta per ogni destinazione e quale canale
utilizzare per raggiungerla.
– Queste tabelle sono aggiornate scambiando le informazioni
coi vicini.
– Scarsa velocita' di convergenza
– problema del "conteggio all'infinito" (in parte ovviabile con
lo split-horizon).
Blackhats italia 2002
96
Attacchi in remoto (3)
ROUTE mangling - introduzione (3)
„
Link State
– I router scambiano solo informazioni sui vicini e
non sulle varie destinazioni
– Ogni router conosce l'intera topologia di rete o
almeno ne ha una sua visione.
– Controlli per evitare loop, basati sull'utilizzo di
campi come "numero di sequenza" e "eta'".
Blackhats italia 2002
97
Attacchi in remoto (3)
ROUTE mangling - introduzione (4)
„
IGRP (Interior Gateway Routing Protocol)
– Non supporta alcun tipo di autenticazione.
– Supporta diverse metriche: delay, bandwidth, reliability, load e
hop count.
– Non supporta le netmask. No host route.
– Protocollo di tipo distance vector, i pacchetti possono contenere
anche solo la rotta che vogliamo "aggiungere" o "modificare".
– Necessita’ di mantenere le rotte “vive”.
Blackhats italia 2002
98
Attacchi in remoto (3)
ROUTE mangling - introduzione (5)
„
EIGRP (Extended Interior Gateway Routing Protocol)
– Tipo Distance-Vector ma con delle neighbor relationships
– Manda soltanto i cambiamenti di topologia nei suoi
updates.
– Supporta le netmasks.
– Implementa il sequencing
– permette l'utilizzo di una autenticazione crittografica delle
rotte (MD5).
Blackhats italia 2002
99
Attacchi in remoto (3)
ROUTE mangling - introduzione (6)
„
RIP (Routing Information Protocol) over UDP
– L'unica metrica supportata e' l'hop count.
– Non e' adatto a reti di grandi dimensioni
– Non supporta la distinzione degli AS.
– La v1 non permette di specificare la netmask delle rotte
(netmask fissata dalla classe).
– La v2 supporta l'autenticazione con password in chiaro (16
caratteri max) o le signature MD5 (solo per Cisco)
Blackhats italia 2002
100
Attacchi in remoto (3)
ROUTE mangling - introduzione (7)
„
OSPF (Opens Shortest Path First)
– E' un protocollo di tipo link state.
– Puo' essere usato come IGP o anche come EGP.
– Supporta le subnet netmasks.
– nessuna autenticazione o autenticazioni in cleartext (alcune implementazioni con MD5).
Blackhats italia 2002
101
Attacchi in remoto (3)
ROUTE mangling - introduzione (8)
„
BGP4 (Border Gateway Protocol)
over TCP
– protocollo usato principalmente per il routing fra gli AS
– protocollo di tipo distance vector, ma permette l'enumerazione di
tutti gli AS che un pacchetto deve attraversare per raggiungere
ogni destinazione
– Non usa le metriche per le rotte, ma una serie di attributi per
discriminarle.
– Supporta le netmasks.
– BGP non ha un suo metodo di sequencing, ma si appoggia a
quello del TCP.
Blackhats italia 2002
102
Attacchi in remoto (3)
ROUTE mangling - attacco (1)
„
„
L’attacco mira a dirottare il traffico tra
le vittime A e B
Raccogliere informazioni dall’ attaccante
verso A e verso B:
– traceroute
– portscanning
– protoscanning
Blackhats italia 2002
103
Attacchi in remoto (3)
ROUTE mangling - attacco (2)
„
Scenario 1 a
(IGRP all’interno dello stesso AS)
A
B
L’attaccante si annuncia come GW
Blackhats italia 2002
104
Attacchi in remoto (3)
ROUTE mangling - attacco (3)
„
Scenario 1 b
(IGRP - all’interno dello stesso AS)
A
B
Blackhats italia 2002
105
Attacchi in remoto (3)
ROUTE mangling - attacco (4)
„
Scenario 2 a
(il traffico non passa dall’AS)
AS 1
AS 2
BGP
BG 1
BG 2
BG 3
AS 3
Blackhats italia 2002
RIP
106
Attacchi in remoto (3)
ROUTE mangling - attacco (5)
„
Scenario 2 b
(il traffico non passa dall’AS)
AS 1
BG 4
AS 2
BG 5
BG 1
BG 2
BG 3
AS 3
Blackhats italia 2002
107
Attacchi in remoto (3)
ROUTE mangling - tools
„
„
IRPAS di Phenoelit
(http://www.phenoelit.de/irpas/)
Nemesis
(http://www.packetfactory.net/Projects/nemesis/)
Blackhats italia 2002
108
Attacchi in remoto (3)
ROUTE mangling - tracce lasciate
„
Non ci sono tracce evidenti dell’attacco
Blackhats italia 2002
109
Attacchi in remoto (3)
ROUTE mangling - contromisure
„
SI - La contromisura piu' efficace e' senza
dubbio abilitare un’autenticazione forte nei
protocolli che la supportano
Blackhats italia 2002
110
Conclusioni
„
La sicurezza di una nostra comunicazione e’ affidata
– ad una corretta configurazione del client (per evitare ad esempio
ICMP Redirect, ARP Poisoning etc.)
– all'infrastruttura del nostro interlocutore (es. DNS dynamic
update),
– alla robustezza di apparati di "terzi", su cui non possiamo avere
nessun tipo di controllo e di garanzia (es. Tunnelling e Route
Mangling).
„
Il modo migliore per proteggere i nostri dati che viaggiano in
rete e'quindi l'utilizzo corretto di suite crittografiche sicure
–
–
–
–
sia dal lato client sia dal lato server
per la protezione a livello rete (es. IPSec)
a livello trasporto (es. SSLv3)
a livello applicativo (es. PGP).
Blackhats italia 2002
111
– Marco Valleri
– Alberto Ornaghi
„
<[email protected]>
<[email protected]>
http://www.blackhats.it/papers/Paper-mitm.pdf
Contacts:
[email protected]
http://www.blackhats.it
Blackhats italia 2002
112