Mascheramento del Traffico C2: Domain Fronting (T1090.004)
Il domain fronting sfrutta le architetture dei Content Delivery Network per nascondere la reale destinazione del traffico HTTPS. La tecnica manipola i campi SNI del TLS header e Host dell'HTTP header, inserendo domini diversi che però risiedono sullo stesso CDN.
Questa sofisticata tecnica di evasione viene impiegata nella fase di Command and Control (TA0011) per stabilire canali di comunicazione stealth con sistemi compromessi. Il CDN instrada il traffico basandosi sull'HTTP header dopo aver processato il TLS, facendo apparire le comunicazioni come legittime verso domini trusted.
Una variante particolarmente insidiosa, il "domainless fronting", lascia vuoto il campo SNI per aggirare anche i controlli di validazione più stringenti. APT29 ha dimostrato l'efficacia operativa di questa tecnica utilizzando il plugin meek di Tor per mascherare il proprio traffico C2.
Per testare la resilienza della tua infrastruttura contro il domain fronting, inizia configurando Cobalt Strike con header HTTP personalizzati. Il framework supporta nativamente questa tecnica attraverso il parametro Host Header nelle impostazioni del profilo di comunicazione.
Implementa un test base utilizzando curl per verificare la fattibilità: curl -H "Host: dominio-target.com" https://dominio-frontale.cdn.com/path
Il traffico apparirà diretto verso il dominio frontale, ma il CDN lo instraderà al target reale specificato nell'header Host. Per simulazioni avanzate, Mythic offre capacità di domain fronting attraverso header personalizzabili nei suoi agenti.
La variante domainless richiede modifiche più profonde al client TLS. Puoi utilizzare meek come transport plugin: meek-client --url=https://cdn-provider.com --front=
Questa configurazione lascia intenzionalmente vuoto il campo SNI, permettendo il bypass di controlli che verificano la corrispondenza tra SNI e Host header. SMOKEDHAM implementa questa tecnica hardcodando domini frontali per offuscare i server C2 reali.
Per validare l'efficacia in laboratorio, cattura il traffico con tcpdump e analizza la discrepanza tra i campi: tcpdump -i eth0 -w fronting.pcap 'port 443'
Esamina poi con Wireshark filtrando per handshake TLS e verificando che il campo SNI differisca dall'Host header HTTP successivo.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo