Socket Filters: Filtri su Socket di Rete (T1205.002)

La tecnica Socket Filters descrive l'abuso dei filtri applicati a un socket di rete per monitorare il traffico e attivare backdoor dormienti. Con privilegi elevati, un attaccante sfrutta librerie come libpcap (su sistemi Unix-like) o Winpcap/Npcap (su Windows) per aprire socket raw e installare filtri BPF che lasciano passare solo determinati pacchetti. Il codice malevolo resta silente finché non transita un pacchetto che soddisfa i criteri del filtro: a quel punto scattano azioni sull'host, tipicamente l'apertura di una reverse shell o il download di un impianto.

Questo comportamento serve tre tattiche complementari. Sul piano della persistenza (TA0003), garantisce un accesso che sopravvive a riavvii e cambi di credenziali senza mantenere connessioni aperte. Sul piano della stealth (TA0005), il socket resta passivo: nessuna porta in ascolto tradizionale, CPU quasi a zero e visibilità minima sull'uso dei raw socket. Sul piano del command and control (TA0011), l'attivazione avviene tramite un pacchetto craftato che porta una sequenza di "magic byte".

L'impatto operativo è notevole: la logica di attivazione via pacchetto e l'assenza di attività finché il trigger non arriva rendono questi impianti particolarmente difficili da individuare con i controlli convenzionali. Nei dati MITRE compaiono 4 software che la implementano e 1 mitigazione, a conferma di un vettore concreto ma sottovalutato, spesso combinato con il Protocol Tunneling per mascherare ulteriormente le comunicazioni di ritorno.

Per riprodurre questa tecnica in laboratorio conviene comprendere i due percorsi tecnici documentati: l'uso di libpcap con pcap_setfilter e l'uso della funzione standard setsockopt con l'opzione SO_ATTACH_FILTER. Entrambi richiedono privilegi elevati (root o CAP_NET_RAW), perché aprono socket raw o AF_PACKET sull'interfaccia scelta, ad esempio eth0.

Su Linux il flusso concettuale prevede l'apertura di un socket AF_PACKET/SOCK_RAW, la compilazione di un programma BPF che seleziona solo pacchetti con un preciso pattern (ad esempio ICMP o traffico verso porte 22, 80, 443) e l'attach del filtro. Il malware BPFDoor (S1161) segue esattamente questo schema: attacca bytecode BPF a un socket per osservare pacchetti ICMP, UDP o TCP e, individuati i propri "magic byte", esegue una fork() in cui il processo figlio esegue le istruzioni ricevute mentre il padre continua a monitorare.

Per studiare la generazione dei filtri, il compilatore BPF integrato in tcpdump (open source) è didattico: il comando tcpdump -d 'icmp' mostra il bytecode del filtro, utile per capire cosa un implante attacca al socket. Per craftare i pacchetti trigger in laboratorio, Scapy (open source) permette di costruire pacchetti su misura, ad esempio IP()/ICMP()/Raw(load="MAGIC"), riproducendo l'attivazione senza scrivere codice C. Il modello di CASTLETAP (S1224), che attende un pacchetto ICMP specializzato su dispositivi di rete compromessi, si simula bene in questo modo.

Dal lato listener, un PoC minimale in C che usa setsockopt(fd, SOL_SOCKET, SO_ATTACH_FILTER, &bpf, sizeof(bpf)) consente di osservare come il processo resti inattivo fino al pacchetto corretto. È l'approccio di Penquin (S0587), che installa filtri TCP e UDP su eth0.

Su Windows la controparte è la libreria Npcap (freemium; erede di WinPcap), che espone pcap_setfilter tramite wpcap.dll e il driver npcap.sys. Un esercizio red team può caricare la libreria, impostare un filtro e attivare una connessione in uscita alla ricezione del pacchetto.

Un caso più sofisticato è PITSTOP (S1123), che ascolta su un domain socket a "/data/runtime/cockpit/wd.fd" una sequenza magica e poi duplica il socket per comunicare su TLS: uno spunto per catene che uniscono trigger passivo e tunneling cifrato. Mantieni sempre questi test in ambienti isolati con snapshot ripristinabili.

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.
We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.