La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Blackhats italia 2002 1 Man in the middle attacks Cosa sono Cosa sono Come sfruttarli Come sfruttarli Come ottenerli Come ottenerli Come prevenirli Come.

Presentazioni simili


Presentazione sul tema: "Blackhats italia 2002 1 Man in the middle attacks Cosa sono Cosa sono Come sfruttarli Come sfruttarli Come ottenerli Come ottenerli Come prevenirli Come."— Transcript della presentazione:

1 Blackhats italia Man in the middle attacks Cosa sono Cosa sono Come sfruttarli Come sfruttarli Come ottenerli Come ottenerli Come prevenirli Come prevenirli Alberto Orgnahi Marco Valleri

2 Blackhats italia 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; 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;

3 Blackhats italia 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): DA RETE LOCALE A REMOTO (attraverso un gateway): - ARP poisoning- DNS spoofing- DHCP spoofing - ICMP redirection- IRDP spoofing- route mangling REMOTO: REMOTO: - DNS poisoning- traffic tunneling- route mangling

4 Blackhats italia Introduzione

5 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 lend-point legittimo della comunicazione. B A M Logica Reale Connessione:

6 Blackhats italia Ruolo dellattaccante Essendo lattaccante 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.

7 Blackhats italia 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 B A M FULL-DUPLEX

8 Blackhats italia Tipologie di attacco (2) Transparent attack Questo attacco nasconde perfettamente lhost attaccante alle due vittime. src: A B M

9 Blackhats italia Tipologie di attacco (3) Proxy attack Lattaccante funge da proxy per la connessione src: src: A B M

10 Blackhats italia Come sfruttare il MITM

11 Blackhats italia Vantaggi (1) Sniffing E la cosa piu ovvia che si puo fare. Una volta guadagnato il middle i pacchetti transitano attraverso la macchina dellattaccante. Compromette tutti i protocolli in plain text Permette di carpire le password di numerosi protocolli molto diffusi (telnet, ftp, http, ecc)

12 Blackhats italia Vantaggi (2) Hijacking Semplice da portare a termine Semplice da portare a termine Non e di tipo blind (si conoscono perfettamente i numeri di sequenza della connessione) Non e di tipo blind (si conoscono perfettamente i numeri di sequenza della connessione) Estrema facilita nelloscurare un lato della comunicazione e inserirsi al suo posto Estrema facilita nelloscurare un lato della comunicazione e inserirsi al suo posto

13 Blackhats italia Vantaggi (3) Injecting Possibilita di aggiungere pacchetti alla connessione (solo full-duplex) Possibilita di aggiungere pacchetti alla connessione (solo full-duplex) Modifica dei numeri di sequenza di una connessione TCP per mantenerla sincronizzata Modifica dei numeri di sequenza di una connessione TCP per mantenerla sincronizzata Ancora piu semplice nella soluzione proxy attack Ancora piu semplice nella soluzione proxy attack

14 Blackhats italia Vantaggi (4) Filtering Possibilita di modificare il payload dei pacchetti (ricalcolando il checksum dove necessario) Possibilita di modificare il payload dei pacchetti (ricalcolando il checksum dove necessario) Creare filtri pattern matching on the fly Creare filtri pattern matching on the fly Modifica anche della lunghezza del payload ma solo in regime FULL-DUPLEX Modifica anche della lunghezza del payload ma solo in regime FULL-DUPLEX

15 Blackhats italia Esempi di attacchi

16 Blackhats italia Esempi di attacchi (1) Command injection Utile nel caso di sessioni telnet con autenticazione non riproducibile (RSA token,…) Utile nel caso di sessioni telnet con autenticazione non riproducibile (RSA token,…) Inserimento comandi verso il server Inserimento comandi verso il server Simulare risposte verso il client Simulare risposte verso il client

17 Blackhats italia Esempi di attacchi (2) Malicious code injection Inserimento malicious code in pagine web, mail ecc (javascript, trojans, virus, ecc) 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) Modifica on the fly di file binari in fase di download (virus, backdoor, ecc)

18 Blackhats italia Esempi di attacchi (3) Key exchanging Modifica delle chiavi pubbliche scambiate allinizio della connessione. (es SSH1) Modifica delle chiavi pubbliche scambiate allinizio della connessione. (es SSH1) ServerClient MITM start KEY(rsa) E key [S-Key] S-KEY M E skey (M) D(E(M))

19 Blackhats italia 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. 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. 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 ssh1 e ssh2 SSH il server supporta SOLO ssh1 SSH il server supporta SOLO ssh1 –Creazione di un filtro che cambia 1.99 con 1.51 Possibilita di aggirare known_hosts Possibilita di aggirare known_hosts

20 Blackhats italia Esempi di attacchi (5) IPSEC Failure Bloccare il keymaterial scambiato sulla porta 500 UDP Bloccare il keymaterial scambiato sulla porta 500 UDP Gli end point credono che laltro non sia in grado di usare IPSEC Gli end point credono che laltro non sia in grado di usare IPSEC Se il client e configurato in fall-back ce buona probabilita che lutente non si accorga di comunicare in clear-text Se il client e configurato in fall-back ce buona probabilita che lutente non si accorga di comunicare in clear-text

21 Blackhats italia Tecniche di attacco IN LOCALE

22 Blackhats italia Attacchi Locali (1) ARP poison - introduzione (1) Stack TCP/IP su ethernet ethIPTCP DatiFCS TCPIPethFCS Dati Livello Applicazione Livello Trasporto Livello Network Livello Data-Link Frame trasmesso

23 Blackhats italia 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 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: Due tipi principali di messaggi: –ARP request (richiesta di risoluzione indirizzo) –ARP reply (risposta contenente un indirizzo eth)

24 Blackhats italia Attacchi Locali (1) ARP poison - introduzione (3) Le risposte sono memorizzate nella ARP CACHE, in modo da limitare il traffico arp sulla rete Le risposte sono memorizzate nella ARP CACHE, in modo da limitare il traffico arp sulla rete Problemi : Problemi : –Il protocollo e stateless –Le ARP reply sono memorizzate in cache anche se non erano state sollecitate (incrementa prestazioni ma penalizza la sicurezza)

25 Blackhats italia Attacchi Locali (1) ARP poison - attacco (1) Sfrutta il comportamento stateless del protocollo Sfrutta il comportamento stateless del protocollo Se lattaccante invia una ARP reply (spoofata) verso un host, questo la memorizzera nella propria arp cache Se lattaccante invia una ARP reply (spoofata) verso un host, questo la memorizzera nella propria arp cache

26 Blackhats italia Attacchi Locali (1) ARP poison - attacco (2) Vittima AVittima B Attaccante :01:01:01:01:0102:02:02:02:02:02 03:03:03:03:03:03 ARP cache: :02:02:02:02: is at 03:03:03:03:03:03 ARP cache: :03:03:03:03:03 ARP cache: :01:01:01:01:01 ARP cache: :03:03:03:03: is at 03:03:03:03:03:03

27 Blackhats italia Attacchi Locali (1) ARP poison - attacco (3) Le entries della cache sono provviste di timeout, quindi lattaccante deve periodicamente rinfrescarla Le entries della cache sono provviste di timeout, quindi lattaccante deve periodicamente rinfrescarla Una entry non e aggiornata se non era gia presente nella cache Una entry non e aggiornata se non era gia presente nella cache –Aggirabile tramite un ICMP spoofato Versione modificata dellattacco contro linux e solaris Versione modificata dellattacco contro linux e solaris

28 Blackhats italia Attacchi Locali (1) ARP poison - attacco (4) Utile per sniffare su reti connesse tramite switch 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 Lo switch opera a livello 2 ed e ignaro dei cambiamenti delle associazioni nelle arp cache degli host vittime

29 Blackhats italia Attacchi Locali (1) ARP poison - tools Ettercap (http://ettercap.sf.net) Ettercap (http://ettercap.sf.net)http://ettercap.sf.net –Poisoning –Sniffing –Hijacking –Filtering –SSH sniffing (transparent attack) Dsniff (http://www.monkey.org/~dugsong/dsniff) Dsniff (http://www.monkey.org/~dugsong/dsniff)http://www.monkey.org/~dugsong/dsniff –Poisoning –Sniffing –SSH sniffing (proxy attack)

30 Blackhats italia Attacchi Locali (1) ARP poison - tracce lasciate Le ARP cache delle vittime contengono il mac address dellattaccante Le ARP cache delle vittime contengono il mac address dellattaccante Se lo switch non e provvisto di port- security o se si e su HUB, lattaccante puo spoofare il suo mac address. Se lo switch non e provvisto di port- security o se si e su HUB, lattaccante puo spoofare il suo mac address.

31 Blackhats italia Attacchi Locali (1) ARP poison - contromisure NO - Port security sullo switch NO - Port security sullo switch SI - passive monitoring (arpwatch) SI - passive monitoring (arpwatch) SI - active monitoring (ettercap) SI - active monitoring (ettercap) SI - IDS (rilevano ma non evitano) SI - IDS (rilevano ma non evitano) SI - ARP entries statiche (evitano) SI - ARP entries statiche (evitano) SI - Secure-ARP (in development) SI - Secure-ARP (in development)

32 Blackhats italia 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 Il Domain Name System si occupa di trasformare i nomi simbolici degli host in indirizzi IP utilizzabili dal kernel HOST DNS

33 Blackhats italia 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 lattacco. Il protocollo in realta e molto piu complesso, ma ci limiteremo alla trattazione delle funzionalita che ci servono per lattacco. Lunico campo del pacchetto UDP (porta 53) che ci interessa e lID Lunico campo del pacchetto UDP (porta 53) che ci interessa e lID

34 Blackhats italia Attacchi Locali (2) DNS spoofing - attacco (1) Intercettare le richieste e memorizzare il campo ID Intercettare le richieste e memorizzare il campo ID Forgiare una falsa risposta con il giusto ID Forgiare una falsa risposta con il giusto ID Spedire al client che ha effettuato la richiesta. Spedire al client che ha effettuato la richiesta. Intercettare eventuali reverse query (PTR) Intercettare eventuali reverse query (PTR)

35 Blackhats italia Attacchi Locali (2) DNS spoofing - attacco (2) HOST DNS serverX.localdomain.it MITM

36 Blackhats italia Attacchi Locali (2) DNS spoofing - attacco (3) In questo caso lattaccante 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. In questo caso lattaccante 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 Port forwarding con iptables

37 Blackhats italia Attacchi Locali (2) DNS spoofing - tools Ettercap (http://ettercap.sf.net) Ettercap (http://ettercap.sf.net)http://ettercap.sf.net –Phantom plugin Dsniff (http://www.monkey.org/~dugsong/dsniff) Dsniff (http://www.monkey.org/~dugsong/dsniff)http://www.monkey.org/~dugsong/dsniff –Dnsspoof Zodiac (http://www.packetfactory.com/Projects/zodiac) Zodiac (http://www.packetfactory.com/Projects/zodiac)http://www.packetfactory.com/Projects/zodiac

38 Blackhats italia Attacchi Locali (2) DNS spoofing - tracce lasciate Usando un risolutore di indirizzi diverso, ci si puo accorgere della differenza di risposte Usando un risolutore di indirizzi diverso, ci si puo accorgere della differenza di risposte LIP dellattaccante e presente allinterno delle risposte DNS LIP dellattaccante e presente allinterno delle risposte DNS

39 Blackhats italia Attacchi Locali (2) DNS spoofing - contromisure SI - individuare risposte multiple (IDS) SI - individuare risposte multiple (IDS) SI - usare lmhost o host file per risoluzioni statiche SI - usare lmhost o host file per risoluzioni statiche SI - DNSSEC (risoluzione criptata) SI - DNSSEC (risoluzione criptata)

40 Blackhats italia 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 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 Pacchetti con MAC sorgente non presente nelle tabelle dello switch, sono forwardati su tutte le porte. Questo potrebbe portare a loop di forwarding

41 Blackhats italia 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) 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 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 dellalbero (designated port) Per ogni switch si designano le porte attraverso le quali si raggiunge la root e quelle verso i suoi discendenti dellalbero (designated port)

42 Blackhats italia Attacchi Locali (3) STP mangling - introduzione (3) Ogni pacchetto contiene una priorita che sara utilizzata per lelezione della root. Ogni pacchetto contiene una priorita che sara utilizzata per lelezione 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) 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 Le BPDU sono continuamente scambiate per rilevare cambiamenti nella rete

43 Blackhats italia Attacchi Locali (3) STP mangling - attacco Non e un vero e proprio m-i-t-m attack. Permette solo di ricevere traffico unmanaged 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) Si forgiano BPDU con priorita molto alta (fingendoci per la nuova root) Gli switch ricostruiranno lalbero per adattarsi alla nostra presenza Gli switch ricostruiranno lalbero per adattarsi alla nostra presenza Cercare di saturare le tabelle dello switch Cercare di saturare le tabelle dello switch

44 Blackhats italia Attacchi Locali (3) STP mangling - tools Ettercap (http://ettercap.sf.net) Ettercap (http://ettercap.sf.net)http://ettercap.sf.net –Lamia plugin

45 Blackhats italia Attacchi Locali (3) STP mangling - tracce lasciate Il Mac address dellattaccante e presente nello stato dello switch Il Mac address dellattaccante e presente nello stato dello switch

46 Blackhats italia Attacchi Locali (3) STP mangling - contromisure SI - Disabilitare STP sulle VLAN prive di loop (sconsgiliato da CISCO) 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 lSTP su queste porte. SI - Root Guard (se l'apparato lo supporta) impedisce che determinate porte diventino "root port, oppure disabilitare lSTP su queste porte. SI - Settare le porte connesse a workstations come "portfast", e attivare BPDU Guard su queste porte (se l'apparato lo supporta). 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. NO - Il portfast da solo NON e' sufficiente.

47 Blackhats italia Tecniche di attacco DA LOCALE A REMOTO

48 Blackhats italia Attacchi locale - remoto (1) ARP poisoning - introduzione Per raggiungere una destinazione allesterno della LAN un host deve conoscere lIP del gateway. Per raggiungere una destinazione allesterno della LAN un host deve conoscere lIP del gateway. Lhost manda una ARP request per lIP del gateway Lhost manda una ARP request per lIP del gateway

49 Blackhats italia Attacchi locale - remoto (1) ARP poisoning - attacco Simile allattacco locale. Simile allattacco locale. Il gateway e un host locale, quindi puo essere poisonato come qualsiasi altro host 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 In presenza di proxy arp gli host remoti sono considerati locali

50 Blackhats italia Attacchi locale - remoto (1) ARP poisoning - contromisure SI - entry statica del gateway su tutti gli host SI - entry statica del gateway su tutti gli host

51 Blackhats italia Attacchi locale - remoto (2) DNS spoofing - introduzione Le richieste saranno per host non locali, verso DNS non locali. Le richieste saranno per host non locali, verso DNS non locali. Tecnica identica a quella per gli host locali. Tecnica identica a quella per gli host locali. Abilitare il flag autoritative per evitare richieste iterative. Abilitare il flag autoritative per evitare richieste iterative.

52 Blackhats italia Attacchi locale - remoto (2) DNS spoofing - contromisure SI - individuare risposte multiple (IDS) SI - individuare risposte multiple (IDS) SI - usare lmhost o host file per risoluzioni statiche SI - usare lmhost o host file per risoluzioni statiche SI - DNSSEC (risoluzione criptata) SI - DNSSEC (risoluzione criptata)

53 Blackhats italia 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: Il servizio DHCP e' utilizzato per l'assegnazione dinamica di una serie di parametri per la connettivita' di rete: –Indirizzo IP –DNS –Default route

54 Blackhats italia Attacchi locale - remoto (3) DHCP spoofing - attacco (1) Intercattando una richiesta (broadcast) dhcp e' possibile rispondere prima del vero server. Intercattando una richiesta (broadcast) dhcp e' possibile rispondere prima del vero server. In questo modo possiamo modificare i parametri di : In questo modo possiamo modificare i parametri di : –Default gateway –DNS

55 Blackhats italia 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 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) 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)

56 Blackhats italia 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. Non e' necessario un tool apposito ma bastera' configurare la macchina attaccante come DHCP server, installando ad esempio dhcpd.

57 Blackhats italia Attacchi locale - remoto (3) DHCP spoofing - tracce lasciate Lindirizzo IP dell'attaccante nelle configurazioni del client. Lindirizzo IP dell'attaccante nelle configurazioni del client.

58 Blackhats italia 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 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

59 Blackhats italia Attacchi locale - remoto (4) ICMP redirect - introduzione (1) Esaminiamo solo il comando REDIRECT del protocollo ICMP 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 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

60 Blackhats italia Attacchi locale - remoto (4) ICMP redirect - introduzione (2) G1G2 H RTR ICMP redirect to G2 LAN 2 3

61 Blackhats italia 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 lhost attaccante. Forgiare un ICMP redirect spoofando la sorgente dello stesso come se fossimo il gateway originale e con destinazione della redirizione lhost attaccante. E necessario sniffare il pacchetto originario poiche nel REDIRECT ne devono essere inclusi 64 bit + header IP (non sempre necessario: a seconda dellOS) E necessario sniffare il pacchetto originario poiche nel REDIRECT ne devono essere inclusi 64 bit + header IP (non sempre necessario: a seconda dellOS)

62 Blackhats italia 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: 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/ /accept_redirects) Le rotte aggiunte sono comunque temporanee. Le rotte aggiunte sono comunque temporanee.

63 Blackhats italia Attacchi locale - remoto (4) ICMP redirect - tools IRPAS icmp_redirect di Phenoelit (http://www.phenoelit.de/irpas/) IRPAS icmp_redirect di Phenoelit (http://www.phenoelit.de/irpas/)http://www.phenoelit.de/irpas/ icmp_redir di Yuri Volobuev icmp_redir di Yuri Volobuev

64 Blackhats italia Attacchi locale - remoto (4) ICMP redirect - tracce lasciate Lindirizzo IP dellattaccante e presente nelle rotte dell'host Lindirizzo IP dellattaccante e presente nelle rotte dell'host –e' possibile spoofarlo e far comunque arrivare a lui i pacchetti rispondendo alle ARP request per l'indirizzo

65 Blackhats italia Attacchi locale - remoto (4) ICMP redirect - contromisure SI - Disabilitare i REDIRECT 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 NO - Linux permette di attivare l'opzione "secure redirect", che non risulta una protezione efficace

66 Blackhats italia 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). 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: 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 Periodicamente, ogni router manda in multicast degli advertisment per annunciare il suo indirizzo IP

67 Blackhats italia Attacchi locale - remoto (5) IRDP spoofing - introduzione (2) Ogni advertisment contiene un "livello di preferenza e un campo lifetime. 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 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. Il "lifetime" sta ad indicare il tempo per cui l'host deve conservare quella rotta.

68 Blackhats italia 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 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 2000 ignora IRDP –Linux ignora IRDP Si puo' rendere l'attacco piu' efficace orgiando degli ICMP Host Unreachable impersonando l'attuale router di default. Si puo' rendere l'attacco piu' efficace orgiando degli ICMP Host Unreachable impersonando l'attuale router di default.

69 Blackhats italia Attacchi locale - remoto (5) IRDP spoofing - tools IRPAS di Phenoelit (http://www.phenoelit.de/irpas/) IRPAS di Phenoelit (http://www.phenoelit.de/irpas/)http://www.phenoelit.de/irpas/

70 Blackhats italia Attacchi locale - remoto (5) IRDP spoofing - tracce lasciate Lindirizzo IP dellattaccanete e presente nelle rotte dell'host Lindirizzo IP dellattaccanete 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.

71 Blackhats italia Attacchi locale - remoto (5) IRDP spoofing - contromisure SI - Disabilitare IRDP sugli hosts se il sitema operativo lo permette. SI - Disabilitare IRDP sugli hosts se il sitema operativo lo permette.

72 Blackhats italia 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. 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. 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. Le rotte statiche hanno generalmente un "grosso" peso.

73 Blackhats italia Attacchi locale - remoto (6) ROUTE mangling - introduzione (2) La prima cosa che viene controllata nella scelta di una rotta e' (in generale) la netmask. 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. 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.

74 Blackhats italia Attacchi locale - remoto (6) ROUTE mangling - attacco (1) 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. INTERNETGWAT H

75 Blackhats italia Attacchi locale - remoto (6) ROUTE mangling - attacco (2) Quando H mandera' dei pacchetti per l'host per cui lATTACKER si e annunciato come rotta preferenziale, questi arriveranno a GW. Quando H mandera' dei pacchetti per l'host per cui lATTACKER 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 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. GW mandera' ad H degli ICMP redirect dicendogli di usare ATTACKER come gateway per i pacchetti successivi.

76 Blackhats italia 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 lhost attraverso lattacker. Il problema a questo punto e' trovare un modo per far arrivare i pacchetti al legittimo destinatario. GW, infatti, e convinto di poter raggiungere lhost attraverso lattacker. INTERNET GWAT H D AT2 Tunnel

77 Blackhats italia Attacchi locale - remoto (6) ROUTE mangling - attacco (4) Possibilita di usare multipath routing o QoS Possibilita di usare multipath routing o QoS

78 Blackhats italia Attacchi locale - remoto (6) ROUTE mangling - tools IRPAS di Phenoelit (http://www.phenoelit.de/irpas/) IRPAS di Phenoelit (http://www.phenoelit.de/irpas/)http://www.phenoelit.de/irpas/ Nemesis (http://www.packetfactory.net/Projects/nemesis/) Nemesis (http://www.packetfactory.net/Projects/nemesis/)http://www.packetfactory.net/Projects/nemesis/

79 Blackhats italia Attacchi locale - remoto (6) ROUTE mangling - tracce lasciate Lindirizzo IP dellattaccante nelle tabelle del router che sono comunque temporanee Lindirizzo IP dellattaccante nelle tabelle del router che sono comunque temporanee – E possibile spoofarlo come nei casi precedenti.

80 Blackhats italia Attacchi locale - remoto (6) ROUTE mangling - contromisure SI - Disabilitare i protocolli di routing dinamico che sono inutili in uno scenario di questo tipo 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 - Mettere delle ACL esplicite sull'interfaccia interna del router che blocchino gli "update" indesiderati. SI - Abilitare l'autenticazione MD5 nei protocolli che la supportano SI - Abilitare l'autenticazione MD5 nei protocolli che la supportano

81 Blackhats italia Tecniche di attacco IN REMOTO

82 Blackhats italia 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 in seguito ad una precedente richiesta. (risposta non autoritativa)

83 Blackhats italia 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 lhost richiesto) La query e' di tipo ricorsivo. (risponde risolvendo da solo lhost richiesto) La query e' di tipo iterativo. (risponde fornendo lindirizzo del DNS autoritativo per il dominio di primo livello dellhost da risolvere) La query e' di tipo iterativo. (risponde fornendo lindirizzo del DNS autoritativo per il dominio di primo livello dellhost da risolvere)

84 Blackhats italia Attacchi in remoto (1) DNS poisoning - attacco (1) ATTACCO DEL PRIMO TIPO ATTACCO DEL PRIMO TIPO Lattacco ha come fine quello di mettere nella cache del DNS una coppia Lattacco ha come fine quello di mettere nella cache del DNS una coppia Si effettua una richiesta al DNS vittima Si effettua una richiesta al DNS vittima Si spoofa la risposta che dovrebbe arrivare dal DNS autoritativo (i pacchetti sono UDP) 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) Nella risposta forgiata dobbiamo inserire l'ID corretto della transazione iniziata dal DNS vittima (brute force, semi-blind guessing)

85 Blackhats italia Attacchi in remoto (1) DNS poisoning - attacco (2) ATTACCO DEL SECONDO TIPO ATTACCO DEL SECONDO TIPO Sfrutta la feature del dynamic update di alcuni DNS 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 Inviando richieste di tipo update e possibile aggiungere o eliminare alcune entries per cui il DNS e autoritativo ATTACCO DEL TERZO TIPO ATTACCO DEL TERZO TIPO abusare del sistema di assegnazione dei domini (ad esempio richiedendo un spostamento di dominio a Network Solutions Inc.) abusare del sistema di assegnazione dei domini (ad esempio richiedendo un spostamento di dominio a Network Solutions Inc.)

86 Blackhats italia Attacchi in remoto (1) DNS poisoning - tools ADMIdPack ADMIdPack Zodiac (http://www.packetfactory.com/Projects/zodiac) Zodiac (http://www.packetfactory.com/Projects/zodiac)http://www.packetfactory.com/Projects/zodiac per il dynamic update: Net::DNS::Update per il dynamic update: Net::DNS::Update

87 Blackhats italia 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. 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. Il DNS conservera' traccia di tale IP per tutto il tempo di latenza dell'entry nella cache.

88 Blackhats italia Attacchi in remoto (1) DNS poisoning - contromisure NO - restringere il dynamic update a range di IP (possono essere spoofati) NO - restringere il dynamic update a range di IP (possono essere spoofati) SI - Usare DNS con generazione casuale dei transaction ID (Bind v9) 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 - 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 - 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. 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.

89 Blackhats italia 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 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. 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). 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 allaltro endpoint 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 allaltro endpoint

90 Blackhats italia Attacchi in remoto (2) Traffic Tunneling - introduzione (2) LAN 1 LAN * * Router 1 Router INTERNET

91 Blackhats italia Attacchi in remoto (2) Traffic Tunneling - attacco Router 1 Gateway INTERNET Server Client Fake host Attacker Tunnel GRE

92 Blackhats italia Attacchi in remoto (2) Traffic Tunneling - tools Ettercap (http://ettercap.sf.net) Ettercap (http://ettercap.sf.net)http://ettercap.sf.net –Zaratan plugin TunnelX (http://www.phrack.com) TunnelX (http://www.phrack.com)http://www.phrack.com

93 Blackhats italia Attacchi in remoto (2) Traffic Tunneling - tracce lasciate La traccia piu' evidente e senza dubbio la riconfigurazione del router (!!!). La traccia piu' evidente e senza dubbio la riconfigurazione del router (!!!).

94 Blackhats italia Attacchi in remoto (2) Traffic Tunneling - contromisure SI - Password forti sul router per l'accesso a qualsiasi livello. SI - Password forti sul router per l'accesso a qualsiasi livello. SI - Disabilitare o proteggere con community forti l'accesso in scrittura via snmp. SI - Disabilitare o proteggere con community forti l'accesso in scrittura via snmp.

95 Blackhats italia 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 Dal punto di vista del routing internet e divisa in Autonomous System (AS) connessi tra loro attraverso le backbone Si adottano differenti politiche allinterno dellAS e allesterno Si adottano differenti politiche allinterno dellAS e allesterno Gli AS sono identificati dal loro Border Gateway quando i pacchetti viaggiano sulla backbone Gli AS sono identificati dal loro Border Gateway quando i pacchetti viaggiano sulla backbone

96 Blackhats italia Attacchi in remoto (3) ROUTE mangling - introduzione (2) Distance Vector 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).

97 Blackhats italia Attacchi in remoto (3) ROUTE mangling - introduzione (3) Link State 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'".

98 Blackhats italia Attacchi in remoto (3) ROUTE mangling - introduzione (4) IGRP (Interior Gateway Routing Protocol) 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.

99 Blackhats italia Attacchi in remoto (3) ROUTE mangling - introduzione (5) EIGRP (Extended Interior Gateway Routing Protocol) 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).

100 Blackhats italia Attacchi in remoto (3) ROUTE mangling - introduzione (6) RIP (Routing Information Protocol) over UDP 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)

101 Blackhats italia Attacchi in remoto (3) ROUTE mangling - introduzione (7) OSPF (Opens Shortest Path First) 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).

102 Blackhats italia Attacchi in remoto (3) ROUTE mangling - introduzione (8) BGP4 (Border Gateway Protocol) over TCP 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.

103 Blackhats italia Attacchi in remoto (3) ROUTE mangling - attacco (1) Lattacco mira a dirottare il traffico tra le vittime A e B Lattacco mira a dirottare il traffico tra le vittime A e B Raccogliere informazioni dall attaccante verso A e verso B: Raccogliere informazioni dall attaccante verso A e verso B: –traceroute –portscanning –protoscanning

104 Blackhats italia Attacchi in remoto (3) ROUTE mangling - attacco (2) Scenario 1 a (IGRP allinterno dello stesso AS) Scenario 1 a (IGRP allinterno dello stesso AS) AB Lattaccante si annuncia come GW

105 Blackhats italia Attacchi in remoto (3) ROUTE mangling - attacco (3) Scenario 1 b (IGRP - allinterno dello stesso AS) Scenario 1 b (IGRP - allinterno dello stesso AS) AB

106 Blackhats italia Attacchi in remoto (3) ROUTE mangling - attacco (4) Scenario 2 a (il traffico non passa dallAS) Scenario 2 a (il traffico non passa dallAS) AS 1AS 2 BG 1BG 2 BG 3 AS 3 BGP RIP

107 Blackhats italia Attacchi in remoto (3) ROUTE mangling - attacco (5) Scenario 2 b (il traffico non passa dallAS) Scenario 2 b (il traffico non passa dallAS) AS 1AS 2 BG 1BG 2 BG 3 AS 3 BG 4BG 5

108 Blackhats italia Attacchi in remoto (3) ROUTE mangling - tools IRPAS di Phenoelit ( IRPAS di Phenoelit ( Nemesis ( Nemesis (

109 Blackhats italia Attacchi in remoto (3) ROUTE mangling - tracce lasciate Non ci sono tracce evidenti dellattacco Non ci sono tracce evidenti dellattacco

110 Blackhats italia Attacchi in remoto (3) ROUTE mangling - contromisure SI - La contromisura piu' efficace e' senza dubbio abilitare unautenticazione forte nei protocolli che la supportano SI - La contromisura piu' efficace e' senza dubbio abilitare unautenticazione forte nei protocolli che la supportano

111 Blackhats italia Conclusioni La sicurezza di una nostra comunicazione e affidata 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 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).

112 Blackhats italia Bibliografia Paper-mitm.txt Paper-mitm.txt –Marco Valleri –Marco Valleri –Alberto Ornaghi –Alberto Ornaghi


Scaricare ppt "Blackhats italia 2002 1 Man in the middle attacks Cosa sono Cosa sono Come sfruttarli Come sfruttarli Come ottenerli Come ottenerli Come prevenirli Come."

Presentazioni simili


Annunci Google