tags: Rilevare_DNS_Spoofing DNS_Spoofing_Detection DIfesa
Indicatori di DNS Spoofing
Durante l’analisi dei log o del traffico di rete, possiamo cercare i seguenti indicatori chiave per un potenziale attacco Man-in-the-Middle tramite DNS spoofing.
-
Risposte DNS multiple per la stessa query: un resolver legittimo e un responder contraffatto rispondono alla stessa query. Questo è l’indicatore più affidabile.
-
Risposta DNS da una fonte inaspettata: una risposta DNS arriva da un indirizzo IP che non corrisponde ad alcun resolver configurato (come 8.8.8.8 o il server DNS).
-
Valori TTL (Time-To-Live) sospettosamente brevi: gli aggressori utilizzano TTL molto bassi (1 - 30 secondi) per mantenere le voci contaminate di breve durata e riaffermare il controllo.
-
Risposte DNS non richieste: una risposta DNS appare senza una richiesta DNS corrispondente da parte della vittima.
Poiché il DNS è il protocollo di interesse, possiamo iniziare isolandolo utilizzando il seguente filtro. Questo ci permetterà di ispezionare le richieste:
dnsI server DNS legittimi (come l’indirizzo 8.8.8.8 di Google) rispondono da un indirizzo IP esterno noto. Filtrando le risposte da questo IP, possiamo vedere come appaiono le risposte normali per un confronto:
dns.flags.response == 1 && ip.src == 8.8.8.8Diamo un’occhiata alle risposte DNS utilizzando il filtro sottostante, nell’output possiamo cercare risposte da indirizzi IP diversi dal solito server DNS.
dns.flags.response==1Il seguente filtro mostrerà le risposte DNS dal server DNS:
dns.flags.response == 1 && ip.src == 8.8.8.8Diamo ora un’occhiata al traffico DNS per il nostro dominio di interesse, dominio.thm.com, utilizzando il seguente filtro:
dns && dns.qry.name == "dominio.thm.com"Ora filtriamo la richiesta DNS per il nostro dominio di interesse, proveniente dal server DNS, utilizzando il filtro, come mostrato di seguito:
dns.flags.response == 1 && ip.src == 8.8.8.8 && dns.qry.name == "dominio.thm.com"Nei risultati precedenti, abbiamo analizzato il traffico DNS proveniente dai server DNS per il nostro dominio di interesse. Applichiamo il seguente filtro per verificare se le richieste DNS provengono da server diversi dal server DNS 8.8.8.8:
dns.flags.response == 1 && ip.src != 8.8.8.8 && dns.qry.name == "dominio.thm.com"