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ù
Network Service Discovery descrive l'insieme di tecniche con cui un avversario enumera i servizi attivi su host remoti e dispositivi di rete, cercando porte aperte, versioni software e potenziali vulnerabilità sfruttabili. La tecnica si colloca nella fase Discovery (TA0007) della kill chain, quella in cui l'attaccante — già presente nella rete — mappa il terreno prima di muoversi lateralmente o elevare i propri privilegi.
Il perimetro della tecnica è ampio: comprende scan TCP/UDP classici, interrogazioni mDNS su macOS tramite il daemon Bonjour, ricognizioni specifiche per ambienti cloud e container, e l'uso di strumenti nativi del sistema operativo — il cosiddetto approccio living-off-the-land. I numeri del catalogo MITRE confermano la pervasività: 31 gruppi APT, 35 software, 5 campagne documentate e 3 mitigazioni raccomandate. Dai gruppi state-sponsored cinesi e iraniani fino ai ransomware operator, la scansione dei servizi di rete è uno dei denominatori comuni più stabili dell'intero panorama threat.
L'impatto operativo è diretto: ogni servizio scoperto diventa un potenziale vettore d'attacco. Un SMB esposto, un Redis senza autenticazione, un kubelet raggiungibile dall'interno del cluster — ognuno di questi è un punto d'appoggio per il passo successivo dell'intrusione.
In un esercizio red team, la scansione dei servizi di rete è il primo passo dopo il foothold iniziale. L'obiettivo è costruire una mappa accurata di ciò che è raggiungibile dal punto di compromissione, esattamente come farebbe un avversario reale. La chiave è variare gli approcci: tool dedicati, utility native e tecniche LOTL.
Scansione TCP con Nmap (open source). Il classico intramontabile. Da una shell Linux o Windows con Nmap installato, una scansione SYN veloce su una subnet interna:
nmap -sS -sV -T4 -p 21,22,80,135,443,445,1433,3306,3389,5900,8080 192.168.1.0/24 -oA scan_results
Il flag -sV tenta il version detection, fondamentale per identificare servizi vulnerabili. Il flag -T4 accelera il timing senza essere eccessivamente rumoroso. L'output in formato -oA genera file nei tre formati (normale, XML, grepable) per analisi successive.
RustScan per velocità (open source). Se il tempo è limitato e il perimetro è vasto, RustScan effettua la discovery delle porte aperte in modo estremamente rapido e poi passa i risultati a Nmap per il version fingerprinting:
rustscan -a 10.0.0.0/24 -- -sV -sC
Questa combinazione è stata osservata nella campagna C0027 contro ambienti con appliance ESXi.
Living-off-the-land su Windows. Senza installare nulla, PowerShell permette di testare porte specifiche:
Test-NetConnection -ComputerName 10.0.0.5 -Port 445
Per un approccio più sistematico, un semplice loop verifica più porte su un singolo host:
1..1024 | ForEach-Object { $socket = New-Object System.Net.Sockets.TcpClient; if ($socket.ConnectAsync("10.0.0.5", $).Wait(100)) { "Porta $ aperta" }; $socket.Dispose() }
Discovery mDNS su macOS. Il daemon Bonjour registra automaticamente i servizi. Per enumerare host che espongono SSH:
dns-sd -B _ssh._tcp .
Questo comando è nativo di macOS e non richiede privilegi elevati: perfetto per simulare un avversario con accesso utente standard.
Ambienti container. In un cluster Kubernetes, masscan (open source) permette di individuare kubelet esposti sulla porta 10250:
masscan 10.244.0.0/16 -p 10250 --rate 1000
Per completare il quadro, NBTscan (open source) è utile per l'enumerazione NetBIOS in reti Windows legacy:
nbtscan -r 192.168.1.0/24
Il consiglio operativo è documentare ogni scan con timestamp e scope nel report, e confrontare i risultati con l'inventario asset del cliente per evidenziare servizi sconosciuti o shadow IT.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo