Manomissione Firma Codice: Code Signing Policy Modification (T1553.006)

La tecnica T1553.006 descrive la manipolazione delle policy di verifica delle firme digitali per consentire l'esecuzione di codice non firmato o auto-firmato su sistemi che, di default, applicano controlli stringenti. Rientra nella tattica TA0005 (Defense Evasion) e viene tipicamente sfruttata nelle fasi post-exploitation, quando l'attaccante dispone già di privilegi elevati e intende caricare componenti kernel-mode come rootkit o driver malevoli senza incorrere nei blocchi imposti dai meccanismi di enforcement.

I controlli target variano per sistema operativo. Su Windows troviamo Driver Signature Enforcement (DSE), disabilitabile via bcdedit.exe -set TESTSIGNING ON oppure alterando la variabile kernel g_CiOptions. Su macOS il bersaglio è System Integrity Protection (SIP), disattivabile con csrutil disable previo reboot in Recovery Mode. Altre implementazioni includono il flag RequireSigned per DLL su Windows.

I dati MITRE censiscono 2 gruppi APT (Turla e APT39), 3 famiglie malware (Hikit, BlackEnergy, Pandora) e 3 mitigazioni principali. L'impatto operativo è rilevante: una policy compromessa consente il caricamento persistente di componenti a livello kernel, con conseguente perdita di visibilità da parte di EDR e antivirus, che spesso operano in user-mode o dipendono a loro volta da driver firmati. La modifica può richiedere reboot e produrre artefatti visibili come il watermark Test Mode, che gli attaccanti tentano attivamente di nascondere.

In un red team engagement, la simulazione di T1553.006 richiede un laboratorio isolato con snapshot ripristinabili, perché le modifiche impattano il boot del sistema. Le operazioni presuppongono privilegi amministrativi già acquisiti tramite altre tecniche di privilege escalation.

Su Windows, l'approccio più diretto è l'abilitazione del test signing mode. Il comando canonico è:

bcdedit.exe /set testsigning on

seguito da reboot. Una volta attivo, il sistema accetta driver firmati con certificati self-signed generati ad esempio tramite MakeCert del Windows SDK (gratuito) o New-SelfSignedCertificate in PowerShell. Per nascondere il watermark Test Mode si può ricorrere a tool come Universal Watermark Disabler (gratuito) o modificare le risorse di user32.dll — operazione rumorosa e sconsigliata in scenari stealth.

L'approccio più sofisticato, coerente con quanto documentato per Turla, è la modifica in-memory della variabile g_CiOptions nel modulo CI.dll del kernel. Questo richiede accesso kernel-mode, tipicamente ottenuto tramite BYOVD (Bring Your Own Vulnerable Driver): si carica un driver firmato ma vulnerabile (esempi pubblici includono RTCore64.sys, gdrv.sys, dbutil_2_3.sys, tutti censiti nel progetto LOLDrivers — open source), si sfrutta la primitiva di read/write arbitrario per azzerare g_CiOptions e disabilitare DSE runtime senza reboot né watermark. Tool didattici come KDMapper (open source) e Kernel Driver Utility (open source) implementano questa catena e sono utili per validare le detection in lab.

Su macOS la simulazione richiede reboot in Recovery Mode (Command+R all'avvio) ed esecuzione dal Terminal di:

csrutil disable

seguito da reboot normale. Lo stato è verificabile con csrutil status. Su Apple Silicon la procedura è diversa e passa per la modalità 1TR (One True Recovery) con csrutil disable preceduto dall'abbassamento della security policy tramite bputil.

Per la fase di reporting, è utile documentare l'impatto: caricamento di un driver di test (es. un semplice driver echo compilato con WDK) prima e dopo la modifica, dimostrando che senza test signing il caricamento fallisce con errore STATUS_INVALID_IMAGE_HASH. Framework come Atomic Red Team (open source) includono atomici specifici per T1553.006 utili per validare le regole di detection in modo ripetibile e sicuro.

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.