Domini Generati Algoritmicamente: Domain Generation Algorithms (T1568.002)

I Domain Generation Algorithms (DGA) rappresentano una tecnica di risoluzione dinamica catalogata da MITRE ATT&CK come T1568.002, inquadrata nella tattica TA0011 (Command and Control). Il principio è tanto semplice quanto efficace: invece di codificare nel malware una lista statica di server C2, l'attaccante fa generare al codice stesso migliaia di nomi di dominio potenziali secondo una funzione deterministica, spesso basata su tempo (data corrente, timestamp UTC) o su un seed condiviso tra client e operatore.

Il risultato può assumere due forme distinte. Alcuni algoritmi producono stringhe apparentemente casuali costruite lettera per lettera (come istgmxdejdnxuyla.ru), altri concatenano parole di dizionario ottenendo domini più mimetici (come cityjulydish.net). In entrambi i casi, il difensore si trova davanti a un problema asimmetrico: bloccare o sinkholare l'infrastruttura richiede di prevedere o registrare preventivamente tutti i domini generati, un'operazione economicamente insostenibile quando si parla di migliaia di FQDN al giorno.

I dati MITRE mappano su questa tecnica 2 gruppi APT attivi (APT41 e TA551), 20 famiglie di malware e 2 mitigazioni principali. La rilevanza operativa è amplificata dall'uso frequente dei DGA come Fallback Channel: quando il canale primario viene tagliato, il malware ripiega automaticamente sulla generazione algoritmica per ristabilire il contatto, rendendo la resilienza del C2 uno degli aspetti più insidiosi dell'attacco.

Simulare un DGA in un red team engagement richiede di riprodurre sia la logica di generazione sia il ciclo di risoluzione DNS, mantenendo tutto entro un perimetro di laboratorio autorizzato. L'obiettivo è validare la capacità del SOC di distinguere traffico DNS anomalo dal rumore di fondo, non causare disservizio reale.

Un approccio didattico consiste nell'implementare un DGA minimale in Python che seedi la generazione con la data corrente e produca N domini per giorno. Una funzione tipica combina datetime.utcnow() con un hash MD5 o SHA1, estrae blocchi di byte e li mappa su caratteri alfabetici, appendendo un TLD variabile. Registrando in un ambiente controllato uno o due di questi domini su un DNS server interno, si può misurare se il tenant di sicurezza rileva la sequenza di query NXDOMAIN che precede il successo.

Per il tooling operativo autorizzato, DNSTwist (open source) permette di generare permutazioni di domini utili a simulare campagne word-based simili a quelle di CHOPSTICK o POSHSPY, mentre dnsgen (open source) produce liste basate su pattern noti. Sul fronte offensivo controllato, framework come Cobalt Strike (a pagamento) e Sliver (open source) supportano profili C2 personalizzati in cui è possibile ruotare i domini di beacon secondo una logica DGA definita nel Malleable Profile.

Una catena d'attacco realistica in laboratorio prevede: consegna di un payload che integra la routine DGA, prima esecuzione con seed temporale, tentativo di risoluzione dei primi 20-50 candidati fino al primo hit registrato, apertura del canale C2 sul dominio valido. Su Windows si può osservare il comportamento via Resolve-DnsName in PowerShell per validare le risposte, mentre su Linux dig +noall +answer fornisce output pulito per correlazione. Su macOS il comando scutil --dns mostra la configurazione dei resolver attivi.

Per chi vuole studiare implementazioni reali, il repository DGA Archive (open source, gestito da Johannes Bader) raccoglie reverse engineering di famiglie come Conficker, Ursnif, QakBot e Bazar, tutti presenti nel mapping MITRE. Analizzare questi codici insegna come varia il seeding: Conficker usa la data UTC del sistema vittima, Bazar aggiunge un offset, Grandoreiro incorpora una chiave user-specific che cambia ogni 24 ore. Riprodurre questi pattern in ambiente isolato consente di generare test case realistici per il tuning delle detection descritte in AN1178-AN1181.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.
We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.