Server DNS Malevoli: DNS Server (T1583.002)
La tecnica T1583.002 descrive l'allestimento di server DNS controllati dall'attaccante, predisposti prima ancora che inizi l'intrusione vera e propria. Appartiene alla tattica TA0042 (Resource Development), la fase in cui l'avversario costruisce, acquista o compromette l'infrastruttura necessaria a sostenere le operazioni successive. Non parliamo quindi di sfruttamento diretto di una vulnerabilità, ma di preparazione logistica.
Invece di dirottare risorse DNS legittime, l'attaccante configura e gestisce direttamente i propri name server. Questo controllo totale sul lato server offre un vantaggio operativo notevole: consente di modellare il canale di Command and Control basato su DNS, definire risposte condizionali destinate solo al malware e strutturare la comunicazione in modo flessibile. Il traffico DNS, spesso poco ispezionato e raramente bloccato in uscita, diventa così un vettore ideale per esfiltrazione e comandi.
Gli usi tipici includono il DNS tunneling tramite record TXT, il beaconing periodico e l'impersonificazione di servizi legittimi per la cattura di credenziali. Trattandosi di attività che avvengono al di fuori del perimetro difensivo aziendale, l'impatto si materializza più tardi, durante l'Initial Access o il C2.
La difficoltà principale, sia per chi difende sia per chi indaga, è che la fase di setup è quasi invisibile: solo 1 mitigazione (M1056, Pre-compromise) è mappata e la detection punta a fasi correlate del ciclo di vita dell'attacco piuttosto che alla predisposizione dell'infrastruttura.
Trattandosi di una tecnica pre-compromise (TA0042), l'obiettivo in un ingaggio red team non è compromettere sistemi ma simulare in modo controllato l'allestimento di un canale DNS proprietario, dentro un laboratorio isolato e autorizzato.
Il punto di partenza è la registrazione di un dominio dedicato all'esercizio e la delega di un sottodominio verso una VM che ospita il proprio name server autoritativo. Strumenti maturi per costruire tunnel DNS includono iodine (open source), che crea un tunnel IP-over-DNS, e dnscat2 (open source), pensato specificamente per canali C2 cifrati su DNS. Un tipico avvio lato server di dnscat2 richiede l'indicazione del dominio delegato:
ruby dnscat2.rb
Lato client, sull'host di test, ci si aggancia al medesimo dominio per instaurare il canale. Con iodine il server si avvia assegnando una subnet privata al tunnel e specificando il dominio delegato, mentre il client vi si connette puntando al name server.
Per emulare risposte condizionali — comportamento citato tra le capacità di questi server — si può configurare un name server autoritativo standard come BIND9 (open source) o CoreDNS (open source) con viste (views) che restituiscono record diversi in base all'IP sorgente o al pattern della query. Questo replica la logica con cui un server malevolo risponde solo al proprio malware, restando silente verso i sistemi di analisi.
Per la parte di esfiltrazione via record TXT, tecnica associata a HEXANE, il framework DNSExfiltrator (open source) permette di trasferire dati incapsulandoli in query DNS, utile per misurare quanto il SOC riesca a rilevare volumi anomali.
Uno scenario avanzato è la simulazione adversary-in-the-middle DNS, avvicinabile all'operato di Sea Turtle: in laboratorio si può usare dnschef (open source), un proxy DNS che falsifica le risposte per reindirizzare un client verso servizi civetta e valutare la cattura di credenziali su un portale clonato.
Suggerimenti operativi di laboratorio:
- Isolare la rete di test per evitare che il tunnel raggiunga Internet in produzione.
- Registrare volumi, frequenze e lunghezze delle query per fornire al blue team un baseline realistico.
- Variare i tipi di record (TXT, A, CNAME, NULL) per testare più profili di detection.
L'obiettivo finale è misurare la capacità difensiva di intercettare traffico DNS anomalo, non l'infrastruttura in sé.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo