Domain Fronting: Occultamento del C2 tramite CDN (T1090.004)

Il Domain Fronting è una tecnica di offuscamento del traffico Command and Control che sfrutta le architetture di routing dei Content Delivery Network e di altri servizi multi-tenant per mascherare la vera destinazione delle comunicazioni HTTPS. L'attaccante inserisce un dominio legittimo e ad alta reputazione nel campo SNI dell'handshake TLS, mentre nel campo Host dell'header HTTP interno indica il dominio reale del server di comando. Quando i due domini sono ospitati dallo stesso CDN, quest'ultimo, dopo aver terminato la sessione TLS, instrada la richiesta verso il dominio indicato nell'header HTTP, rendendo il traffico apparentemente indirizzato verso una destinazione benigna.

Esiste anche una variante chiamata domainless fronting, in cui il campo SNI viene lasciato vuoto per aggirare i controlli di coerenza tra SNI e Host quando i CDN ignorano il campo assente.

La tecnica è mappata alla tattica TA0011 (Command and Control) e rappresenta uno strumento sofisticato per garantire persistenza del canale C2, evasione dei controlli perimetrali e resilienza al takedown dell'infrastruttura. I dati MITRE censiscono 1 gruppo APT (APT29), 4 famiglie di software (Cobalt Strike, meek, SMOKEDHAM, Mythic) e 1 mitigazione ufficiale basata su ispezione SSL/TLS. La sua efficacia deriva dal fatto che il traffico appare diretto verso servizi cloud legittimi ampiamente utilizzati, rendendo difficoltoso il blocco senza impattare la produttività aziendale.

Simulare Domain Fronting in laboratorio richiede la disponibilità di un CDN che consenta ancora il routing tra domini co-ospitati. Molti provider (Google, AWS CloudFront, Azure Front Door, Fastly) hanno introdotto restrizioni progressive, quindi la scelta del provider di test è parte integrante dello scenario.

Il framework di riferimento per red team è Cobalt Strike (a pagamento), che supporta il fronting tramite la direttiva header "Host" all'interno del Malleable C2 Profile. Un profilo minimale dichiara nel blocco http-get l'header Host puntante al dominio C2 reale, mentre il beacon si collega al front domain configurato nel listener HTTPS. In alternativa, Mythic (open source) offre supporto nativo al fronting tramite header personalizzati configurabili nei profili C2 come http e websocket.

Per scenari più stealth su infrastruttura Tor, meek (open source) è il pluggable transport storicamente usato da APT29: si integra con il Tor Browser Bundle o con obfs4proxy e utilizza CDN come front per nascondere la connessione al bridge Tor.

Una catena d'attacco tipica in ambiente controllato prevede: registrazione di un dominio C2 e configurazione dietro un CDN che accetti origini custom; identificazione di un front domain legittimo servito dallo stesso CDN; generazione di payload (beacon Cobalt Strike, agent Mythic, o loader custom come SMOKEDHAM) configurato con il front domain nell'SNI e il C2 reale nell'Host header; esecuzione del payload sull'endpoint di test e verifica del round-trip.

Per validare manualmente la configurazione, uno strumento utile è curl (open source) con il flag --resolve, che consente di forzare la risoluzione di un dominio verso l'IP del CDN:

curl -H "Host: c2-reale.example" --resolve front-domain.example:443:CDN_IP https://front-domain.example/

Questo invia la richiesta all'IP del front domain, con SNI corrispondente al front ma Host header puntante al C2 reale. Se il CDN accetta il routing, la risposta arriverà dal server C2.

Per il domainless fronting è possibile usare openssl s_client (open source) con SNI vuoto tramite -servername "", seguito dall'invio manuale della richiesta HTTP. Strumenti di analisi come Wireshark (open source) e mitmproxy (open source) permettono di verificare la separazione tra i due campi nell'handshake e nella richiesta applicativa. In laboratorio è essenziale operare su infrastruttura di proprietà o esplicitamente autorizzata: il fronting su CDN di terzi senza consenso viola i loro termini di servizio.

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.