Segnalazione di Traffico: Traffic Signaling (T1205)

Traffic Signaling è una tecnica in cui l'attaccante nasconde funzionalità malevole dietro un "segnale" — una sequenza di pacchetti, un valore magico o una stringa specifica — che deve essere ricevuto dal sistema compromesso per attivare una risposta. Questa risposta può consistere nell'apertura di una porta chiusa (il classico port knocking), nell'attivazione di una shell inversa, o nella modifica del comportamento di un impianto già presente.

MITRE ATT&CK cataloga la tecnica sotto tre tattiche: TA0003 (Persistence), perché permette di mantenere l'accesso senza esporre servizi visibili; TA0005 (Defense Evasion), perché il canale rimane dormiente e invisibile agli scanner tradizionali; e TA0011 (Command and Control), perché è il meccanismo trigger di molti backdoor sofisticati.

L'osservazione dei pacchetti trigger può avvenire tramite libpcap (approccio originario di Cd00r) o tramite raw socket, consentendo al malware di operare su porte già utilizzate da servizi legittimi. Su dispositivi di rete la tecnica sfrutta pacchetti forgiati per abilitare Telnet o SSH, mentre in ambienti workstation la variante Wake-on-LAN consente di accendere sistemi spenti come pivot per movimenti laterali.

I dati MITRE contano 3 gruppi APT, 16 famiglie di malware e 2 campagne documentate — numeri che riflettono l'adozione preferenziale da parte di attori state-sponsored cinesi e nordcoreani, particolarmente nei confronti di appliance perimetrali come Ivanti Connect Secure, FortiManager e router Juniper MX.

In un ingaggio red team, Traffic Signaling è utile per stabilire un canale dormiente che resista a scansioni Nessus o Nmap. Il presupposto è che nessuna porta debba risultare aperta finché non viene inviato il segnale corretto.

Su Linux, l'implementazione classica sfrutta knockd (open source), il demone che monitora sequenze di connessioni fallite verso porte chiuse. La configurazione in /etc/knockd.conf definisce la sequenza (es. 7000, 8000, 9000) e il comando da eseguire — tipicamente una regola iptables che apre temporaneamente la porta 22. Il client si limita a inviare pacchetti TCP SYN con knock host 7000 8000 9000 prima di connettersi via SSH.

Per scenari più realistici e stealth, fwknop (open source) implementa la variante Single Packet Authorization: un singolo pacchetto UDP cifrato con GnuPG o AES contiene richiesta, timestamp e HMAC, evitando la firma di traffico rilevabile del port knocking sequenziale. Configurazione tipica: fwknop -A tcp/22 -a -D --use-hmac.

Per sviluppare un backdoor custom in laboratorio, l'approccio raw socket in Python si basa sulla libreria socket con SOCK_RAW e IPPROTO_TCP, filtrando i pacchetti in ingresso per un magic value nel payload prima di attivare un reverse shell. In alternativa Scapy (open source) è ideale per prototipare rapidamente sia il lato listener che il generatore di pacchetti trigger, includendo campi TCP inusuali (flag URG+PSH, valori window specifici) come marcatore.

Su Windows, WinDivert (open source) consente di intercettare pacchetti a livello driver senza aprire una porta reale, replicando il comportamento di famiglie come Uroburos che analizzano il primo pacchetto del three-way handshake alla ricerca di un identificativo specifico dell'impianto.

Per la variante Wake-on-LAN, strumenti come wakeonlan (open source, Linux) o etherwake generano il magic packet — sei byte 0xFF seguiti da 16 ripetizioni del MAC destinazione — utile per riaccendere workstation dormienti in una fase di movimento laterale, replicando la tecnica documentata nel ransomware Ryuk.

Per simulare le tecniche APT osservate, un esercizio realistico consiste nell'implementare un listener che rifletta il comportamento di PUBLOAD e TONESHELL: eseguire codice solo quando il pacchetto di risposta C2 contiene i byte magici 17 03 03 o 46 77 4d, esercitando così la capacità di detection del blue team su pattern binari specifici anziché su porte o IP.

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.