|
Il '''DNS spoofing''' è un [[attacco informatico]], facente parte di una categoria più vasta denominata [[man in the middle]].
{{W|informatica|giugno 2010}}
==Introduzione==
Il '''Dns spoofing'' è un [[attacco informatico]], facente parte di una categoria più vasta denominata [[man in the middle]].
[[File:Halfio.jpg|thumb|Schema di attacco Man in the middle.|alt=]]
Gli attacchi di tipo ''man in the middle'' consistono nel deviare i pacchetti (in una comunicazione tra due host) verso un attaccante, che finge di essere il mittente o destinatario vero. La struttura è la seguente: una comunicazione a due dove l'attaccante s'interpone tra i due host vittime A e B<ref name=":0">{{Cita web|url=https://www.diritto.it/pdf_archive/26961.pdf|titolo=L’attacco del tipo “Man in the middle”.|autore=Antonio Guzzo}}</ref>.
==Introduzione==
L'attaccante invia comunque i pacchetti che riceve alla giusta destinazione. In questo modo i due host attaccati non si accorgono che la comunicazione è stata alterata. In base alle abilità dell'attaccante di alterare la connessione l'attacco prende il nome di ''man in the middle'' half duplex (in una comunicazione bidirezionale si monitorizza solo un senso della connessione) o ''man in the middle'' [[full duplex]]<ref>In telecomunicazioni ed informatica il full-duplex è una modalità di invio e ricezione di informazioni digitali o analogiche, con funzione completamente bidirezionale.</ref>.
Gli attacchi di tipo [[man in the middle]] consistono nel deviare i pacchetti nell'ambito di una cominicazione tra due host ad un terzo(l'attaccante),il quale fingerà d'esser l'end pointer vero della comunicazione.
Lo scopo di questi attacchi può essere quello di rubare delle informazioni personali oppure monitorare e alterare la comunicazione tra due utenti.
La struttura è la seguente:
All'interno di una comunicazione a tre, l'attaccante si antepone tra la vittima ed il secondo host.
==DNS-Query==
[[File:maninthemiddle.PNG|left|thumb|none]]
[[File:Dnsgerarchy.JPG|thumb|Esempio di funzionamento di DNS.|alt=]]
Il [[Domain Name System|sistema DNS]] su [[Internet]] ha il compito di trasformare l'indirizzo simbolico (ad esempio www.prova.org) in indirizzo numerico o [[Indirizzo IP|IP]] (ad esempio 202.159.XXX.XXX)<ref name=":1">{{Cita web|url=http://www.ucci.it/docs/ICTSecurity-2004-19.pdf|titolo=DNS cache poisoning e Bind}}</ref>. I [[server]] DNS sono organizzati secondo una struttura ad albero gerarchica<ref>{{Cita web|url=http://sicurezza.html.it/articoli/leggi/2741/dns-cache-poisoning/|titolo=DNS cache poisoning {{!}} Articoli Sicurezza {{!}} Sicurezza.HTML.it|data=|accesso=2020-09-12|dataarchivio=25 agosto 2010|urlarchivio=https://web.archive.org/web/20100825123350/http://sicurezza.html.it/articoli/leggi/2741/dns-cache-poisoning/|urlmorto=sì}}</ref>, in cui ogni nodo corrisponde ad un dominio. I server DNS scambiano record DNS mediante tre tipi di messaggi: query, response e update. Supponiamo ad esempio di voler contattare tramite un browser il sito www.prova.org. Quest'operazione consiste in una serie di DNS query. Il server DNS dopo aver trovato l'indirizzo IP tramite varie chiamate ad altri server DNS lo comunica alla macchina richiedente con un DNS response che deve contenere l'IP giusto.
La struttura reale di una query è molto più complessa ed articolata ma questo modello semplificato è sufficiente a introdurre le caratteristiche principali dell'attacco.
==DNS Spoofing==
Il DNS spoofing si svolge nel modo seguente: la vittima fa una DNS query, l'attaccante la cattura e manda alla vittima una risposta fasulla, diversa da quella che sarebbe stata fornita dal DNS. [[File:Pachets dns.JPG|thumb|Esempio semplificato di DNS query.|alt=]]
I messaggi DNS viaggiano sulla rete utilizzando il protocollo [[User Datagram Protocol|UDP]]. La sicurezza è affidata al protocollo DNS il quale ha dei punti deboli. L'attacco sfrutta alcuni campi delle DNS query<ref>{{Cita web|url=http://www.cs.unibo.it/~margara/page2/page6/page25/assets/Gruppo9.pdf|titolo=Attacchi login: Spoofing,Sniffing, Phishing, Keyloggers|autore=Patrick Assirelli|autore2=Matteo Battaglia}}</ref>:
*l'ID (evidenziato in grigio nella figura) è un campo di 16 bit che individua la transazione. Viene generato dall'host che ha originato una DNS query; le risposte devono avere il medesimo id, altrimenti l'host non le accetterà come valide.
*Il campo QUESTION (sempre in grigio) contiene il nome di dominio richiesto e il tipo di record che devono essere inviati come risposta.
Tale attacco può esser effettuato in varie modalità:
*Simulazione delle risposte del DNS
*[[DNS cache poisoning|Cache poisoning]]
*Manomissione fisica del DNS
L'obiettivo dello spoofing è modificare la corrispondenza tra indirizzo IP e nome del sito contenuti nelle risposte.
===Simulazione delle risposte del DNS===
Questa tipologia d'attacco deve considerare l'ID della query. L'attaccante intercetta la richiesta di un client, memorizza l'ID contenuto all'interno del messaggio, e crea una falsa risposta con il giusto ID copiato precedentemente. Alla fine rispedisce il tutto al client che ha fatto la query. Affinché l'attacco riesca è necessario rispondere con l'ID atteso dal client prima del vero server. In questo modo il client crede che l'host attaccante sia il server. Questo perché il client accetta la prima risposta che gli viene inviata con id atteso ([[race condition]])<ref name=":1" />. Infine, è necessario anche intercettare le eventuali reverse query (quelle che traducono indirizzo IP a nome simbolico), perché se parte una nuova richiesta e non la s'intercetta, la vittima può accorgersi che al nome simbolico non corrisponde l'IP ricevuto dal falso DNS<ref name=":0" />.
A questo punto il client invierà tutti i pacchetti destinati a quel nome simbolico all'attaccante, il quale può:
#svolgere la funzione di [[proxy]] e creare una connessione con il client e una con il server e rimandare ogni richiesta di servizio proveniente dal client al server e ogni risposta dal server al client
#non contattare il server reale e simulare i servizi offerti dal server.
Nel caso in cui non si possa intercettare una DNS query si può provare un attacco di tipo ''blind'', ovvero un attacco alla cieca.
La simulazione delle risposte del DNS è facilmente individuabile. Infatti, utilizzando un server DNS diverso si può notare la differenza delle risposte. Inoltre l'IP dell'attaccante è presente nell'intestazione dei pacchetti IP che contengono i pacchetti UDP con le risposte DNS contraffatte.
L'attaccante riceverà pacchetti contenenti richieste da ambo due le parti ed il suo ruolo è quello di preoccuparsi d'inoltrare i pacchietti che riceve verso la giusta destinazione,in modo che hai due reali end pointer non risulti compromessa la comunicazione.
In base alle abilità dell'accattacante di monitorare la connessione (in un solo verso dall' host a all' host b, o in ambidue i sensi da a verso b e da b verso a )l'attacco prende il nome di [[man in the middle]] half duplex o [[man in the middle]] [[full duplex]].
[[File:half e full.PNG|left|thumb|nome]]
Un possibile fine di queste tipologie d'attacchi può essere quello di rubare tutte le credenziali oppure monitorare e alterare la comunicazione tra 2 utenti.
Ci sono varie tipologie d’attacchi [[man in the middle]],esse cambiano in base al contesto dove si applicano,e sono le seguenti.
*Primo caso, attacco su rete locale :
#ARP Poisoning
#Dns Spoofing
#STP mangling
#Traffic desync
*Secondo caso, attacco da rete locale su remoto attraverso un gateway :
#ARP Poisoning
#Dns Spoofing
#Traffic desync
#DHCP spoofing
#ICMP redirection
#IRDP spoofing
#Route mangling
*Terzo caso, attacco da remoto:
#Dns cache poisoing
#Traffic Tunneling
#Route mangling
==Queryng-Dns==
Il Dns ha il compito di trasformare l'indirizzo [[internet]] (esempio www.prova.org) in [[indirizzo ip]] numerico (esempio 202.159.XXX.XXX);ha una struttura ad albero gerarchica, costituita da vari server ai quali è assegnata una determinata zona.
Supponiamo di voler contattare tramite un browser (software applicativo dedicato alla navigazione internet, sono browser firefox,internet explore, google crhome,safari) www.prova.org.
Quest’operazione consiste in una query al DNS, che dopo aver trovato l'indirizzo ip tramite varie chiamate ad altri server Dns lo comunica alla macchina richiedente (di fatto se al posto del sito scriviamo il relativo ip d'esempio 202.159.XXX.XXX il sito sarebbe comunque raggiungibile).
[[File:dns gerarchia.PNG|left|thumb|]]
La struttura reale di una query è molto più complessa ed articolata ma semplifichiamo il tutto ed utilizziamo solo ciò che serve ai fini dell’attacco.
==Dns Spoofing==
Il Dns spoofing è un attacco informatico, la vittima fa richiesta di risoluzione di un host, quest'ultima viene catturata dall'attacante che può decidere di corromperla e di mandare alla vittima una risposta diversa da quella che sarebbe stata fornita dal DNS.
Tale attacco può esser effettuato in varie modalità :
*Simulazione delle risposte del Dns
*Cache poisoning
*Manomissione fisica del Dns
I dati trasmessi o inviati viaggiano sulla rete sotto forma di pacchetti ed utilizzando il protocollo UDP,la sicurezza è affidata al protocollo Dns il quale ha dei punti deboli.
L' attacco sfrutta alcuni campi dei pacchetti per i propri fini, essi sono :
*l' ID (evidenziato in grigio) ,in quanto ogni volta che si effettua una query viene generato un ' id e le risposte alla query devono avere il medesimo id altrimenti il client non accetterà le risposte,per cui questo dato è indispensabile ;
*Il campo question (sempre in grigio) poichè ogni domanda ha un type ed ogni risposta ha un type
Un pacchetto Dns lo possiamo immaginare così fatto :
[[File:pacchetto.PNG|left|thumb|]]
L'obbiettivo dello spoofing è il campo question, in quanto ogni domanda e ogni risposta hanno un tipo specifico,quello che interessa ai fini dell’attacco è l’ “A type” ovvero colui che contiene la corrispondenza tra indirizzo ip e nome del sito.
===Simulazione delle risposte del Dns(in una rete locale o da locale a remoto)===
Questa tipologia d'attacco deve considerare 3 variabili (id, risposta, porta), di fatti consiste nell'intercettare le richieste di un client, memorizzare l'id contenuto all' interno del pacchetto, e successivamente creare una falsa risposta con il giusto id copiato precedentemente, infine bisogna rispedire il tutto al client che ha effettuato la query.
Affinchè l'attacco riesca è necessario rispondere al client prima del vero server ,in modo da far credere al client che siamo noi il server anche se in realtà non è così(questa clausola viene detta "race condition").
Infine bisogna anche intercettare le eventuali reverse query(quelle contrarie da indirizzo ip a nome simbolico).
A questo punto il client invierà tutti i pacchetti destinati a quel nome simbolico all'attaccante, che deve accettare la connessione e crearne un'altra verso il vero server,a questo punto ha due opzioni possibili :
#può svolgere mansione di proxy per il server e rispondere in modo corretto a tutti i servizi che il client s'aspetta di trovare sul server.
#non contattare il server reale e mostrare servizi "falsi" al client .
Nel caso in cui siamo impossibilitati di intercettare query verso il Dns abbiamo sempre una seconda opzione,ovvero operare un attacco di tipo blind.
====Considerazioni====
La simulazione delle risposte del Dns non è un'attacco "pulito", infatti utilizzando un server Dns diverso si può notare la differenza delle risposte,inoltre cosa ben più grave l'ip(indirizzo fisico) dell'attacante è presente all'interno delle risposte Dns.
===Cache poisoning (in remoto)===
{{Vedi anche|DNS cache poisoning}}
Questa tipologia d'attacco consiste nel creare record DNS fasulli e inserirli nella [[cache]] del name server. Un name server non può contenere tutte le corrispondenze IP/nome simbolico, pertanto utilizza una cache con parti di tali corrispondenze con [[Time to live|TTL]], ovvero un periodo di vita dei dati nella cache. La tecnica del ''cache poisoning'' (in italiano, avvelenamento della cache), si basa sull'inserimento in cache di record falsi con un TTL molto grande.
Se l'attacco riesce, a questo punto qualsiasi utente che usufruisce di quel determinato server DNS ed esegue query per siti attendibili riceve come risposte corrispondenze IP/nome simbolico sbagliate dovute appunto all'avvelenamento della cache. Questa tipologia d'attacco non è facilmente intercettabile. Si può essere sotto attacco per un lungo periodo senza che ci si accorga facilmente d'esserlo, {{Senza fonte|tuttavia è quasi impossibile trovare name server vulnerabili a quest'attacco ormai considerato obsoleto}}.
Questa tipologia d'attacco consiste nel creare record Dns fasulli ed inserirli nella cache del name server.Un name server non può contenere tutte le corrispondenze ip/nome simbolico, pertanto utilizza una cache con parti di tale corrispondenze con TTL(Time to live,ovvero un periodo di vita dei dati nella cache).
===Manomissione fisica del DNS===
Quindi con una mappatura sbagliata e un TTL molto grande si ottengo indirizzi ip fasulli, su questo si basa la tecnica del cache poisoning.
Questa tipologia d'attacco è molto semplice, ma solo se si ha accesso diretto a un name server e si ha la possibilità di modificare direttamente i record cambiando manualmente gli indirizzi IP di interesse per l'attaccante.
==Contromisure==
Il problema, che si pone di fronte ad un attaccante, è come illudere il DNS SERVER in modo che accetti i record avvelenati. Queste sono alcune delle possibilità.
Per quanto riguarda la simulazione delle risposte del DNS la prima contromisura è sicuramente accorgersi di essere sotto attacco e ciò è possibile individuando eventuali risposte multiple (IDS)<ref name=":0" />. Una seconda opzione è il [[DNSSEC]] (Domain Name System Security Extensions), un protocollo che controlla e valida le richieste<ref name=":1" /><ref name=":0" />.
Per quanto riguarda il DNS Spoofing tramite ARP cache poisoning, è possibile utilizzare una soluzione [[open source]] chiamata ArpON (ARP handler inspection). ArpON è un demone portabile che rende il protocollo ARP sicuro contro attacchi man in the middle attraverso tecniche ARP Spoofing, ARP Cache Poisoning, ARP Poison Routing (APR). Un'altra soluzione è utilizzare un server che genera il campo ID dei pacchetti in maniera casuale e allo stesso modo sceglie un numero di porta di comunicazione.
*il Dns server si avvelena da solo :
==Esempio di DNS spoofing==
Un host fa una richiesta di un indirizzo(esempio www.prova.org) al suo server Dns, se tale indirizzo non è in memoria,parte una query al dns del dominio corrispondente,ora supponiamo che questo server sia stato avvelento quindi risponderà al server Dns con una mappatura sbagliata e di conseguenza si avvelenerà anche lui la cache (avvelenamento temporaneo poichè i dati nella cache hanno un time to live).
L'esempio utilizza la tecnica di simulazione del DNS su una rete locale con il programma [[ettercap]], usando come configurazione quella d'esempio contenuta nel file etter.dns (per vedere tale configurazione basta aprire il file etter.dns del programma stesso). Per eseguire l'esempio è necessario un personal computer con sistema [[Linux]] ed ettercap installato.
[[File:uotoavvelenamento dns.PNG|left|thumb|]]
Sia:
* host1 = pippo con ip 192.168.1.9 l'attaccante
* host2 = topolino con ip 192.168.1.5 la vittima
Topolino vuole collegarsi al sito www.icann.org (utilizzeremo la configurazione di default d'ettercap) e pippo vuole eseguire una simulazione delle risposte del DNS su topolino; per far ciò esegue il seguente comando:
pippo: ettercap -T -M arp:remote /192.168.1.9/ /192.168.1.1/ -P dns_spoof
Con questo comando digitato da console, pippo 192.168.1.9 si è finto gateway (192.168.1.1) e ha reindirizzato le richieste di topolino 192.168.1.5 indirizzate a www.icann.org direttamente su www.example.com; ovviamente, per far funzionare il tutto, deve configurare il reindirizzamento nel seguente modo (cosa già fatta come esempio all'interno del file)
pippo: nano /usr/share/ettercap/etter.dns
[[File:Etter.JPG|center|]]
In questo modo vengono reindirizzate tutte le connessioni di icann su example.com. Se si vuole reindirizzare un generico sito su un altro indirizzo, basta aprire il file etter.dns con [[Nano (editor)|Nano]] o con qualsiasi altro [[editor di testo]], ed analizzare la prima parte del file che si presenta nel seguente modo:
[[File:Structs.JPG|center|]]
In questa prima parte del file spiega come devono essere strutturate le query, perciò se si vogliono reindirizzare più siti basta aggiungere al file più strutture identiche a quelle dell'esempio, dove al posto di icann inseriamo il sito che si vuole reindirizzare e al posto dell'indirizzo IP di example.com utilizziamo l'indirizzo IP di dove si vuol reindirizzare la query. Va ricordato che bisogna anche cambiare la reverse query (PTR).
==Tool applicativi==
Esistono vari strumenti applicativi per svolgere questa tipologia d'attacchi. Tra i più conosciuti vi sono Ettercap, Dsniff e Zodiac.
=== Ettercap ===
{{Vedi anche|Ettercap}}
È uno [[sniffer]] evoluto, sviluppato da due programmatori italiani, che permette di intercettare tutto il traffico presente in rete anche in presenza di [[switch]]. Inoltre, offre una serie di funzioni che lo rendono un software molto valido. Tra queste funzioni abbiamo:
*Dns Id spoofing
Il DNS server inserisce solo i record che provengono da risposte a query con ID atteso. I vecchi DNS Server usavano un unico ID che veniva incrementato per le richieste successive. L’attaccante, in questo caso doveva solo venire a conoscenza di questo ID per essere abbastanza sicuro che i suoi record avvelenati verranno inseriti.
Un modo di procedere per l’attaccante è il seguente:
*Crea una rete con un DNS Server “fasullo” di cui ha pieno controllo, denominiamolo ad esempio attaccante.net
*Chiede al server vittima la traduzione di www.attaccante.net
*Il server vittima è costretto ad inviare una query al DNS fasullo della rete attaccante.net, e questa query contiene anche l’Id
*L’attaccante chiede la traduzione di un record che vuole avvelenare e spera di poter inviare lui stesso la risposta con l’Id corretto prima del DNS autoritario (race condition).
Se il server cambia gli Id nelle DNS query quest’attacco non funziona più, ma l’attaccante può fare tutte le prove che riesce ad eseguire prima che arrivi la risposta dal DNS autorevole. I possibili diversi identificativi sono 65636 (2^16), ovvero l’attaccante deve indovinare un intero in questo range.
Se l’attacco riesce, a questo punto qualsiasi utente che usufruirà di quel determinato server Dns ed eseguirà query per siti attendibili riceverà come risposte contraffatte dovute all’ "avvelenamento" della cache.
====Considerazioni====
Questa tipologia d’attacco è molto più pulita ed efficace della precedente in quanto si può essere sotto attacco per un lungo periodo senza che ci si accorga facilmente d'esserlo, ma tuttavia è quasi impossibile trovare name server vulnerabili a questo attacco ormai considerato obsoleto.
===Manomissione fisica del Dns===
Questa tipologia d’attacco dal punto di vista esplicativo è molto semplice ,avendo accesso a un name server autoritativo non facciamo nient’altro che alterare la tabella,modificando manualmente gli indirizzi ip che ci interessano.
===Contromisure===
Per quanto riguarda la simulazione delle risposte del Dns la prima contromisura è sicuramente accorgersi d'esser sotto attacco e ciò è possibile individuando eventuali risposte multiple (IDS).
Una seconda opzione è il DNSSEC ovvero Domain Name System Security Extensions il quale è l’ultimo standard d’internet implementato per garantire sicurezza ai Domain Name, è un protocollo che controlla e valida le richiesta mediante una serie di controlli,in questo modo si può prevenire l’intercettazione del traffico web.
Infine utilizzare un server che genera il campo id dei pacchetti in maniera casuale e allo stesso modo sceglie un numero di porta di comunicazione aumenta in maniera esponenziale la sicurezza del DNS.
In merito al poison cache ci limitiamo a dire che è ormai impossibile trovare server vulnerabili a questo tipo d’attacco considerato obsoleto.
===Esempi dns spoofing===
Faremo un esempio di spoofing utilizzando la tecnica di simulazione del Dns su una rete locale con ettercap , utilizzando come configurazione quella d’esempio contenuta nel file etter.dns (per vedere tale configurazione basta aprire il file etter.dns) del programma stesso;infine parleremo del caso generico.Eseguiremo il nostro esempio su un personal computer avente linux come sistema operativo ed il tool ettercap installato.
Poniamo che :
host1 = pippo con ip 192.168.1.9 sia l’attaccante
host2 = topolino con ip 192.168.1.5 sia la vittima
topolino vuole collegarsi al sito www.microsoft.com (utilizzeremo la configurazione di default di ettercap) e pippo vuole eseguire una simulazione delle risposte del DNS su topolino,per far ciò esegue il seguente comando,
pippo: ettercap -T -M arp:remote /192.168.1.9/ /192.168.1.1/ -P dns_spoof <ref name="paper mint">[http://www.blackhats.it/en/papers/Paper-mitm.pdf blackhats.it]</ref>
Con questo comando <ref name="paper mint" /> digitato da console , pippo(computer host 1) 192.168.1.9 si è finto gateway (192.168.1.1) e ha reindirizzato le richieste di topolino (host 2) 192.168.1.5 indirizzate a www.microsoft.com direttamente su www.linux.com, ovviamente per far funzionare il tutto dobbiamo configurare il reindirizzamento nel seguente modo(cosa già fatta come esempio all’interno del file) :
pippo: nano /usr/share/ettercap/etter.dns
[[File:Etter.JPG|left|thumb|]]
in questo modo abbiamo reindirizzato tutte le connessioni di microsoft su linux.
Nel caso in cui vorremmo reindirizzare un generico sito su un altro indirizzo basta aprire il file etter.dns con nano (nano /usr/share/ettercap/etter.dns) o con qualsiasi altro editor di testo,ed analizzarne la prima parte del file che si presenta nel seguente modo :
[[File:Structs.JPG|left|thumb|none]]
in questa prima parte del file spiega come devono essere strutturate le query, per cui se volessimo reindirizzare più siti basterà aggiungere al file più strutture identiche a quelle dell’esempio, dove al posto di microsoft inseriamo il sito che si vuole reindirizzare e al posto dell’indirizzo ip di linux utilizamo l’indirizzo ip di dove si vuol reindirizzare la query .Va ricordato che bisogna anche cambiare la reverse query (PTR)
===Tools applicativi===
Esistono vari tools applicativi per svolgere questa tipologia d’attacchi tra i più conosciuti vi sono :
#Ettercap
#Dsniff
#Zodiac
Ettercap:
E’ uno sniffer evoluto, sviluppato da 2 programmatori italiani che permette di sniffare tutto il traffico presente in rete anche in presenza di swich. Inoltre offre una serie di funzioni che lo rendono un software molto valido.Tra queste funzioni abbiamo :
*SSH 1 e HTTPS password sniffing;
*Password collection per una moltitudine di protocolli;
*OS fingerprinting per il riconoscimento dei [[Sistema operativo|sistemi operativi]] sugli Hosthost trovati in rete;
*Possibilità di chiudere una connessione o inserire caratteri estranei;
*Supporto di plugin vari che a loro volta presentano funzioni quali DNS spoofing, PPTP sniffing
=== Dsniff: ===
È un pacchetto di tool un po' obsoleto ma tuttora interessante per le varie possibilità offerte per lo sniffing. Nel pacchetto sono inclusi: dsniff (uno sniffer di password), arpspoof (un tool per ARP poisoning), dnsspoof (un tool per il DNS spoofing), msgsnarf (tool che cattura e visualizza i messaggi tra clients IM), mailsnarf (tool dedito a violare la privacy altrui, infatti cattura e visualizza i messaggi email), tcpkill (tool che termina le connessioni tcp nella rete locale), tcpnice (applicazione che obbliga le altre connessioni a ridurre il consumo di banda, per favorire le proprie connessioni) ed infine webspy (software che cattura e visualizza in real time la navigazione web della vittima).
=== Zodiac ===
E’ un pacchetto di tool un po’ obsoleto ma tutt’ora interessante per le varie possibilità offerte dedite allo sniffing, nel pacchetto sono inclusi : dsniff (uno sniffer di password), arpspoof (un tool per ARP poisoning), dnsspoof (un tool per il DNS spoofing), msgsnarf (tool che cattura e visualizza i messaggi tra clients IM), mailsnarf (tool dedito a violare la privacy altrui, infatti cattura e visualizza i messaggi email), tcpkill (tool che termina le connessioni tcp nella rete locale), tcpnice (applicazione che obbliga le altre connessioni a ridurre il consumo di banda delle proprie connessioni) ed infine webspy (software davvero interessante che cattura e visualizza in real time la navigazione web della vittima).
Zodiac è un programma che analizza il protocollo DNS. Permette di osservare il traffico in rete, analizzando il modo in cui sono assemblati e disassemblati i pacchetti. Il software offre, a chi non è esperto del settore strumenti per:
#vedere come funziona il protocollo DNS
Zodiac:
#fare dello spoofing senza dover scrivere delle routine di modifica o filtri per pacchetti
Le sue caratteristiche sono le seguenti<ref>{{Cita web|url=https://www.darknet.org.uk/2008/07/zodiac-dns-protocol-monitoring-and-spoofing-tool/|titolo=Zodiac - DNS Protocol Monitoring and Spoofing Tool - Darknet|autore=Darknet|data=2008-07-18|lingua=en-US|accesso=2020-09-12}}</ref>:
Zodiac è un programma molto utile che analizza il protocollo Dns.
E’ davvero utile nell’osservare il traffico su rete,infatti guarda come sono assemblati e “disassemblare” i pacchetti;il software offre delle tool per chi non è esperto del settore per vedere come funziona il protocollo Dns e come poter fare dello spoofing senza dover scrivere delle routine di modifica per i pacchetti o filtri per pacchetti,questo è il suo vero punto di forza.Le sue funzionalità sono le seguenti :
*SniffarePossibilità di intercettare qualsiasi tipo di dispositivo configurato ([[Ethernet]], [[Point-to-Point Protocol|PPP]], ecc..)
*CatturarePossibilità di catturare e decodificare quasi tutti Ii tipi di pacchetti DNS , inclusi i pacchetti decompressi
*Interfaccia testuale con comandi interattivi e finestre multiple
*laLa struttura a threaded permette più flessibilità quando si aggiungono nuove funzionalità
*ilIl codice è pulito, commentato e testato benissimo, ciò ne semplifica l’estensione l'estensione
*il sistema che filtra I i pacchetti Dns,DNS permette l’installazionel'installazione di pseudo filtri Dns DNS selezionabili da una vasta gamma di primitive di costruzione di pacchetti DNS
*visuallizzarePossibilità di visualizzare la versione del DNS name server utilizzando richieste di tipo BIND
*“spufferare” il DNS spoofing, rispondendo alle query DNS su rete LAN prima del Name Server remoto (fruttando la race condition)
*“spufferare”ilDNS Dnsspoofing con jizz, sfruttando le debolezze in vecchie versioni di BIND.
*DNS ID spoofing, sfruttando le debolezze del protocollo DNS.
==Voci correlate==
*[[Dns amplification attack]]
*[[IP spoofing]]
*[[Full duplex]]
==Note==
<references/>
== Bibliografia ==
==Collegamenti esterni==
* {{Cita libro|autore1=Cricket Liu|autore2=Paul Albitz|titolo=DNS and BIND|url=http://worldcat.org/oclc/421777651|data=2006|editore=O'Reilly|OCLC=421777651|ISBN=2-84177-409-0}}
==Voci correlate==
*[[DNS Amplification Attack]]
*[[IP spoofing]]
==Collegamenti esterni==
# http://www.diritto.it/pdf/26961.pdf
* [http://arpon.sf.net ArpON]
# http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0102/Spoofing_Slide.pdf
* [http://www.monkey.org/~dugsong/dsniff/ dsniff]
# http://www.ippari.unict.it/wikippari/storage/users/15/15/images/97/Attacchi%20MITM.pdf
* [https://www.ettercap-project.org/ ettercap]
# {{en}} http://www.securesphere.net/download/papers/dnsspoof.htm
* [https://web.archive.org/web/20041220082654/http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0102/Spoofing_Slide.pdf Spoofing - slides a cura del prof. A. De Santis]
# {{en}} http://www.menandmice.com/knowledgehub/dnssecurity/dnsspoofing/default.aspx
# http://www.cs.unibo.it/~margara/page2/page6/page25/assets/Gruppo9.pdf
# http://sicurezza.html.it/articoli/leggi/2741/dns-cache-poisoning/
# http://www.monkey.org/~dugsong/dsniff/
# http://ettercap.sourceforge.net/
# {{en}} http://www.darknet.org.uk/2008/07/zodiac-dns-protocol-monitoring-and-spoofing-tool/
# http://www.ucci.it/docs/ICTSecurity-2004-19.pdf
{{Portale|crittografia|informatica|sicurezza informatica}}
[[Categoria: Tecniche di attacco informatico]]
|