Sicurezza e intercettazione dei dati nelle reti LAN
Rosario Lombardo
2
Obiettivi
Capire che i protocolli su cui si basano le reti LAN sono intrinsecamente insicuri
Capire come un cracker (un hacker ‘cattivo’) può sfruttare ciò per “sniffare” (osservare) i nostri
pacchetti sulla rete o farsi scambiare per una
macchina che gode della nostra fiducia, al fine di ottenere informazioni riservate, o password
Analizzare in particolare i problemi di sicurezza del protocollo ARP
Capire che i metodi di attacco possono essere anche utilizzati in scenari legali
Assistere ad alcune simulazioni ‘live’ di attacco
Analizzare le principali contromisure e precauzioni
3
Sommario:
Teoria…
Insicurezza dei protocolli delle rete LAN
Intercettazione dei dati in reti con HUB
I problemi dell’intercettazione in reti fully- switched
Il MAC flooding, ovvero: sfruttiamo le debolezze degli switch
Cos’è un attacco man-in-the-middle (MITM)
Il protocollo ARP
L’ARP Poisoning, ovvero: sfruttiamo le debolezze di ARP
Contromisure
4
Sommario:
…Computer Forensics…
Cos’è la Computer Forensics
Come utilizzare quanto imparato per scopi legali
Alcuni scenari di intercettazione
5
Sommario:
…pratica!!
Presentazione dei software Wireshark, Ettercap e Cain
Dimostrazione di un attacco di tipo man-in- the-middle basato su ARP Poisoning
Dimostrazione di sniffing di password in una connessione protetta HTTPS
Dimostrazione di sniffing di una
conversazione VoIP
6
Sommario:
Tips&Tricks
Sicurezza fisica dei dispositivi
Sicurezza ai livelli 2 e 3 ISO/OSI
IDS (Intrusion detection system)
Un po’ di teoria…
Ovvero: analizziamo il problema e vediamo come funzionano i
principali attacchi alle reti LAN
8
I protocolli alla base delle reti LAN sono insicuri
Internet nasce a partire da ARPANET, in un un'epoca in cui la possibilità di scambiarsi dati era considerata più importante rispetto alla
sicurezza degli stessi
Internet - e le WAN - si basano su TCP/IP, suite di protocolli intrinsecamente insicura
Estreme difficoltà di implementazione delle funzionalità di sicurezza a causa dello scotto dettato della necessità di compatibilità con gli apparati esistenti (cfr. ATM)
Le reti LAN mutuano i protocolli di rete delle reti WAN e di Internet, intrinsecamente insicuri
9
Intercettazione dei dati in reti LAN
con HUB/repeater
10
Intercettazione dei dati in reti LAN con HUB/repeater
L’HUB è un dispositivo che non fa altro che replicare su tutte le porte ciò che riceve su ogni porta
Chiunque si colleghi ad una porta
dell’HUB può ‘sniffare’ tutti i pacchetti in
transito sull’intera rete, anche se non sono diretti a lui
Nessuno può accorgersi che qualcuno sta
‘sniffando’ pacchetti diretti a terzi
11
Intercettazione dei dati in reti
fully-switched
12
Intercettazione dei dati in reti fully-switched
A differenza di quanto farebbe un HUB, uno switch inoltra i pacchetti in arrivo da una
qualsiasi delle sue porte soltanto alla porta a cui è collegato il nodo destinatario del pacchetto
Una ‘sonda’ collegata ad una delle porte dello switch non può ‘sniffare’ il traffico che non è diretto a lei
Le reti fully-switched sembrano quindi offrire maggiore sicurezza rispetto alle reti con HUB
13
Intercettazione dei dati in reti
fully-switched
14
MAC flooding
Letteralmente: “inondazione di indirizzi MAC”
E’ una delle tecniche usate per effettuare lo sniffing su switched LAN.
Il MAC flooding permette di sfruttare una debolezza nel funzionamento degli switch, basata sul fatto che la
forwarding table - la memoria con cui questi dispositivi tengono traccia dei MAC address e della relativa porta associata - ha risorse finite.
Quando questa viene inondata da MAC address, che ne esauriscono le risorse, lo switch entra in uno stato detto fail open e invia il traffico a tutte le porte, proprio come se fosse un HUB, rendendo possibile lo sniffing.
15
MAC flooding
Switch
Attaccante
MAC 00:12:13:14:15:16 (MAC fasullo) Client A
MAC
00:1C:24:12:AA:36
Client B MAC
00:1C:24:12:A3:22
1 2 3 4 5
Client C MAC
00:1C:24:12:C4:3A
Client D MAC
00:1C:24:12:B3:11
MAC Porta Age
..:C4:3A 4 1 ..:A3:22 2 2 ..:AA:36 1 3 ..:B3:11 5 4
16
MAC flooding
Switch
Attaccante
MAC 00:12:13:14:15:16 (MAC fasullo) Client A
MAC
00:1C:24:12:AA:36
Client B MAC
00:1C:24:12:A3:22
1 2 3 4 5
Client C MAC
00:1C:24:12:C4:3A
Client D MAC
00:1C:24:12:B3:11
MAC Porta Age
..:15:16 3 1 ..:C4:3A 4 2 ..:A3:22 2 3 ..:AA:36 1 4 ..:B3:11 5 5
17
MAC flooding
Switch
Attaccante
MAC 00:12:13:14:15:17 (MAC fasullo) Client A
MAC
00:1C:24:12:AA:36
Client B MAC
00:1C:24:12:A3:22
1 2 3 4 5
Client C MAC
00:1C:24:12:C4:3A
Client D MAC
00:1C:24:12:B3:11
MAC Porta Age
..:15:17 3 1 ..:15:16 3 2 ..:C4:3A 4 3 ..:A3:22 2 4 ..:AA:36 1 5 ..:B3:11 5 6
MACflooding
L’attaccante invia pacchetti con SSAP sempre diverso
Non conosco il MAC mittente, lo inserisco in tabella
associandolo alla porta 3
18
MAC flooding
Switch
Attaccante
MAC 00:12:13:14:15:18 (MAC fasullo) Client A
MAC
00:1C:24:12:AA:36
Client B MAC
00:1C:24:12:A3:22
1 2 3 4 5
Client C MAC
00:1C:24:12:C4:3A
Client D MAC
00:1C:24:12:B3:11
MAC Porta Age
..:15:18 3 1 ..:15:17 3 2 ..:15:16 3 3 ..:C4:3A 4 4 ..:A3:22 2 5 ..:AA:36 1 6 ..:B3:11 5 7
MACflooding
19
MAC flooding
Switch
Attaccante
MAC 00:12:13:14:15:19 (MAC fasullo) Client A
MAC
00:1C:24:12:AA:36
Client B MAC
00:1C:24:12:A3:22
1 2 3 4 5
Client C MAC
00:1C:24:12:C4:3A
Client D MAC
00:1C:24:12:B3:11
MAC Porta Age
..:15:19 3 1 ..:15:18 3 1 ..:15:17 3 2 ..:15:16 3 3 ..:C4:3 4 4 ..:A3:22 2 5 ..:AA:36 1 6
MACflooding
20
MAC flooding
! Switch in FAIL-OPEN !
Attaccante
MAC 00:12:13:14:15:XX (MAC fasullo) Client A
MAC
00:1C:24:12:AA:36
Client B MAC
00:1C:24:12:A3:22
1 2 3 4 5
Client C MAC
00:1C:24:12:C4:3A
Client D MAC
00:1C:24:12:B3:11
MAC Porta Age
..:15:23 3 1 ..:15:22 3 2 ..:15:21 3 3 ..:15:20 3 4 ..:15:19 3 5 ..:15:18 3 6 ..:15:17 3 7
MACflooding
Non ho in tabella questo MAC. Inoltro il
pacchetto a tutti…
SNIFF
Devo parlare …
con B
21
MAC flooding
Quando lo switch entra in modalità fail open,
chiunque può intercettare tutte le comunicazioni che attraversano lo switch, avendo accesso al traffico che non dovrebbe nemmeno transitare sul proprio segmento di rete.
Talvolta alcuni switch non entrano in fail open ma in fail close bloccando così tutte le porte e
quindi tutto il traffico dell'intero segmento di rete.
Uno dei più famosi tool che genera un MAC flooding è Ettercap.
Problemi: elevato traffico di rete attacco facilmente individuabile
22
Il protocollo ARP
ARP è un protocollo di servizio, utilizzato in una rete di calcolatori che utilizzi il protocollo di rete IP sopra una rete di livello datalink che supporti il servizio di
broadcast.
Per inviare un pacchetto IP ad un calcolatore della stessa sottorete, è necessario incapsularlo in un pacchetto di livello datalink, che dovrà avere come
indirizzo destinazione il MAC address del calcolatore a cui lo si vuole inviare. ARP viene utilizzato per ottenere questo indirizzo.
Se il pacchetto deve essere inviato ad un calcolatore di un'altra sottorete, ARP viene utilizzato per scoprire il MAC address del gateway.
23
Il protocollo ARP
L'host che vuole conoscere il MAC address di un altro host, di cui conosce l'indirizzo IP, invia in broadcast una richiesta ARP (ARP-request), generata dal protocollo IP, contenente l'indirizzo IP dell'host di destinazione ed il
proprio indirizzo MAC.
Tutti i calcolatori della sottorete ricevono la richiesta. In ciascuno di essi il protocollo ARP verifica se viene
richiesto il proprio indirizzo IP. L'host di destinazione che riconoscerà il proprio IP nel pacchetto di ARP-request, provvederà ad inviare una risposta (ARP-reply) in
singlecast all'indirizzo MAC sorgente, contenente il proprio MAC.
In questo modo, ogni host può scoprire l'indirizzo fisico degli altri host sulla stessa sottorete.
24
Il protocollo ARP
25
Il protocollo ARP
26
Il protocollo ARP
27
Il protocollo ARP
28
Il protocollo ARP
In ogni calcolatore, il protocollo ARP tiene traccia delle risposte ottenute in una
apposita cache, per evitare di utilizzare ARP prima di inviare ciascun pacchetto.
Le voci della cache ARP vengono
cancellate ogni 15 minuti.
29
Le debolezze di ARP
Il protocollo ARP non prevede meccanismi per autenticare le risposte ricevute, quindi l'host che invia una richiesta "si fida" che la risposta arrivi dal "legittimo" proprietario dell'indirizzo IP
richiesto, e identifica quell'indirizzo IP con il MAC address che ha ricevuto.
Questo crea le premesse per numerose
vulnerabilità. In particolare vedremo come sia possibile sfruttarle per effettuare un attacco man-in-the-middle in una LAN fully-switched.
30
Attacchi man-in-the-middle
Supponiamo di volerci frapporre in maniera
fraudolenta in una comunicazione tra due nodi A e B, il tutto in maniera invisibile ai due nodi
Questo tipo di attacco è detto man-in-the-middle
Client A Client B
Attaccante
X
SNIFF
…
Sto parlando
con B
Sto parlando
con A
31
Attacchi man-in-the-middle
Una volta effettuato un attacco MITM è possibile:
Fare sniffing di pacchetti
Fare injection di pacchetti
Fare key manipulation
Fare un downgrade attack
Fare filtering dei pacchetti
Packet Injection:
Aggiunta di pacchetti ad una connessione TCP già stabilita.
L’attaccante può alterare i
numeri di sequenza dei pacchetti TCP e tenere quindi la
connessione sincronizzata mentre vengono aggiunti pacchetti alla connessione.
32
Attacchi man-in-the-middle
Una volta effettuato un attacco MITM è possibile:
Fare sniffing di pacchetti
Fare injection di pacchetti
Fare key manipulation
Fare un downgrade attack
Fare filtering dei pacchetti
Key Manipulazion:
Modifica della chiave pubblica scambiata tra client e server.
33
Attacchi man-in-the-middle
Una volta effettuato un attacco MITM è possibile:
Fare sniffing di pacchetti
Fare injection di pacchetti
Fare key manipulation
Fare un downgrade attack
Fare filtering dei pacchetti
Downgrade Attack:
Modifica dei pacchetti nella fase di negoziazione del protocollo allo scopo di fare usare nella comunicazione un protocollo con
vulnerabilità note.
Es: SSH2 -> SSH
34
Attacchi man-in-the-middle
Una volta effettuato un attacco MITM è possibile:
Fare sniffing di pacchetti
Fare injection di pacchetti
Fare key manipulation
Fare un downgrade attack
Fare filtering dei pacchetti
Packet Filtering:
Modifica del payload dei pacchetti e correzione del relativo checksum.
35
ARP Poisoning
Letteralmente: “avvelenamento ARP”
E’ la tecnica più usata per effettuare un attacco di tipo man-in-the-middle su switched LAN.
Consiste nell'inviare intenzionalmente e in modo forzato risposte ARP contenenti dati non
corrispondenti a quelli reali. In questo modo la tabella ARP di un host conterrà dati alterati
("avvelenati").
Molto spesso lo scopo di questo tipo di attacco è quello di redirigere, in una rete switchata, i
pacchetti destinati ad un host verso un altro al fine di leggere il contenuto.
36
ARP Poisoning
(Rete switchata)
IP MAC
192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:CC:CC:CC 192.168.1.2 00:00:00:AA:AA:AA
Attaccante
IP: 192.168.1.2
MAC: 00:00:00:AA:AA:AA
PC Pippo
IP: 192.168.1.13
MAC: 00:00:00:BB:BB:BB
PC Pluto
IP: 192.168.1.88 MAC: 00:00:00:CC:CC:CC
IP MAC
192.168.1.88 00:00:00:CC:CC:CC 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.2 00:00:00:AA:AA:AA
IP MAC
192.168.1.2 00:00:00:AA:AA:AA 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:CC:CC:CC
37
ARP Poisoning
(Rete switchata)
IP MAC
192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:CC:CC:CC 192.168.1.2 00:00:00:AA:AA:AA
Attaccante
IP: 192.168.1.2
MAC: 00:00:00:AA:AA:AA
PC Pippo
IP: 192.168.1.13
MAC: 00:00:00:BB:BB:BB
PC Pluto
IP: 192.168.1.88 MAC: 00:00:00:CC:CC:CC
IP MAC
192.168.1.88 00:00:00:CC:CC:CC 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.2 00:00:00:AA:AA:AA
IP MAC
192.168.1.2 00:00:00:AA:AA:AA 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:CC:CC:CC
Fake ARP Reply
Pacchetto SINGLECAST ARP Reply SSAP IP: 192.168.1.88 (Pluto) SSAP MAC: 00:00:00:AA:AA:AA
DSAP IP: 192.168.1.13 (Pippo)
“Io, MAC …:AA:AA:AA, ho l’IP 192.168.1.88”
Oh, ora è
…:AA:AA:AA che ha l’IP 192.168.1.88!
Aggiorniamo la cache!
Notare che è
un pacchetto singlecast!
38
ARP Poisoning
(Rete switchata)
IP MAC
192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:AA:AA:AA 192.168.1.2 00:00:00:AA:AA:AA
Attaccante
IP: 192.168.1.2
MAC: 00:00:00:AA:AA:AA
PC Pippo
IP: 192.168.1.13
MAC: 00:00:00:BB:BB:BB
PC Pluto
IP: 192.168.1.88 MAC: 00:00:00:CC:CC:CC
IP MAC
192.168.1.88 00:00:00:CC:CC:CC 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.2 00:00:00:AA:AA:AA
IP MAC
192.168.1.2 00:00:00:AA:AA:AA 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:CC:CC:CC
Oh, ora è
…:AA:AA:AA che ha l’IP 192.168.1.88!
Aggiorniamo la cache!
39
ARP Poisoning
(Rete switchata)
IP MAC
192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:AA:AA:AA 192.168.1.2 00:00:00:AA:AA:AA
Attaccante
IP: 192.168.1.2
MAC: 00:00:00:AA:AA:AA
PC Pippo
IP: 192.168.1.13
MAC: 00:00:00:BB:BB:BB
PC Pluto
IP: 192.168.1.88 MAC: 00:00:00:CC:CC:CC
IP MAC
192.168.1.88 00:00:00:CC:CC:CC 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.2 00:00:00:AA:AA:AA
IP MAC
192.168.1.2 00:00:00:AA:AA:AA 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:CC:CC:CC
40
ARP Poisoning
(Rete switchata)
IP MAC
192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:AA:AA:AA 192.168.1.2 00:00:00:AA:AA:AA
Attaccante
IP: 192.168.1.2
MAC: 00:00:00:AA:AA:AA
PC Pippo
IP: 192.168.1.13
MAC: 00:00:00:BB:BB:BB
PC Pluto
IP: 192.168.1.88 MAC: 00:00:00:CC:CC:CC
IP MAC
192.168.1.88 00:00:00:CC:CC:CC 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.2 00:00:00:AA:AA:AA
IP MAC
192.168.1.2 00:00:00:AA:AA:AA 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:CC:CC:CC
Fake ARP Reply
Pacchetto SINGLECAST ARP Reply SSAP IP: 192.168.1.13 (Pippo) SSAP MAC: 00:00:00:AA:AA:AA
DSAP IP: 192.168.1.88 (Pluto)
“Io, MAC …:AA:AA:AA, ho l’IP 192.168.1.13”
Oh, ora è
…:AA:AA:AA che ha l’IP 192.168.1.13!
Aggiorniamo la cache!
Ancora una volta un pacchetto singlecast!
41
ARP Poisoning
(Rete switchata)
IP MAC
192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:AA:AA:AA 192.168.1.2 00:00:00:AA:AA:AA
Attaccante
IP: 192.168.1.2
MAC: 00:00:00:AA:AA:AA
PC Pippo
IP: 192.168.1.13
MAC: 00:00:00:BB:BB:BB
PC Pluto
IP: 192.168.1.88 MAC: 00:00:00:CC:CC:CC
IP MAC
192.168.1.88 00:00:00:CC:CC:CC 192.168.1.13 00:00:00:AA:AA:AA 192.168.1.2 00:00:00:AA:AA:AA
IP MAC
192.168.1.2 00:00:00:AA:AA:AA 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:CC:CC:CC
Oh, ora è
…:AA:AA:AA che ha l’IP 192.168.1.13!
Aggiorniamo la cache!
42
ARP Poisoning
(Rete switchata)
IP MAC
192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:AA:AA:AA 192.168.1.2 00:00:00:AA:AA:AA
Attaccante
IP: 192.168.1.2
MAC: 00:00:00:AA:AA:AA
PC Pippo
IP: 192.168.1.13
MAC: 00:00:00:BB:BB:BB
PC Pluto
IP: 192.168.1.88 MAC: 00:00:00:CC:CC:CC
IP MAC
192.168.1.88 00:00:00:CC:CC:CC 192.168.1.13 00:00:00:AA:AA:AA 192.168.1.2 00:00:00:AA:AA:AA
IP MAC
192.168.1.2 00:00:00:AA:AA:AA 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:CC:CC:CC
Devo parlare con Pluto…
SSAP IP: 192.168.1.13 SSAP MAC: 00:00:00:BB:BB:BB
DSAP IP: 192.168.1.88 DSAP MAC: 00:00:00:AA:AA:AA
SNIFF…
Ora, inoltro il pacchetto a Pluto come se nulla fosse accaduto, alterando
gli indirizzi MAC
SSAP IP: 192.168.1.13 SSAP MAC: 00:00:00:AA:AA:AA
DSAP IP: 192.168.1.88 DSAP MAC: 00:00:00:CC:CC:CC
Un messaggio da Pluto!
SNIFF…
43
ARP Poisoning
(Rete switchata)
IP MAC
192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:AA:AA:AA 192.168.1.2 00:00:00:AA:AA:AA
Attaccante
IP: 192.168.1.2
MAC: 00:00:00:AA:AA:AA
PC Pippo
IP: 192.168.1.13
MAC: 00:00:00:BB:BB:BB
PC Pluto
IP: 192.168.1.88 MAC: 00:00:00:CC:CC:CC
IP MAC
192.168.1.88 00:00:00:CC:CC:CC 192.168.1.13 00:00:00:AA:AA:AA 192.168.1.2 00:00:00:AA:AA:AA
IP MAC
192.168.1.2 00:00:00:AA:AA:AA 192.168.1.13 00:00:00:BB:BB:BB 192.168.1.88 00:00:00:CC:CC:CC
Ecco la risposta di
Pluto!
SSAP IP: 192.168.1.88 SSAP MAC: 00:00:00:CC:CC:CC
DSAP IP: 192.168.1.13 DSAP MAC: 00:00:00:AA:AA:AA
SNIFF…
Ora, inoltro il pacchetto a Pippo come se nulla fosse accaduto, alterando
gli indirizzi MAC
SSAP IP: 192.168.1.88 SSAP MAC: 00:00:00:AA:AA:AA
DSAP IP: 192.168.1.13 DSAP MAC: 00:00:00:BB:BB:BB
Devo rispondere a
Pluto!
44
ARP Poisoning
Le due vittime Pippo e Pluto crederanno di comunicare tra di loro, ma in realtà
comunicheranno con l'attaccante, il quale
inoltrerà il traffico proveniente da Pippo verso Pluto e viceversa, realizzando così un attacco man-in-the-middle.
Dopo aver concretizzato il MITM, l’attaccante sarà in grado di modificare, leggere e creare
nuovi pacchetti. Potrà quindi facilmente sniffare tutto il traffico in chiaro tra i due host.
I pacchetti ARP ‘avvelenati’ andranno ripetuti a intervalli di 10-15 secondi perché la cache ARP degli host viene periodicamente svuotata.
45
Contromisure per l’ARP poisoning
Tabelle ARP statiche
Usare un software come arpwatch che esamina le
attività di rete e ne evidenzia le discordanze o ancora un intrusion detection system (IDS) come Snort.
Usare il port security sugli switch ovvero fare in modo
che per ciascuna porta del dispositivo possa esserci solo un MAC address.
SARP ovvero Secure ARP, un'estensione del protocollo ARP che si basa sulla crittografia asimmetrica, così da poter autenticare il mittente.
Avendone la possibilià (è necessario avere switch che supportano 802.1x e un server RADIUS), di sicuro la migliore soluzione è implementare 802.1x.
…Computer Forensics…
Ovvero: uno scenario legale in cui
utilizzare queste tecniche
47
Computer Forensics
La Computer Forensics è l’applicazione del metodo investigativo ai media digitali per ricavare elementi, informazioni, prove da portare in giudizio.
Questo processo indaga sui sistemi
informativi per determinare se essi siano stati impiegati in attività illegali o non
autorizzate
48
Uno scenario pratico
Ci viene chiesto dall’autorità giudiziaria di effettuare in qualità di periti
un’intercettazione dati in una LAN aziendale, in cui un dipendente è
sospettato di scaricare materiale illegale dalla rete Internet
Come ci comportiamo?
49
Un attacco per ogni situazione…
Caso A
Il sospettato non ricopre ruoli di ‘alto profilo’
e non appartiene al reparto IT
Installiamo una sonda (un PC con Wireshark)
direttamente nell’armadio rack, collegandolo alla porta MONITOR del router di frontiera
Ovviamente la sonda sarà visibile nell’armadio rack, quindi questo metodo non può essere usato se l’utente sospettato è del reparto IT
50
Un attacco per ogni situazione…
Caso B
Il sospettato ricopre ruoli di ‘alto profilo’ ma non appartiene al reparto IT
Usiamo un attacco MITM realizzato tramite ARP Poisoning per far transitare tutto il traffico su una sonda
Useremo come sonda un PC aziendale già esistente per non dare nell’occhio (la persona in questione potrebbe
avere accesso agli armadi di rete). Magari proprio quel PC nell’angolo che sta sempre acceso e nessuno sa cosa stia facendo…
51
Un attacco per ogni situazione…
Caso C
Il sospettato appartiene al reparto IT
Non possiamo installare una sonda all’interno degli armadi rack perché accessibili al sospettato, e non possiamo
nemmeno effettuare un attacco MITM visto che con ogni probabilità la persona si accorgerebbe del traffico ARP anomalo sulla rete
Possibilità 1: mi rivolgo all’ISP dell’azienda e chiedo collaborazione per l’intercettazione dei dati
Possibilità 2: uso un sistema Linux con due (o più) schede Ethernet configurate in modalità “bridge device”
52
Linux e i ‘bridge device’
Tramite i ‘bridge device’ si trasforma una macchina Linux in uno switch software (IEEE 802.11d)
La macchina può intercettare in maniera assolutamente trasparente i dati che
transitano sulle porte dello ‘switch
software’
53
Sniffing con ‘bridge device’
PC da intercettare Controsoffitto
Cavo LAN
Switch
All’armadio rack (e quindi al router di frontiera)
54
Sniffing con ‘bridge device’
PC da intercettare Controsoffitto
Cavo LAN
Switch
All’armadio rack (e quindi al router di frontiera)
SNIFF… Macchina Linux con bridge device
…e finalmente la pratica!
Ovvero: simuliamo un attacco
56
Simulazione di un attacco man-in- the-middle tramite ARP poisoning
• Collegarsi alla rete LAN con i seguenti parametri:
Indirizzo IP: Assegnato in DHCP (Classe C 192.168.1.0/24) Default Gateway: Assegnato in DHCP (192.168.1.254)
DNS Server: Assegnato in DHCP (158.110.1.7)
Annotarsi l’indirizzo IP assegnato dal server DHCP ed il proprio MAC address dell’interfaccia di rete wired:
> ipconfig /all Windows
> ifconfig Linux
• Aprire WireShark e predisporre lo sniffing sull’interfaccia wired, senza però avviare la cattura dei pacchetti
57
Simulazione di un attacco man-in- the-middle tramite ARP poisoning
• Aprire una shell di comando
• Avviare la cattura dei pacchetti su WireShark
• Pingare altri PC sulla rete (192.168.1.10 <-> 192.168.1.50)
• Osservare il traffico sniffato da WireShark
• Osservare la cache ARP del proprio PC
> arp –a Windows
> arp –an Linux
• Tutto normale?
58
Simulazione di un attacco man-in- the-middle tramite ARP poisoning
• Riprovare a pingare altri PC sulla rete (192.168.1.10 <-> 192.168.1.50)
• Osservare il traffico sniffato da WireShark
• Osservare la cache ARP del proprio PC
> arp –a Windows
> arp –n Linux
• Ancora tutto normale?
• Siamo nel bel mezzo di un attacco MITM!!
• Chi è l’attaccante?
• Tutto il traffico viene instradato a livello 2 sul PC con MAC address 00:1A:4B:5C:7F:76, che poi lo consegna a
destinazione…
59
Sniffing di una password in una
connessione protetta SSL (HTTPS) mediante attacco MITM
(Rete switchata)
Attaccante
IP: 192.168.1.43
Vittima
IP: 192.168.1.y
Default Gateway
IP Interno: 192.168.1.254 IP Esterno: 158.110.xx.xx
Internet Server HTTPS
https://mail.google.com/
60
Sniffing di una password in una
connessione protetta SSL (HTTPS) mediante attacco MITM
• Aprire un browser web
• Avviare la cattura dei pacchetti su WireShark
• Collegarsi al sito web: https://mail.google.com/
• Inserire un nome utente ed una password
• Osservare il traffico sniffato da WireShark
• E’ tutto cifrato, bene! Le nostre password viaggiano sicure e dormono sonni tranquilli!
• MA… Qualcuno è riuscito ad avere lo stesso le nostre password!!
61
Sniffing di una password in una
connessione protetta SSL (HTTPS) mediante attacco MITM
Come è potuto succedere?
• Il server di GMail ha un certificato firmato da una CA considerata affidabile dal nostro browser
• L’attaccante ha generato un certificato fasullo, del tutto simile al certificato originale di GMail tranne che per la firma digitale falsa della CA
• Noi ci siamo in realtà collegati in HTTPS con l’attaccante, che ha potuto decifrare i nostri pacchetti dato che
possedeva la parte privata del certificato fasullo.
• L’attaccante ha poi provveduto ad inoltrare i nostri pacchetti al server di GMail tramite HTTPS
62
Sniffing di una password in una
connessione protetta SSL (HTTPS) mediante attacco MITM
Vittima Attaccante Server
Certificato fake
Connessione SSL
Certificato reale
Connessione SSL
SNIFF…
Sto comunicando in HTTPS con GMail
Sto comunicando in HTTPS con il
client
63
Sniffing di una password in una
connessione protetta SSL (HTTPS) mediante attacco MITM
• Il nostro browser ci ha avvisato con un warning del fatto che la firma della CA sul certificato fasullo non era attendibile
• Si ricordi però che l’utente medio generalmente ignora un warning come quello appena visto,
esponendosi così al rischio di un attacco
• Inoltre, con un semplice trojan sarebbe possibile preventivamente alterare il repository dei certificati fidati del browser aggiungendo il certificato falso
forgiato dall’attaccante. In tal caso il browser non darà alcun warning
64
Sniffing di una conversazione VoIP in una LAN fully-switched
(Rete switchata)
Attaccante
IP: 192.168.1.44
Vittima
IP: 192.168.1.xx
Default Gateway
IP Interno: 192.168.1.254 IP Esterno: 158.110.xx.xx
Internet
Server SIP
IP: 123.123.123.123
65
Sniffing di una conversazione VoIP in una LAN fully-switched
• Verrà originata una chiamata VoIP da un PC della LAN verso un numero geografico di rete fissa usando un soft-phone (ad esempio X-Lite)
• Utilizzando Cain verrà eseguito un MITM tra il PC originante la chiamata ed il suo default gateway
• Al termine della conversazione Cain produrrà un file MP3 contenente l’intera conversazione
E ora vediamo come difenderci…
Ovvero: buone norme di sicurezza
67
Sicurezza fisica
Come prima cosa va garantita la sicurezza fisica della rete:
Armadi di rete chiusi a chiave
Cavi non accessibili
Server non raggiungibili dal pubblico
68
Sicurezza a livello 2
IPv6 / IPSec
Cache ARP statica
(impossibile su grosse reti)
Usare il port security sugli switch
Usare l'802.1x per autenticare i nodi
SARP
69
Intrusion Detection System
Oltre ad avere una rete sicura è importante monitorare la rete. Essendo impossibile garantire la completa sicurezza di una rete, risulta infatti fondamentale poter
accorgersi tempestivamente di eventuali intrusioni.
Esistono dei programmi che fanno questo per noi segnalandoci tentativi di attacco
noti, ma anche eventuali anomalie.
(SNORT)70
Bibliografia e sitografia
A. Ghirardini, G. Faggioli – Computer Forensics – Apogeo
Materiale didattico Prof. Montessoro – www.montessoro.it
Wikipedia – it.wikipedia.org
Oxid (Cain) – www.oxid.it
Ettercap - http://ettercap.sourceforge.net/