Manipolazione Alimentazione: Power Settings (T1653)
La tecnica T1653 - Power Settings rientra nella tattica TA0003 (Persistence) e descrive l'abuso delle impostazioni di risparmio energetico per prolungare la finestra di controllo su una macchina compromessa. Quando un sistema entra in standby, ibernazione o si spegne, molti componenti software e hardware cessano di operare: sessioni di rete cadono, processi in memoria vengono terminati, connessioni C2 si interrompono. L'attaccante che ha investito tempo nell'ottenere accesso vuole evitare tutto questo.
Su Windows lo strumento nativo powercfg.exe consente di modificare qualunque parametro energetico configurabile: timeout dello schermo, ibernazione, sospensione, blocco automatico. Su Linux esistono equivalenti come systemctl e systemd-inhibit, mentre su macOS il comando pmset svolge la stessa funzione. Manipolando questi parametri, l'attaccante trasforma la macchina in un endpoint sempre attivo e sempre raggiungibile.
Un aspetto peculiare è l'inversione della logica: mentre molte tecniche di persistence si concentrano sul sopravvivere ai reboot, qui l'obiettivo è impedire i reboot stessi, oppure — come nel caso di Line Dancer — modificare il processo di crash dump per saltare la raccolta di evidenze forensi. In altri scenari il reboot viene invece innescato deliberatamente per attivare payload che si eseguono al riavvio, come documentato nella campagna ArcaneDoor. L'impatto operativo è duplice: prolungamento dell'accesso e riduzione della superficie di detection e forensics.
In un contesto di red team autorizzato, la simulazione di T1653 si costruisce attorno a utility native del sistema operativo, evitando binari di terze parti che genererebbero alert immediati sugli EDR.
Su Windows il tool cardine è powercfg.exe, presente in ogni installazione. Per elencare gli schemi energetici disponibili si usa powercfg /list, mentre powercfg /query restituisce la configurazione dello schema attivo. Per impedire la sospensione automatica su alimentazione AC il comando è powercfg /change standby-timeout-ac 0, che imposta il timeout a zero (mai). Analogamente powercfg /change hibernate-timeout-ac 0 disabilita l'ibernazione temporizzata, e powercfg /hibernate off rimuove del tutto la funzionalità cancellando anche hiberfil.sys. Il timeout del blocco schermo si estende via registro modificando HKLM\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop.
Una catena realistica prevede: escalation a SYSTEM tramite tecnica separata, esecuzione dei comandi powercfg per congelare gli stati energetici, e successiva installazione del payload di persistenza. In un lab con Atomic Red Team (open source) esistono test specifici per T1653 che automatizzano queste modifiche in modo tracciabile.
Su Linux la simulazione ruota attorno a systemd. Il comando systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target rende impossibili le transizioni verso stati a basso consumo. In alternativa systemd-inhibit --what=sleep:shutdown --who=maintenance --why=test sleep infinity crea un blocco esplicito. La modifica di /etc/systemd/sleep.conf con direttive AllowSuspend=no e AllowHibernation=no produce un effetto persistente attraverso i reboot.
Su macOS pmset è l'equivalente di powercfg. sudo pmset -a sleep 0, sudo pmset -a disksleep 0 e sudo pmset -a displaysleep 0 neutralizzano tutti i timer di risparmio energetico. Il flag -a applica la configurazione a tutte le sorgenti di alimentazione.
Per la componente di crash dump evasion ispirata a Line Dancer, un red team può simulare la disabilitazione del kernel dump su Windows via registro (HKLM\SYSTEM\CurrentControlSet\Control\CrashControl con CrashDumpEnabled=0) documentando l'operazione. Su appliance di rete Cisco l'equivalente richiede accesso privilegiato al sistema operativo sottostante e non è replicabile in lab standard.
Durante l'esercizio è essenziale documentare lo stato iniziale con powercfg /query > baseline.txt per ripristinare la configurazione originale a fine test, evitando impatti operativi sulla macchina target.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo