Servizi Windows Compromessi: Windows Service (T1543.003)

Un servizio Windows è un programma che gira in background del sistema operativo, avviandosi automaticamente al boot per eseguire funzioni critiche senza interazione dell'utente. Gli attaccanti sfruttano questa caratteristica per mantenere l'accesso ai sistemi compromessi, creando servizi malevoli o modificando quelli esistenti per eseguire payload dannosi ad ogni riavvio.

Questa tecnica appartiene a due tattiche principali nella kill chain. Prima, la TA0003 - Persistence, dove l'attaccante cerca di mantenere l'accesso al sistema attraverso riavvii e cambi di credenziali. Seconda, la TA0004 - Privilege Escalation, poiché i servizi possono partire con privilegi di amministratore ma essere eseguiti sotto SYSTEM, permettendo un'escalation verticale dei privilegi.

L'impatto di questa tecnica è considerevole: 26 gruppi APT documentati la utilizzano attivamente, insieme a 108 famiglie di malware conosciute. Quattro campagne maggiori hanno sfruttato questa tecnica, rendendola una delle più popolari per la persistenza avanzata. La sua efficacia deriva dalla legittimità apparente dei servizi Windows e dalla difficoltà di distinguere quelli malevoli da quelli legittimi.

La creazione di servizi Windows malevoli può essere eseguita attraverso diverse tecniche, dalla riga di comando alle API native. L'approccio più semplice utilizza sc.exe per creare un nuovo servizio che punta a un eseguibile malevolo.

Per creare un servizio persistente su Windows, esegui questo comando con privilegi amministrativi: sc create "WindowsHealthService" binPath= "C:\Windows\Temp\malware.exe" start= auto

Il servizio partirà automaticamente al boot del sistema. Per renderlo meno sospetto, puoi mascherarlo con nomi simili a servizi legittimi come "Windows Defender Health Service" o "System Update Service". L'aggiunta di una descrizione credibile aumenta l'efficacia del camuffamento: sc description "WindowsHealthService" "Monitors system health and performance metrics"

Un approccio più sofisticato sfrutta PowerShell per creare servizi che eseguono script codificati in Base64. Questo evita di dover droppare file sul disco: New-Service -Name "SysHealthMon" -BinaryPathName "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -WindowStyle Hidden -EncodedCommand <base64_payload>"

Per testare l'installazione di driver malevoli, puoi utilizzare le API native direttamente. Dopo aver droppato un file .sys, registralo come servizio kernel con: sc create EvilDriver type= kernel binPath= C:\Windows\Temp\rootkit.sys

Gli attaccanti avanzati utilizzano anche tecniche BYOVD (Bring Your Own Vulnerable Driver), caricando driver legittimi ma vulnerabili per poi sfruttarli. Tools come Mimikatz includono funzionalità per caricare driver vulnerabili firmati digitalmente, bypassando le protezioni di Windows.

Per nascondere ulteriormente i servizi, puoi manipolare le ACL usando sc sdset. Questo comando imposta permessi che rendono il servizio invisibile agli strumenti standard di enumerazione, richiedendo una sintassi SDDL complessa ma efficace nel nascondere la presenza del servizio agli amministratori.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo