Enumerazione Servizi: System Service Discovery (T1007)

La tecnica T1007 - System Service Discovery rientra nella tattica TA0007 (Discovery) del framework MITRE ATT&CK e descrive l'attività con cui un attaccante, dopo aver ottenuto un accesso iniziale, cerca di enumerare i servizi registrati sul sistema compromesso. L'obiettivo è duplice: capire quali processi persistenti sono attivi (agenti EDR, backup, controller di dominio, database) e individuare servizi vulnerabili o disabilitabili per facilitare movimenti successivi.

Gli avversari sfruttano tipicamente utility native del sistema operativo, che non destano sospetti perché già presenti e firmate: sc query, tasklist /svc, net start su Windows, systemctl --type=service su Linux, launchctl list su macOS. A queste si aggiungono i task pianificati enumerabili con schtasks o crontab -l.

Il volume di adozione è significativo: 14 gruppi APT documentati, 51 famiglie di malware e 2 campagne conosciute (Operation CuckooBees e Operation Wocao) usano esplicitamente questa tecnica. L'enumerazione dei servizi si colloca nelle fasi post-exploitation della kill chain, subito dopo l'accesso iniziale e prima delle fasi di privilege escalation o lateral movement, e alimenta decisioni automatizzate del malware su come proseguire l'infezione, quali difese neutralizzare e se il target vale l'investimento operativo.

In un ingaggio red team, l'enumerazione dei servizi è quasi sempre il secondo passo dopo il whoami /all. Su Windows la triade classica resta sc query state= all, tasklist /svc /fo csv e net start, tutte disponibili di default e prive di dipendenze. Per un output più ricco wmic service get name,displayname,pathname,startmode,state (deprecato ma ancora funzionante su molti Windows 10/11) o l'equivalente PowerShell Get-WmiObject -Class win32_service | Select Name, PathName, StartMode, State, la stessa classe WMI che Indrik Spider utilizza operativamente.

PowerShell offre alternative meno rumorose: Get-Service | Where-Object {$_.Status -eq 'Running'} o Get-CimInstance Win32_Service. Per identificare servizi con permessi deboli sfruttabili in privilege escalation, il tool PowerUp (open source, parte di PowerSploit) automatizza la ricerca con Invoke-AllChecks, mentre SILENTTRINITY (open source) integra moduli dedicati a servizi modificabili. PoshC2 (open source) e Cobalt Strike (a pagamento) includono comandi di enumerazione servizi integrati nei beacon.

Su Linux la ricognizione parte da systemctl list-units --type=service --state=running per systemd, con fallback su service --status-all nei sistemi SysV. Vale la pena controllare anche ls /etc/init.d/, ls /etc/systemd/system/ e i task pianificati con crontab -l per l'utente corrente, sudo crontab -u root -l se disponibile, e ls /etc/cron./*. Su macOS launchctl list e launchctl print system mostrano rispettivamente daemon utente e di sistema.

Per host ESXi (bersaglio ricorrente di ransomware) i comandi utili sono esxcli system process list e /etc/init.d/ per gli script di avvio. Su ambienti containerizzati, docker ps e kubectl get pods --all-namespaces estendono il concetto ai carichi orchestrati.

Una catena d'attacco realistica in laboratorio: dopo l'accesso iniziale via phishing con payload C2, enumerare i servizi per identificare l'EDR presente (CrowdStrike, SentinelOne, Defender), verificare i servizi Alibaba/BMC (come fa TeamTNT su cloud) e i backup Veeam, mappare i servizi terze parti vulnerabili con accesschk.exe -uwcqv "Authenticated Users" * /accepteula (Sysinternals, gratuito) per trovare permessi SERVICE_CHANGE_CONFIG sfruttabili per privilege escalation via binpath hijacking. Documentare sempre in report l'esatto comando, l'utente eseguente e il timestamp per facilitare la validazione delle detection.

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.