Abuso di Servizi di Sistema: System Services (T1569)

La tecnica T1569 - System Services descrive l'abuso di servizi o daemon di sistema per eseguire comandi e programmi arbitrari. Rientra nella tattica TA0002 (Execution) e si colloca tipicamente nelle fasi centrali della kill chain, dopo l'ottenimento di un accesso iniziale e prima o durante il movimento laterale e il consolidamento.

A differenza di tecniche di persistenza pura come Create or Modify System Process, qui l'attenzione è sull'esecuzione: il servizio può essere effimero, creato per lanciare un payload una tantum e poi rimosso, oppure sfruttato tramite invocazioni remote per eseguire codice su macchine terze. Su Windows il vettore classico è il Service Control Manager manipolato via sc.exe, PowerShell o API native; su Linux le orchestrazioni passano da systemd, init.d o service; su macOS il perno è launchd con i suoi property list.

L'impatto è duplice. Sul piano operativo, l'esecuzione avviene con privilegi elevati (spesso SYSTEM su Windows o root su Unix), aggirando controlli applicativi che agiscono solo su processi utente. Sul piano investigativo, le esecuzioni via servizio si mimetizzano nel rumore amministrativo legittimo, rendendo la detection dipendente da baseline accurate. MITRE elenca 4 mitigazioni (M1018, M1022, M1026, M1040) e una strategia di detection multipiattaforma (DET0279) che copre Windows, Linux e macOS con analisi dedicate.

Su Windows il punto di partenza in un ingaggio red team è il Service Control Manager. La creazione di un servizio con binario controllato dall'attaccante avviene con la sintassi nativa sc.exe create binPath= "C:\path\payload.exe" start= auto seguita da sc.exe start . Attenzione allo spazio dopo l'uguale: è richiesto dal parser. In alternativa, il cmdlet PowerShell New-Service consente la stessa operazione con maggior flessibilità sui parametri. Per esecuzione remota il tool di riferimento resta PsExec (gratuito, suite Sysinternals di Microsoft), che installa un servizio temporaneo PSEXESVC sul target: psexec \\target -s cmd.exe apre una shell come SYSTEM. Equivalenti open source ampiamente usati in laboratorio sono Impacket (open source), in particolare psexec.py, smbexec.py e services.py, che replicano il pattern senza binario nativo installato.

Per scenari più stealth, SharpNoPSExec e moduli come Invoke-ServiceAbuse di PowerSploit (open source) manipolano servizi esistenti mal configurati: se un servizio ha ACL deboli, si può riscrivere il ImagePath e riavviarlo per ottenere esecuzione privilegiata senza crearne uno nuovo. Il tool AccessChk (gratuito, Sysinternals) è utile per enumerare servizi vulnerabili: accesschk.exe -uwcqv "Authenticated Users" * elenca i servizi scrivibili dagli utenti autenticati.

Su Linux la creazione di un unit file in /etc/systemd/system/backdoor.service con direttiva ExecStart seguita da systemctl daemon-reload && systemctl enable --now backdoor.service fornisce esecuzione e persistenza. Per ambienti privi di systemd si ricade su script in /etc/init.d/ o cron. In post-exploitation, framework come Metasploit (open source) e Sliver (open source) automatizzano queste operazioni tramite moduli dedicati.

Su macOS il pattern è la scrittura di un file .plist in /Library/LaunchDaemons/ (root) o ~/Library/LaunchAgents/ (utente), seguito da launchctl load . Il framework Mythic (open source) con l'agent Apfell copre questo scenario.

In ambienti ESXi, che espongono servizi tramite esxcli, si osserva l'abuso di script custom registrati come servizi persistenti sull'hypervisor. In laboratorio, ogni catena va testata con Sysmon attivo e telemetria centralizzata, così da validare anche la detection lato blue team nello stesso esercizio.

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.