Dirottamento Servizi via Registry: Services Registry Permissions Weakness (T1574.011)
La tecnica T1574.011 sfrutta permessi deboli sulle chiavi di registro che governano i servizi Windows per dirottare l'esecuzione verso payload controllati dall'attaccante. Il cuore del problema risiede in HKLM\SYSTEM\CurrentControlSet\Services, dove ogni servizio conserva parametri critici come ImagePath, ServiceDll, FailureCommand e le sottochiavi Parameters e Performance. Quando le ACL su queste chiavi sono lasche, un utente non privilegiato può riscrivere il binario avviato dal Service Control Manager e ottenere esecuzione nel contesto dell'account associato — spesso SYSTEM.
MITRE ATT&CK colloca la tecnica in tre tattiche simultanee: TA0003 Persistence, perché la modifica sopravvive ai riavvii; TA0004 Privilege Escalation, perché il servizio gira tipicamente con privilegi superiori all'utente che ha eseguito la modifica; TA0005 Defense Evasion, perché l'esecuzione avviene attraverso il legittimo services.exe, mascherando l'origine malevola dietro un processo di sistema fidato.
Nella kill chain la tecnica si posiziona a valle di un accesso iniziale, tipicamente durante consolidamento e movimento laterale. L'impatto è amplificato dal fatto che il payload viene caricato dal SCM senza interazione utente e sopravvive a rotazioni credenziali. La campagna documentata Operation Honeybee (C0006, 2017–2018) ne è esempio concreto: gli attaccanti hanno abusato del servizio COMSysApp per caricare una DLL malevola ipnet.dll dentro svchost.exe, ottenendo persistenza mascherata da processo host legittimo.
L'assessment di T1574.011 in laboratorio parte dall'enumerazione delle ACL sulle chiavi dei servizi. Lo strumento canonico è AccessChk della Sysinternals Suite (gratuito), che fornisce una lettura granulare dei permessi effettivi:
accesschk.exe -uwqs "NT AUTHORITY\Authenticated Users" HKLM\System\CurrentControlSet\Services
Il flag -w isola solo le chiavi con permessi di scrittura effettivi per il principal indicato, riducendo il rumore. In alternativa, PowerUp (modulo di PowerSploit, open source) automatizza la ricerca con la funzione Get-ModifiableRegistryAutoRun e con Get-ServiceUnquoted / Get-ModifiableService, che identificano rispettivamente path non quotati e servizi con configurazione riscrivibile.
Una volta individuato un servizio vulnerabile, il vettore classico è la riscrittura di ImagePath. Con permessi sufficienti si usa sc.exe (built-in Windows):
sc config VulnSvc binPath= "C:\Temp\payload.exe"
Oppure via PowerShell con Set-ItemProperty sulla chiave del servizio. Da notare lo spazio dopo binPath= in sc.exe, sintatticamente obbligatorio. L'attivazione avviene con sc start VulnSvc oppure attendendo un riavvio se il servizio è impostato su Auto.
Un vettore meno rumoroso passa per FailureCommand: modificando le azioni di recovery via sc failure VulnSvc reset= 0 actions= run/1000/run/1000/run/1000 con sc failureflag e crashando volutamente il servizio, il comando di recovery viene eseguito in contesto elevato senza toccare ImagePath, riducendo la superficie di detection basata sul monitoraggio della chiave principale.
La sottochiave Parameters offre un ulteriore vettore per DLL hijacking. Servizi driver leggono qui path di DLL ausiliarie; il caso AutodialDLL sotto WinSock2\Parameters è documentato — sostituire il valore con una DLL controllata fa sì che venga caricata a ogni invocazione dello stack Winsock 2. Analogamente, creare una sottochiave Performance (se assente e se l'utente ha permesso Create Subkey) con valori Library, Open, Collect, Close forza il caricamento della DLL nel contesto del servizio di monitoraggio delle performance.
In ambiente red team, Covenant (open source) e Cobalt Strike (a pagamento) includono moduli per l'abuso di servizi. Per esercitazioni controllate, Atomic Red Team (open source) fornisce test riproducibili sotto l'ID T1574.011 con procedure di cleanup, essenziali per non lasciare backdoor persistenti nel lab.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo