Port Knocking: Sequenza Segreta di Porte (T1205.001)

Il Port Knocking è una tecnica di occultamento dei canali di comunicazione in cui un attaccante invia una sequenza predefinita di tentativi di connessione verso porte chiuse per innescare, sul sistema bersaglio, l'apertura dinamica di una porta di servizio. La porta rimane invisibile a chi effettua uno scan tradizionale, perché appare chiusa finché la sequenza corretta non viene completata.

MITRE ATT&CK cataloga la tecnica sotto tre tattiche contemporaneamente: TA0003 Persistence, perché consente di mantenere un accesso occulto attraverso riavvii e cambi di credenziali; TA0005 Defense Evasion, perché sottrae il canale alle enumerazioni di sicurezza; e TA0011 Command and Control, perché costituisce spesso il trigger per stabilire il canale C2.

L'implementazione può avvenire tramite un demone dedicato che modifica al volo le regole del firewall host (tipicamente knockd con iptables), oppure tramite malware che sniffa i pacchetti con libpcap o raw socket, evitando così di aprire realmente una porta in ascolto. Quest'ultimo approccio, inaugurato dal proof-of-concept cd00r nel 2000, è particolarmente insidioso perché il processo malevolo può convivere con servizi legittimi sulla stessa porta.

I dati MITRE documentano 2 gruppi APT (PROMETHIUM e UNC3886), 4 famiglie malware (metaMain, Mafalda, cd00r, REPTILE) e 1 mitigazione (M1037 Filter Network Traffic). L'osservazione su appliance di rete come FortiGate, con knocking ICMP, dimostra che la tecnica ha superato il perimetro tradizionale endpoint.

In un ingaggio red team, la simulazione di Port Knocking permette di validare l'efficacia della detection comportamentale del SOC e la capacità del team di correlare eventi apparentemente scollegati. Il setup di laboratorio più semplice si basa su knockd (open source), il demone Linux storicamente usato anche da PROMETHIUM.

Su un host Ubuntu/Debian di test l'installazione è diretta con apt install knockd. La configurazione in /etc/knockd.conf definisce la sequenza di porte e il comando da eseguire alla ricezione. Un esempio didattico apre SSH temporaneamente dopo una sequenza di tre porte:

[openSSH] sequence = 7000,8000,9000 seq_timeout = 5 command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn

Dal lato attaccante, il client knock (incluso nel pacchetto) esegue la sequenza: knock -v target.lab 7000 8000 9000. In alternativa, nmap consente di generare pacchetti SYN mirati: nmap -Pn --max-retries 0 -p 7000,8000,9000 target.lab. Anche hping3 (open source) è utile per costruire pacchetti su misura, incluso ICMP knocking come osservato in UNC3886 sui FortiGate: hping3 -1 -C 8 -K target.

Per scenari più realistici che riproducano il comportamento di cd00r, si può sviluppare uno sniffer con scapy (open source) che intercetta pacchetti su interfaccia in modalità promiscua senza aprire socket in listen. Questo approccio riproduce fedelmente la logica dei malware moderni come metaMain e Mafalda, che si autenticano verso l'impianto Cryshell tramite handshake successivo al knocking.

Su Windows la simulazione richiede un approccio custom, dato che WFP (Windows Filtering Platform) non supporta nativamente port knocking. Un red teamer può scrivere un servizio in PowerShell o Go che intercetta pacchetti con WinDivert (open source) e aggiunge regole via netsh advfirewall firewall add rule.

Lato ESXi/appliance, la simulazione della campagna UNC3886 richiede un ambiente virtuale con FortiGate o dispositivi Linux embedded, dove uno script personalizzato monitora pacchetti ICMP con payload specifico e attiva regole via iptables interne.

Il valore dell'esercizio non risiede nell'apertura della porta di per sé, ma nel dimostrare che una sequenza distribuita su minuti o ore, con IP sorgenti diversi tramite proxy, sfugge alle regole IDS basate su soglie di rate. Documentare timing, sorgenti e trigger consente al blue team di calibrare le finestre di correlazione previste dalle regole AN0842-AN0845.

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.

CybersecurityUP

CybersecurityUP è una BU di Fata Informatica.
Dal 1994 eroghiamo servizi di sicurezza IT per grandi organizzazioni sia civili che militari.

  • Ethical Hacking
  • Penetration Testing
  • Security Code Review
  • SOC 24x7
Image
Image
Image
Via Tiburtina 912,
CAP 00156,
ROMA

Lunedì-venerdì
09:00 - 13:00
14:00 - 18:00

+39 06 4080 0490
amministrazione@fatainformatica.com
marketing@fatainformatica.com
commerciali@fatainformatica.com

Contattaci

Necessiti dei nostri servizi di Cybersecurity?

Privacy policy

Ti invitiamo prendere visione della nostra
privacy policy  per la protezione dei tuoi dati personali.

Disclaimer
Alcune delle foto presenti su Cybersecurityup.it potrebbero essere state prese da Internet e quindi valutate di pubblico dominio. Se i soggetti o gli autori avessero qualcosa in contrario alla pubblicazione, lo possono segnalare via email alla redazione che provvederà prontamente alla rimozione delle immagini utilizzate.