1 seminario di sicurezza 01-02 attacchi remoti elisabetta parodi
TRANSCRIPT
1
Seminario di Sicurezza 01-02Attacchi Remoti
Elisabetta ParodiElisabetta Parodi
2
Argomenti trattati
SniffingSniffing Hijacking di SessioneHijacking di Sessione Spoofing (cenno)Spoofing (cenno)
3
Introduzione
Attacco localeAttacco locale
attacco contro un sistema sotto il proprio attacco contro un sistema sotto il proprio controllocontrollo
Attacco remotoAttacco remoto
attacco che, di solito, viene eseguito attacco che, di solito, viene eseguito contro un sistema separato da quello su contro un sistema separato da quello su cui si sta lavorandocui si sta lavorando
4
Sniffing
Significato del termineSignificato del termine AnnusareAnnusare
Perché è utile ad un aggressorePerché è utile ad un aggressore E’ il metodo con cui una persona può E’ il metodo con cui una persona può
compromettere la sicurezza di una rete in modo compromettere la sicurezza di una rete in modo passivopassivo. Uno sniffer è un programma o . Uno sniffer è un programma o strumento che monitora in modo passivo una rete strumento che monitora in modo passivo una rete per trovare le informazioni utili a chi se ne serve: per trovare le informazioni utili a chi se ne serve: nella maggiore parte dei casi, dati che riguardano nella maggiore parte dei casi, dati che riguardano l’ autenticazione come nomi utente e password.l’ autenticazione come nomi utente e password.
5
Sniffing
Come funzionaCome funziona
Di norma le schede di rete si limitano a ricevere Di norma le schede di rete si limitano a ricevere i pacchetti destinati agli specifici indirizzi di i pacchetti destinati agli specifici indirizzi di rete (MAC, ossia Media Access Control), rete (MAC, ossia Media Access Control), ignorando tutti gli altri. Supportano però la ignorando tutti gli altri. Supportano però la modalità promiscuamodalità promiscua: possibilità di ricevere tutto : possibilità di ricevere tutto il traffico in viaggio sulla rete.il traffico in viaggio sulla rete.
6
Sniffing
Che cosa cercareChe cosa cercare Alcuni tipi di traffico di rete che attirano un Alcuni tipi di traffico di rete che attirano un
aggressore:aggressore: Telnet, FTP, POP, IMAP: Telnet, FTP, POP, IMAP: non forniscono alcuna non forniscono alcuna
sicurezza a livello di sessione e inviano sulla rete le sicurezza a livello di sessione e inviano sulla rete le credenziali nome utente-password in testo purocredenziali nome utente-password in testo puro
rexec : rexec : su sistemi operativi in stile Unix, esegue su sistemi operativi in stile Unix, esegue remotamente i comandi. Esempio di autenticazione:remotamente i comandi. Esempio di autenticazione:
0\0oliver\0welcome\0cmd\00\0oliver\0welcome\0cmd\0
7
Sniffing
X11 : X11 : per eseguire l’ autorizzazione sui client per eseguire l’ autorizzazione sui client che tentano di connettersi al server, si avvale di che tentano di connettersi al server, si avvale di un “cookie magico” che contiene 128 bit, è un “cookie magico” che contiene 128 bit, è generato casualmente e viene inoltrato ai client generato casualmente e viene inoltrato ai client in fase di connessione => sottoponendolo a in fase di connessione => sottoponendolo a sniffing l’ aggressore può connettersi al sniffing l’ aggressore può connettersi al medesimo server X Window.medesimo server X Window.
8
Sniffing
Handle dei file NFS : Handle dei file NFS : Network File Network File System si basa sull’ handle del file per System si basa sull’ handle del file per garantire l’accesso a un certo file o garantire l’accesso a un certo file o directory offerti da un server di file directory offerti da un server di file
=> monitorando la rete è possibile => monitorando la rete è possibile ottenere questo handle e utilizzarlo per ottenere questo handle e utilizzarlo per acquisire l’ accesso alla risorsa.acquisire l’ accesso alla risorsa.
9
Sniffing
Autenticazione in Windows NT : Autenticazione in Windows NT : i S.O. i S.O. della serie Windows supportano numerosi tipi della serie Windows supportano numerosi tipi di autenticazione ciascuno dei quali aumenta di autenticazione ciascuno dei quali aumenta progressivamente il livello di sicurezza:progressivamente il livello di sicurezza:
Testo puro : password in chiaro sulla reteTesto puro : password in chiaro sulla reteLM (Lan Manager) : meccanismo di LM (Lan Manager) : meccanismo di
domanda e risposta deboledomanda e risposta deboleNTLM (NT Lan Manager) : meccanismo di NTLM (NT Lan Manager) : meccanismo di
domanda e risposta più fortedomanda e risposta più forte
10
Sniffing
SMTP : SMTP : addetto al trasferimento della posta addetto al trasferimento della posta elettronica, sia su Internet sia internamente a elettronica, sia su Internet sia internamente a molte aziendemolte aziende
=> interessa al cracker, alle aziende,…=> interessa al cracker, alle aziende,… HTTPHTTP : serve a far passare il traffico Web : serve a far passare il traffico Web
=> interessa più per questioni statistiche e per => interessa più per questioni statistiche e per
l’ impiego di rete che per il suo contenuto. l’ impiego di rete che per il suo contenuto.
11
Sniffing
Implementazioni comuniImplementazioni comuni Network Associates Sniffer ProNetwork Associates Sniffer Pro Sniffer Pro è un prodotto commerciale che Sniffer Pro è un prodotto commerciale che
supporta un’ ampia gamma di protocolli e supporta un’ ampia gamma di protocolli e visualizza i dati dello standard decodificato visualizza i dati dello standard decodificato rendendoli assai facili da leggere. Il rendendoli assai facili da leggere. Il funzionamento prevede una prima fase di funzionamento prevede una prima fase di cattura dei dati ed una seconda di decodifica e cattura dei dati ed una seconda di decodifica e visualizzazione.visualizzazione.
12
Sniffing
Network Monitor (NetMon)Network Monitor (NetMon) Software di monitoraggio di rete di Windows Software di monitoraggio di rete di Windows
NT Server => vantaggio : facoltà di NT Server => vantaggio : facoltà di decodificare parte del traffico Microsoft che decodificare parte del traffico Microsoft che non ha specifiche aperte.non ha specifiche aperte.
TCPDumpTCPDump Uno dei più famosi strumenti di diagnostica e Uno dei più famosi strumenti di diagnostica e
analisi di rete per i S.O. basati su Unix. analisi di rete per i S.O. basati su Unix. Incarichi: monitoraggio e decodifica totali dei Incarichi: monitoraggio e decodifica totali dei dati d’ intestazione di IP, TCP e UDP.dati d’ intestazione di IP, TCP e UDP.
13
Sniffing
DsniffDsniff Uno dei più completi sniffer. Uno dei più completi sniffer.
Scopo: scritto esclusivamente o quasi per Scopo: scritto esclusivamente o quasi per monitorare la rete in cerca delle credenziali di monitorare la rete in cerca delle credenziali di autenticazione; include anche utilità che autenticazione; include anche utilità che monitorano e salvano i trasferimenti di file sulla monitorano e salvano i trasferimenti di file sulla rete, gli url HTTP (rete, gli url HTTP (urlsnarfurlsnarf) e la posta ) e la posta elettronica (elettronica (mailsnarfmailsnarf).).
14
Sniffing
Tecniche di sniffing avanzateTecniche di sniffing avanzate Spoofing ARPSpoofing ARP Switch su una rete limita il flusso che attraversa Switch su una rete limita il flusso che attraversa
la sua parte di retela sua parte di rete
=> lo sniffer sovrascrive la cache dell’ ARP => lo sniffer sovrascrive la cache dell’ ARP (Address Resolution Protocol)(Address Resolution Protocol)
=> tutto il traffico in uscita dall’ host bersaglio => tutto il traffico in uscita dall’ host bersaglio viene trasmesso allo sniffer stesso viene trasmesso allo sniffer stesso
15
Sniffing
Flooding ARPFlooding ARP Uno switch deve mantenere una tabella di tutti gli Uno switch deve mantenere una tabella di tutti gli
indirizzi MAC dell’ host che appaiono su di una indirizzi MAC dell’ host che appaiono su di una singola porta. Se questi formano un grosso singola porta. Se questi formano un grosso gruppo riempiendo la tabella allora alcuni switch gruppo riempiendo la tabella allora alcuni switch cominciano a inviare tutto il traffico alla porta.cominciano a inviare tutto il traffico alla porta.
Dsniff contiene il programma Dsniff contiene il programma macofmacof che esegue il che esegue il flooding della rete locale con indirizzi MAC casuali flooding della rete locale con indirizzi MAC casuali causando il fallimento di alcuni switch causando il fallimento di alcuni switch
=> agevola lo sniffing.=> agevola lo sniffing.
16
Sniffing
ProtezioneProtezione CodificaCodifica Un meccanismo valido di codifica può Un meccanismo valido di codifica può
neutralizzare gli sniffer. Per fortuna le neutralizzare gli sniffer. Per fortuna le ultime versioni degli standard ultime versioni degli standard supportano estensioni che forniscono supportano estensioni che forniscono l’autenticazione sicural’autenticazione sicura
SSHSSH
17
Sniffing
RilevamentoRilevamento localelocale molti S.O. definiscono un meccanismo per molti S.O. definiscono un meccanismo per
determinare se un’interfaccia di rete opera in determinare se un’interfaccia di rete opera in modalità promiscua, solitamente con un modalità promiscua, solitamente con un indicatore di stato associato a ciascuna scheda di indicatore di stato associato a ciascuna scheda di rete e mantenuto nel kernel…rete e mantenuto nel kernel…
… … ma l’aggressore può compromettere ma l’aggressore può compromettere l’ output che lo indica!l’ output che lo indica!
18
Sniffing
di retedi rete
Esistono molte tecniche:Esistono molte tecniche:consultazioni DNSconsultazioni DNS latenzalatenzaAntisniffAntisniffNetwork MonitorNetwork Monitor
……ma nessuna garantisce di individuarema nessuna garantisce di individuare
sicuramente la presenza degli sniffer. sicuramente la presenza degli sniffer.
19
Hijacking di sessione
Significato del termineSignificato del termine Dirottare una sessioneDirottare una sessione Che cos’ èChe cos’ è Atto di appropriarsi di un qualsiasi collegamento, Atto di appropriarsi di un qualsiasi collegamento,
già attivo o in fase di impostazione. In seguito si già attivo o in fase di impostazione. In seguito si farà riferimento a connessioni di rete. Si sfrutta la farà riferimento a connessioni di rete. Si sfrutta la fiducia concessa ad un livello superiore del fiducia concessa ad un livello superiore del “normale”.“normale”.
20
Hijacking di sessione
Hijacking di sessione TCPHijacking di sessione TCP La connessione inizia con handshaking a tre fasi; La connessione inizia con handshaking a tre fasi;
durante lo scambio i contatori di sequenza durante lo scambio i contatori di sequenza aumentano su entrambi i lati e la ricezione del aumentano su entrambi i lati e la ricezione del pacchetto va riconosciuta con i pacchetti ACK.pacchetto va riconosciuta con i pacchetti ACK.
La connessione termina con uno scambio di La connessione termina con uno scambio di pacchetti FIN (fine) o con una richiesta di RES pacchetti FIN (fine) o con una richiesta di RES (reimposta). (reimposta).
21
Hijacking di sessione
TCP è un trasporto affidabile; risiede sopra il TCP è un trasporto affidabile; risiede sopra il livello IP, non affidabile, che talvolta perde livello IP, non affidabile, che talvolta perde pacchetti, li corrompe o li distribuisce danneggiatipacchetti, li corrompe o li distribuisce danneggiati
=> TCP deve gestire questi problemi => TCP deve gestire questi problemi ritrasmettendo i pacchetti secondo necessitàritrasmettendo i pacchetti secondo necessità
=> il software TCP su ciascun host tiene una copia => il software TCP su ciascun host tiene una copia di tutti i dati che ha inviato fino a quel momento di tutti i dati che ha inviato fino a quel momento finchè non riceve un pacchetto ACK da parte finchè non riceve un pacchetto ACK da parte dell’altra estremità. dell’altra estremità.
22
Hijacking di sessione
Vediamo due possibili situazioni.Vediamo due possibili situazioni.
CASO 1 : non c’ è la possibilità di CASO 1 : non c’ è la possibilità di rimuovere pacchetti ma solo di iniettarli rimuovere pacchetti ma solo di iniettarli
=> => tempesta di ACK che termina con:tempesta di ACK che termina con: perdita di un ACKperdita di un ACK RESRES risincronizzazionerisincronizzazione
23
Hijacking di sessione
CASO 2 : hijacking di sessione con CASO 2 : hijacking di sessione con blocco dei pacchettiblocco dei pacchetti => l’aggressore può anche emulare => l’aggressore può anche emulare
perfettamente l’ altro capo della perfettamente l’ altro capo della conversazione su uno degli host.conversazione su uno degli host.
Questi sistemi finalizzati ad assumere il Questi sistemi finalizzati ad assumere il comando di connessioni sono detti comando di connessioni sono detti firewall trasparentifirewall trasparenti..
24
Hijacking di sessione
Vediamo due strumenti di hijacking di Vediamo due strumenti di hijacking di sessione TCP:sessione TCP: JuggernautJuggernautDispone di due modalità operative:Dispone di due modalità operative:
sniffer sniffer scattando su un particolare datoscattando su un particolare dato
esempio: “assword” => registra i esempio: “assword” => registra i pacchetti che seguono la parolapacchetti che seguono la parola
““normale” normale” per hijacking cieco o interattivoper hijacking cieco o interattivo
25
Hijacking di sessione
HuntHunt Aggiunge alcuni strumenti ARP per lo spoofing Aggiunge alcuni strumenti ARP per lo spoofing
per indurre l’ host vittima ad attraversare la per indurre l’ host vittima ad attraversare la macchina attaccante per eliminare i problemi macchina attaccante per eliminare i problemi dovuti alla tempesta di ack. Per impostazione dovuti alla tempesta di ack. Per impostazione predefinita tiene traccia di connessioni telnet e predefinita tiene traccia di connessioni telnet e rlogin ma è sufficiente cambiare una piccola rlogin ma è sufficiente cambiare una piccola porzione di codice per aggiungere nuove porte porzione di codice per aggiungere nuove porte e ricompilare.e ricompilare.
26
Hijacking di sessione
Hijacking UDPHijacking UDP
Più facile che con TCP; diventa una specie Più facile che con TCP; diventa una specie di “gara” per inoltrare un pacchetto di di “gara” per inoltrare un pacchetto di risposta prima del server o del client.risposta prima del server o del client.
Esempio: hijacking DNS.Esempio: hijacking DNS.
27
Hijacking di sessione
ProtezioneProtezione crittografia (SSH, SSL )crittografia (SSH, SSL ) “ “richiedere la lettura”richiedere la lettura”
RilevamentoRilevamento Osservatori di tempesteOsservatori di tempeste
E’ facile individuare la maggior parte degli E’ facile individuare la maggior parte degli attacchi che si limitano a iniettare e non possono attacchi che si limitano a iniettare e non possono impedire l’ invio da parte di uno dei impedire l’ invio da parte di uno dei comunicatori originari. comunicatori originari.
28
Hijacking di sessione
Ad esempio nello scenario DNS il fatto che Ad esempio nello scenario DNS il fatto che vengano inoltrate due risposte, per di più non vengano inoltrate due risposte, per di più non corrispondenti, indica chiaramente che qualcosa corrispondenti, indica chiaramente che qualcosa non va. Le ritrasmissioni e i pacchetti duplicati non va. Le ritrasmissioni e i pacchetti duplicati non sono rari in una rete normale, ma nella non sono rari in una rete normale, ma nella maggior parte dei casi il contenuto è lo stessomaggior parte dei casi il contenuto è lo stesso
=> possibile soluzione: realizzare uno => possibile soluzione: realizzare uno strumento che osservi le risposte, calcoli un strumento che osservi le risposte, calcoli un hash del pacchetto e lo memorizzi per un certo hash del pacchetto e lo memorizzi per un certo periodo.periodo.
29
Spoofing (cenno)
Significato del termineSignificato del termine
Imbrogliare, ingannare, truffareImbrogliare, ingannare, truffare Che cos’ èChe cos’ è
““Fornire false informazioni su un’ identità Fornire false informazioni su un’ identità principale per ottenere l’ accesso non autorizzato principale per ottenere l’ accesso non autorizzato ai sistemi e ai loro servizi” (M.Kaeo)ai sistemi e ai loro servizi” (M.Kaeo)
Concetto chiave: assumere l’identità di un’altra Concetto chiave: assumere l’identità di un’altra persona.persona.
30
Spoofing (cenno)
Esempio classico : IPEsempio classico : IP TCP/IP richiede che ogni host compili il TCP/IP richiede che ogni host compili il
proprio indirizzo sui pacchetti e non vi è proprio indirizzo sui pacchetti e non vi è praticamente nessuna misura per impedire che praticamente nessuna misura per impedire che gli host mentanogli host mentano
E’ sempre intenzionale…E’ sempre intenzionale… … …ma alcuni malfunzionamenti o cattive ma alcuni malfunzionamenti o cattive
configurazioni possono causare lo stesso effetto configurazioni possono causare lo stesso effetto di un attacco deliberato => complicazioni nelle di un attacco deliberato => complicazioni nelle ricerche per determinare l’intento dell’attaccoricerche per determinare l’intento dell’attacco
31
Spoofing (cenno)
Che cosa non èChe cosa non è un accesso improprio con una password rubataun accesso improprio con una password rubata un “tradimento” da parte di un utente di fiduciaun “tradimento” da parte di un utente di fiducia
Impatti Impatti Sfrutta la differenza tra chi invia qualcosa e chi Sfrutta la differenza tra chi invia qualcosa e chi
sembra averlo fatto. Il più brutale attacco di sembra averlo fatto. Il più brutale attacco di spoofing non maschera l’identità del suo autore ma spoofing non maschera l’identità del suo autore ma il determinarsi dell’attacco in séil determinarsi dell’attacco in sé
=> aumentano le possibilità che l’attacco passi => aumentano le possibilità che l’attacco passi inosservatoinosservato
32
Spoofing (cenno)
RealizzazioneRealizzazione rifiuto del servizio selettivo (facoltà di rifiuto del servizio selettivo (facoltà di
inibire o fermare alcuni tipi di messaggi inibire o fermare alcuni tipi di messaggi consentendone altri)consentendone altri)
=> si blocca l’impiego di alcuni servizi => si blocca l’impiego di alcuni servizi promuovendone “altri”promuovendone “altri”
attaccare SSL con fallimenti a attaccare SSL con fallimenti a intermittenzaintermittenza
33
Riferimenti
R. Russel – S. CunninghamR. Russel – S. Cunningham
Hack Proofing ( Mc Graw Hill )Hack Proofing ( Mc Graw Hill ) www.monkey.org/~dugsong/dsniffwww.monkey.org/~dugsong/dsniff www.securityfocus.comwww.securityfocus.com http://advice.networkice.com/advice/Exploithttp://advice.networkice.com/advice/Exploit
s/TCP/session_hijacking/default.htms/TCP/session_hijacking/default.htm