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:

dns

I 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.8

Diamo 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==1

Il seguente filtro mostrerà le risposte DNS dal server DNS:

dns.flags.response == 1 && ip.src == 8.8.8.8

Diamo 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"