DNS spoofing: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 37.159.90.187 (discussione), riportata alla versione precedente di InternetArchiveBot Etichetta: Rollback |
-U, molteplici fix |
||
Riga 1:
{{Correggere|argomento=informatica|data=settembre 2020}}{{W|informatica|giugno 2010}}
Il '''DNS spoofing''' è un [[attacco informatico]], facente parte di una categoria più vasta denominata ''[[man in the middle]]''.
==Introduzione==
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.
[[File:Halfio.jpg|center|thumb|]]
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 ''
Lo scopo di questi attacchi può essere quello di rubare delle informazioni personali oppure monitorare e alterare la comunicazione tra due utenti.
==DNS-Query==
Il [[Domain Name System|protocollo 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). I [[server]] DNS sono organizzati secondo una struttura ad albero gerarchica, 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
[[File:Dnsgerarchy.JPG|center|thumb|Esempio di funzionamento di DNS.|alt=]]
La struttura reale di una query è molto più complessa ed articolata ma
==DNS Spoofing==
Riga 31 ⟶ 29:
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
===Simulazione delle risposte del DNS (in una rete locale o da locale a remoto)===
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). Infine è necessario anche intercettare le eventuali reverse query (quelle che traducono indirizzo
A questo punto il client invierà tutti i pacchetti destinati a quel nome simbolico all'attaccante, il quale può:
Riga 47 ⟶ 45:
===Cache poisoning (in remoto)===
{{Vedi anche|DNS cache poisoning}}
Questa tipologia d'attacco consiste nel creare record DNS fasulli
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
▲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 tali corrispondenze con TTL (Time to live, ovvero un periodo di vita dei dati nella cache). La tecnica del cache poisoning si basa sull'inserimento in cache di record falsi con un TTL molto grande. Ci sono vari modi per eseguire un cache poisoning e sono i seguenti:
▲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 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, tuttavia è quasi impossibile trovare name server vulnerabili a quest'attacco ormai considerato obsoleto.
===Manomissione fisica del DNS===
Questa tipologia d'attacco è molto semplice, ma solo se si ha accesso a un name server e possibilità di modificare direttamente i record cambiando manualmente gli indirizzi
*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).
*Una seconda opzione è il [[DNSSEC]] ovvero Domain Name System Security Extensions, un protocollo che controlla e valida le richieste.
*Per quanto riguarda il DNS Spoofing tramite ARP cache poisoning è possibile utilizzare una soluzione open source chiamata
*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.
*In merito al poison cache, {{Senza fonte|è ormai impossibile trovare server vulnerabili a questo tipo d'attacco considerato obsoleto}}.
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 operativo linux ed ettercap installato.
Riga 105 ⟶ 87:
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).
==
Esistono vari
#Ettercap▼
È uno sniffer evoluto, sviluppato da due programmatori italiani, che permette di sniffare 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:
Riga 123 ⟶ 100:
*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 ===
Zodiac è un programma che analizza il protocollo DNS. Permette di osservare il traffico su rete, analizzando il modo in cui sono assemblati e disassemblati i pacchetti. Il software offre, a chi non è esperto del settore strumenti per:
Riga 153 ⟶ 128:
*[[DNS Amplification Attack]]
*[[IP spoofing]]
==Collegamenti esterni==
| |||