Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Man in the middle attacks
Alberto Orgnahi Marco Valleri Man in the middle attacks Cosa sono Come sfruttarli Come ottenerli Come prevenirli Blackhats italia 2002 Blackhats italia 2002
2
Disclaimer Copyright (c) Blackhats italia Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; Blackhats italia 2002 Blackhats italia 2002
3
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): - ARP poisoning - DNS spoofing - DHCP spoofing - ICMP redirection - IRDP spoofing - route mangling REMOTO: - DNS poisoning - traffic tunneling - route mangling Blackhats italia 2002
4
Introduzione Blackhats italia 2002
5
Definizione m-i-t-m La tipologia di attacco che va sotto il nome di man-in-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. B A M Logica Reale Connessione: Blackhats italia 2002
6
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
7
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 M HALF-DUPLEX A B FULL-DUPLEX M Blackhats italia 2002
8
Tipologie di attacco (2) Transparent attack
Questo attacco nasconde perfettamente l’host attaccante alle due vittime. A B src: M src: Blackhats italia 2002
9
Tipologie di attacco (3) Proxy attack
L’attaccante funge da proxy per la connessione A B src: M src: Blackhats italia 2002
10
Come sfruttare il MITM Blackhats italia 2002
11
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
12
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
13
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
14
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
15
Esempi di attacchi Blackhats italia 2002
16
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
17
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
18
Esempi di attacchi (3) Key exchanging
Modifica delle chiavi pubbliche scambiate all’inizio della connessione. (es SSH1) start Server Client KEY(rsa) KEY(rsa) MITM Ekey[S-Key] Ekey[S-Key] S-KEY S-KEY S-KEY Eskey(M) D(E(M)) M Blackhats italia 2002
19
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 il server supporta ssh1 e ssh2 SSH il server supporta SOLO ssh1 Creazione di un filtro che cambia 1.99 con 1.51 Possibilita’ di aggirare known_hosts Blackhats italia 2002
20
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
21
Tecniche di attacco IN LOCALE
Blackhats italia 2002
22
Attacchi Locali (1) ARP poison - introduzione (1)
Stack TCP/IP su ethernet Dati Livello Applicazione TCP Livello Trasporto IP Livello Network eth FCS Livello Data-Link eth IP TCP Dati FCS Frame trasmesso Blackhats italia 2002
23
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
24
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
25
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
26
Attacchi Locali (1) ARP poison - attacco (2)
Vittima A Vittima B ARP cache: 03:03:03:03:03:03 ARP cache: 02:02:02:02:02:02 ARP cache: 01:01:01:01:01:01 ARP cache: 03:03:03:03:03:03 01:01:01:01:01:01 02:02:02:02:02:02 is at 03:03:03:03:03:03 is at 03:03:03:03:03:03 Attaccante 03:03:03:03:03:03 Blackhats italia 2002
27
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
28
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
29
Attacchi Locali (1) ARP poison - tools
Ettercap ( Poisoning Sniffing Hijacking Filtering SSH sniffing (transparent attack) Dsniff ( SSH sniffing (proxy attack) Blackhats italia 2002
30
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 port-security o se si e’ su HUB, l’attaccante puo’ spoofare il suo mac address. Blackhats italia 2002
31
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
32
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 DNS Blackhats italia 2002
33
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
34
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
35
Attacchi Locali (2) DNS spoofing - attacco (2)
MITM HOST serverX.localdomain.it DNS Blackhats italia 2002
36
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
37
Attacchi Locali (2) DNS spoofing - tools
Ettercap ( Phantom plugin Dsniff ( Dnsspoof Zodiac ( Blackhats italia 2002
38
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
39
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
40
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
41
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
42
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
43
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
44
Attacchi Locali (3) STP mangling - tools
Ettercap ( Lamia plugin Blackhats italia 2002
45
Attacchi Locali (3) STP mangling - tracce lasciate
Il Mac address dell’attaccante e’ presente nello stato dello switch Blackhats italia 2002
46
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
47
Tecniche di attacco DA LOCALE A REMOTO
Blackhats italia 2002
48
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
49
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
50
Attacchi locale - remoto (1) ARP poisoning - contromisure
SI - entry statica del gateway su tutti gli host Blackhats italia 2002
51
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” per evitare richieste iterative. Blackhats italia 2002
52
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
53
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
54
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
55
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
56
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
57
Attacchi locale - remoto (3) DHCP spoofing - tracce lasciate
L‘indirizzo IP dell'attaccante nelle configurazioni del client. Blackhats italia 2002
58
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
59
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
60
Attacchi locale - remoto (4) ICMP redirect - introduzione (2)
G1 G2 H R T 3 2 ICMP redirect to G2 LAN Blackhats italia 2002
61
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
62
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
63
Attacchi locale - remoto (4) ICMP redirect - tools
IRPAS icmp_redirect di Phenoelit ( icmp_redir di Yuri Volobuev Blackhats italia 2002
64
Attacchi locale - remoto (4) ICMP redirect - tracce lasciate
L’indirizzo IP dell’attaccante e’ presente nelle rotte dell'host e' possibile spoofarlo e far comunque arrivare a lui i pacchetti rispondendo alle ARP request per l'indirizzo Blackhats italia 2002
65
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
66
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
67
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
68
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 accetta IRDP Windows NT usa IRDP al boot Windows ignora IRDP Linux ignora IRDP Si puo' rendere l'attacco piu' efficace orgiando degli ICMP Host Unreachable impersonando l'attuale router di default. Blackhats italia 2002
69
Attacchi locale - remoto (5) IRDP spoofing - tools
IRPAS di Phenoelit ( Blackhats italia 2002
70
Attacchi locale - remoto (5) IRDP spoofing - tracce lasciate
L’indirizzo IP dell’attaccanete e’ presente nelle rotte dell'host e' possibile spoofarlo e far comunque arrivare a noi i pacchetti rispondendo alle ARP request per l'indirizzo spoofato. Blackhats italia 2002
71
Attacchi locale - remoto (5) IRDP spoofing - contromisure
SI - Disabilitare IRDP sugli hosts se il sitema operativo lo permette. Blackhats italia 2002
72
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
73
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
74
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
75
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
76
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. AT2 Tunnel GW AT D INTERNET H Blackhats italia 2002
77
Attacchi locale - remoto (6) ROUTE mangling - attacco (4)
Possibilita’ di usare multipath routing o QoS Blackhats italia 2002
78
Attacchi locale - remoto (6) ROUTE mangling - tools
IRPAS di Phenoelit ( Nemesis ( Blackhats italia 2002
79
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
80
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
81
Tecniche di attacco IN REMOTO
Blackhats italia 2002
82
Attacchi in remoto (1) DNS poisoning - introduzione (1)
Quando il DNS riceve una richiesta ci possono essere 3 possibilita': Il DNS e' "autoritativo" per il dominio a cui il nome richiesto appartiene. (risposta autoritativa) 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
83
Attacchi in remoto (1) DNS poisoning - introduzione (2)
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
84
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
85
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
86
Attacchi in remoto (1) DNS poisoning - tools
ADMIdPack Zodiac ( per il dynamic update: Net::DNS::Update Blackhats italia 2002
87
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
88
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
89
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
90
Attacchi in remoto (2) Traffic Tunneling - introduzione (2)
* LAN 1 Router 1 INTERNET LAN 2 Router 2 * Blackhats italia 2002
91
Attacchi in remoto (2) Traffic Tunneling - attacco
Server Router 1 Tunnel GRE INTERNET Client Fake host Gateway Attacker Blackhats italia 2002
92
Attacchi in remoto (2) Traffic Tunneling - tools
Ettercap ( Zaratan plugin TunnelX ( Blackhats italia 2002
93
Attacchi in remoto (2) Traffic Tunneling - tracce lasciate
La traccia piu' evidente e’ senza dubbio la riconfigurazione del router (!!!). Blackhats italia 2002
94
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
95
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
96
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
97
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
98
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
99
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
100
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
101
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 clear-text (alcune implementazioni con MD5). Blackhats italia 2002
102
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
103
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
104
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
105
Attacchi in remoto (3) ROUTE mangling - attacco (3)
Scenario 1 b (IGRP - all’interno dello stesso AS) A B Blackhats italia 2002
106
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 RIP AS 3 Blackhats italia 2002
107
Attacchi in remoto (3) ROUTE mangling - attacco (5)
Scenario 2 b (il traffico non passa dall’AS) AS 1 BG 4 BG 5 AS 2 BG 1 BG 2 BG 3 AS 3 Blackhats italia 2002
108
Attacchi in remoto (3) ROUTE mangling - tools
IRPAS di Phenoelit ( Nemesis ( Blackhats italia 2002
109
Attacchi in remoto (3) ROUTE mangling - tracce lasciate
Non ci sono tracce evidenti dell’attacco Blackhats italia 2002
110
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
111
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
112
Bibliografia Paper-mitm.txt Marco Valleri <naga@blackhats.it>
Alberto Ornaghi Blackhats italia 2002
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.