Skeleton Key sul Domain Controller: Domain Controller Authentication (T1556.001)

Questa tecnica consente a un avversario di alterare il processo di autenticazione direttamente sul domain controller, iniettando credenziali fittizie nella memoria del processo LSASS. Il risultato è una backdoor silenziosa: l'attaccante può autenticarsi come qualsiasi utente del dominio usando una password universale — la cosiddetta Skeleton Key — senza modificare le password reali degli account.

La tecnica si colloca in tre tattiche distinte della kill chain. In Credential Access (TA0006) rappresenta un metodo per ottenere accesso alle credenziali di qualunque account di dominio. In Defense Evasion (TA0005) funziona perché le credenziali legittime degli utenti restano invariate, rendendo la compromissione invisibile ai controlli convenzionali. In Persistence (TA0003), infine, garantisce una presenza stabile finché il domain controller non viene riavviato, poiché la patch risiede solo in memoria.

L'impatto è devastante negli ambienti a singolo fattore di autenticazione: una volta patchato LSASS, l'intera infrastruttura Active Directory diventa accessibile con una sola password. Un riavvio del DC cancella la modifica dalla memoria, ma senza detection attiva l'attaccante può reiniettare il payload indisturbato. Dai dati disponibili risultano 1 gruppo APT, 1 software documentato e 4 mitigazioni applicabili — numeri contenuti che riflettono l'alto livello di privilegio necessario per eseguire questa tecnica, tipico di fasi avanzate dell'intrusione.

Per simulare questa tecnica in laboratorio è indispensabile un ambiente Active Directory isolato con almeno un domain controller Windows Server 2019 o 2022. Il test richiede privilegi di Domain Admin o equivalenti, poiché l'iniezione avviene nel processo LSASS del DC — un processo protetto ad alto privilegio.

Lo strumento di riferimento è Mimikatz (open source), che include il modulo misc::skeleton progettato esattamente per questo scenario. Prima di eseguire l'iniezione, è utile verificare lo stato di protezione del processo LSASS sul target. Da una sessione PowerShell elevata sul domain controller:

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name "RunAsPPL"

Se il valore è impostato a 1, la protezione Protected Process Light è attiva e l'iniezione standard fallirà. In laboratorio, per procedere con il test, si può disabilitare temporaneamente questa protezione — operazione che in produzione costituirebbe invece il primo indicatore di manomissione.

Con LSASS non protetto da PPL, l'iniezione si esegue dal domain controller stesso dopo aver ottenuto una sessione privilegiata:

mimikatz # privilege::debug mimikatz # misc::skeleton

Il modulo patcha in memoria le funzioni di autenticazione NTLM, iniettando la password di default mimikatz. A questo punto, da qualsiasi workstation del dominio, si può verificare l'autenticazione con la skeleton key:

net use \DC01\C$ /user:DOMINIO\qualsiasi_utente mimikatz

Se il comando restituisce accesso, l'iniezione ha funzionato. La password legittima dell'utente continua a funzionare normalmente — entrambe le credenziali sono valide in parallelo.

Per un approccio red team più strutturato, Cobalt Strike (a pagamento) permette di eseguire Mimikatz in-memory tramite il comando mimikatz nella beacon console, evitando di scrivere il binario su disco. In alternativa, il framework Impacket (open source) consente di interagire con il DC via rete per validare le credenziali iniettate usando lo script smbclient.py.

Al termine del test, un semplice riavvio del domain controller cancella la patch dalla memoria. Documentate nella timeline del report il momento esatto dell'iniezione, il SID dell'account utilizzato e tutti gli accessi eseguiti con la skeleton key, perché questi dati serviranno al blue team per calibrare le detection.

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

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

We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.