Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Aprile! Scopri di più
Il tunneling di protocollo è una tecnica di Command and Control (TA0011) che consente agli avversari di incapsulare comunicazioni malevole all'interno di protocolli legittimi, creando un canale nascosto tra i sistemi compromessi e l'infrastruttura di controllo. Il principio è semplice quanto efficace: un protocollo viene "avvolto" dentro un altro, così che il traffico risultante appaia del tutto ordinario agli strumenti di ispezione di rete.
Le declinazioni operative sono numerose. Il tunneling SSH permette di instradare sessioni RDP o SMB attraverso un canale cifrato sulla porta 22. Il DNS tunneling sfrutta le query di risoluzione — o la variante cifrata DNS over HTTPS — per trasportare dati C2 mascherandoli come normale navigazione. L'incapsulamento HTTP/HTTPS è forse il più insidioso, perché si fonde con volumi enormi di traffico web legittimo, rendendo la detection una sfida statistica.
I numeri confermano la popolarità della tecnica: 14 gruppi APT, 18 software, 6 campagne documentate e solo 2 mitigazioni formali. Questo rapporto asimmetrico tra adozione offensiva e contromisure disponibili la rende una delle sfide più persistenti per i difensori. Dalla guerra cibernetica in Ucraina allo spionaggio industriale nel Sud-est asiatico, dal cybercrime finanziario alle operazioni contro le telecomunicazioni, il tunneling è trasversale a motivazioni, geografie e livelli di sofisticazione.
Il tunneling di protocollo si presta magnificamente alle esercitazioni red team perché esistono decine di tool open source pronti all'uso. La chiave è ricreare scenari realistici che riflettano le TTP degli APT documentati, partendo dal più classico: il tunnel SSH.
Per simulare ciò che Magic Hound, FIN6 e Cobalt Group hanno fatto con Plink, il modo più diretto è usare il client SSH nativo. Su una macchina Linux dell'attaccante, il comando per creare un tunnel locale che instradi RDP verso un host interno attraverso un pivot compromesso è:
ssh -L 3389:
Il flag -N evita l'apertura di una shell, -f manda il processo in background. Su Windows, dove FIN7 ha usato OpenSSH, la sintassi è identica nel client SSH integrato da Windows 10 in poi. Per replicare l'uso di Plink (open source, parte della suite PuTTY):
plink.exe -ssh -L 3389:
Per scenari più avanzati, Chisel (open source) è il tool scelto da Scattered Spider nella campagna C0027. Chisel funziona come client-server e può operare attraverso proxy HTTP, rendendo il tunneling resistente al filtraggio di rete. Sul server dell'attaccante:
./chisel server --reverse --port 8443
Sul pivot compromesso:
./chisel client
Questo crea un proxy SOCKS5 inverso che consente all'attaccante di raggiungere l'intera rete interna. Per il DNS tunneling — come documentato nella campagna Cutting Edge con Iodine (open source) — il setup richiede un dominio controllato dall'attaccante con un record NS configurato. Sul server:
iodined -f -c -P
Sul client nel sistema vittima:
iodine -f -P
Per simulare i tunnel GRE usati da Salt Typhoon su dispositivi di rete, in laboratorio si può configurare un'interfaccia GRE su Linux:
ip tunnel add gre1 mode gre remote
ngrok (freemium) merita una menzione dedicata perché è stato adottato sia da Fox Kitten che da Scattered Spider, oltre a comparire nella campagna SharePoint ToolShell Exploitation. La sua semplicità è disarmante: ngrok tcp 3389 espone istantaneamente una porta RDP attraverso l'infrastruttura cloud di ngrok, bypassando firewall e NAT senza alcuna configurazione.
Per l'incapsulamento C2 in DNS e HTTPS, Cobalt Strike (a pagamento) resta il riferimento — come documentato per Chimera — con profili Malleable C2 che permettono di personalizzare ogni aspetto del traffico tunnelizzato. L'alternativa open source è Mythic (open source), che supporta proxy SOCKS e agenti modulari.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo