Travestirsi da Traffico Legittimo: Protocol or Service Impersonation (T1001.003)

Quando un impianto malevolo riesce a parlare col proprio operatore mimetizzandosi nel traffico che qualunque analista si aspetta di vedere — sessioni TLS, richieste HTTP verso servizi cloud, handshake crittografici ordinari — la partita della detection si fa enormemente più complicata. La tecnica Protocol or Service Impersonation (T1001.003), sottotecnica di Data Obfuscation, si colloca nella fase di Command and Control (TA0011) della kill chain: l'avversario ha già compromesso l'host e deve mantenere un canale di comunicazione stabile, silenzioso e resistente all'ispezione.

Il principio è semplice ma efficace: anziché inventare un protocollo custom facilmente fingerprint-abile, il malware forgia pacchetti che sembrano TLS, HTTP o traffico di servizi noti come Gmail e Yahoo Messenger. Alcune varianti costruiscono un FakeTLS handshake — header con byte 0x17 0x03 0x03 che simulano TLSv1.2 — senza mai negoziare realmente una sessione crittografica, mentre altre manipolano header HTTP, cookie e URI per imitare applicazioni web legittime.

L'ecosistema è ampio: 18 software, 3 gruppi APT e 1 campagna documentata sfruttano questa tecnica, a conferma di quanto sia trasversale — dall'arsenale nordcoreano del Lazarus Group fino agli strumenti di spionaggio di Mustang Panda. La mitigazione primaria è una sola, ma potente: sistemi di Network Intrusion Prevention capaci di ispezionare il traffico oltre le apparenze superficiali del protocollo.


Il cuore di questa tecnica è l'inganno a livello di protocollo: il red teamer deve dimostrare che il traffico C2 attraversa i controlli di rete senza generare alert. Il tool più immediato per questa simulazione è Cobalt Strike (a pagamento), che supporta nativamente i cosiddetti Malleable C2 Profiles — file di configurazione che definiscono come il beacon formatta le proprie comunicazioni HTTP, dove nasconde i dati (header, cookie, body, URI) e quale User-Agent presentare.

Un profilo Malleable ben costruito trasforma il traffico del beacon in qualcosa di indistinguibile da una richiesta verso un servizio cloud. L'operatore può specificare URI che imitano endpoint reali di aggiornamento software, inserire cookie con nomi plausibili e manipolare header come Host, Referer e Content-Type. Per caricare un profilo personalizzato all'avvio del team server:

./teamserver <IP> <percorso-profilo.profile>

Per chi preferisce un'alternativa open source, Sliver C2 (open source) consente di configurare connessioni HTTPS con certificati personalizzati e traffic shaping. Il comando per generare un impianto HTTPS:

sliver > generate --http --save

La simulazione del FakeTLS — tecnica chiave di questo scenario — richiede un approccio più artigianale. Con Python e la libreria socket, si può costruire un pacchetto che apre una connessione TCP e invia byte iniziali che imitano un TLS record header (\x17\x03\x03) seguiti da payload arbitrario. Questo simula esattamente ciò che fanno TONESHELL, PUBLOAD e StarProxy. Il test verifica se i sensori di rete riconoscono la sessione come TLS legittimo o la segnalano come anomala.

Un altro vettore da validare è la manipolazione dei cookie HTTP. Lo scenario FRAMESTING è un caso emblematico: il malware usa un cookie chiamato DSID, identico a quello impiegato da Ivanti Connect Secure per le sessioni VPN. In laboratorio, si può configurare un listener Cobalt Strike il cui profilo Malleable inserisca dati C2 nel cookie DSID e instradi le richieste verso un path che imita il portale VPN.

Per misurare l'efficacia dell'evasione, si esegue il traffico simulato attraverso Suricata (open source) o Zeek (open source) con le regole di default attive, verificando quante sessioni vengono correttamente identificate come anomale. Il confronto tra i fingerprint JA3 del traffico simulato e quelli di sessioni TLS reali — ottenibile tramite lo script JA3 di Salesforce (open source) — fornisce una metrica oggettiva della qualità dell'impersonation.


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

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo