Il setup richiede la registrazione di un dominio e la configurazione dei record NS verso un server controllato dall’attaccante. Questo server logga ogni query ricevuta e può rispondere con comandi di controllo.
<img src=“../diagrams/lesson-03-subdomain-encoding-flusso-ioc_slide-01.png” alt=‘Diagramma: L’attaccante controlla un server DNS autoritativo’ style=“max-width: 90%; height: auto; border-radius: 12px; border: 2px solid #005588;”>
Il limite di 63 caratteri per label DNS (RFC 1035) impone la frammentazione dei dati. Ogni chunk viene codificato separatamente e inviato come query individuale.

Base32 utilizza solo caratteri A-Z e 2-7, tutti validi nei nomi di
dominio e case-insensitive. Base64 standard include + e
/ che non sono ammessi nelle label DNS.

Ogni query contiene il chunk codificato, un session ID per
identificare l’operazione e un chunk number per ricostruire l’ordine.
Esempio: [chunk].[session_id].[chunk_num].[dominio_c2].

Il resolver ricorsivo aziendale inoltra la query verso il server autoritativo malevolo senza alcuna consapevolezza del contenuto. Dal suo punto di vista, è una normale risoluzione DNS.

Questo è l’IOC più facilmente rilevabile. Un endpoint legittimo non genera centinaia di query verso un singolo dominio sconosciuto in un’ora.

Le query DNS legittime raramente superano 60-80 caratteri totali. Una lunghezza superiore a 180 caratteri indica con alta probabilità dati codificati nei subdomini.

Stringhe pseudo-random nei subdomini producono un’entropia di Shannon superiore a 4.0-4.5, molto più alta rispetto a nomi di dominio leggibili dall’uomo che tipicamente hanno entropia tra 2.5 e 3.5.

Se un server autoritativo malevolo risponde a qualsiasi subdominio, il tasso di NXDOMAIN per quel dominio sarà anomalamente basso. In condizioni normali, query verso subdomini casuali genererebbero molti errori.

= o ==) nelle query è un
segnale evidenteLa presenza ricorrente di caratteri di padding alla fine delle label è un indicatore diretto di dati codificati in Base64, facilmente rilevabile con regex anche basilari.
