I dati vengono codificati (tipicamente in Base32 o Base64 custom) e inseriti come sottodomini nelle query DNS. Ogni query trasporta 40-180 byte di payload, nel rispetto del limite di 63 caratteri per label e 253 per l’intero FQDN.

I record TXT possono trasportare 200-900+ byte per query, rendendoli la scelta preferita per esfiltrare volumi maggiori. Sono usati da tool come DNScat2, iodine e diversi ransomware moderni.

Questi tipi di record meno monitorati trasportano 80-220 byte per query. La loro efficacia risiede nel fatto che molti strumenti di detection si concentrano solo su query A, AAAA e TXT.

Sacrificando il throughput (8-64 bit per query), queste tecniche nascondono dati in variazioni minime delle query, risultando quasi impossibili da rilevare senza analisi statistica avanzata.

Incapsulando le query DNS in HTTPS sulla porta 443, il DoH tunneling rende il traffico di esfiltrazione indistinguibile dal normale traffico web, con payload potenzialmente nell’ordine dei kilobyte.

La combinazione di rotazione rapida degli IP e generazione dinamica dei domini rende inefficaci le difese basate su blocklist statiche e Response Policy Zones.

Base32 è case-insensitive e utilizza solo caratteri alfanumerici compatibili con le restrizioni DNS sui nomi di dominio, rendendolo più robusto rispetto a Base64 standard.

In reti poco monitorate, il subdomain encoding è sufficiente ed efficiente. In ambienti con EDR e NDR avanzati, gli attaccanti migrano verso DoH tunneling o tecniche steganografiche, sacrificando throughput per stealth.

Cobalt Strike, Sliver e Brute Ratel supportano DNS exfiltration out-of-the-box. Questo abbassa drasticamente la barriera d’ingresso per gli attaccanti, che non devono più implementare il protocollo da zero.

Dal livello basso-medio del subdomain encoding (entropia e lunghezza visibili) al livello molto alto del null-byte/bit-flipping e del DoH tunneling, le difese devono essere calibrate sulla tecnica attesa.
