Le agenzie di sicurezza informatica dell'alleanza Five Eyes, tra cui il CISA e l'NSA, hanno esortato le organizzazioni a rafforzare la sicurezza di Microsoft Active Directory (AD), un obiettivo primario per i cyberattaccanti. Il recente rapporto dell'alleanza evidenzia più di una dozzina di tattiche che gli attori delle minacce utilizzano per sfruttare l'AD. Tra queste tecniche comuni c'è lo sfruttamento della delega non vincolata.
Che cos'è la delega non vincolata?
La delega non vincolata consente a un servizio o a un computer di impersonare un utente nell'intero dominio, una volta che l'utente si è autenticato(Figura 1). Quando un utente richiede l'accesso a un servizio (ad esempio, una condivisione di file tramite CIFS), un Ticket Granting Ticket (TGT) Kerberos viene inoltrato e memorizzato nella memoria del servizio. Questo ticket viene quindi fissato in memoria, consentendo al servizio di agire per conto dell'utente e di accedere ad altre risorse di rete.
Dal punto di vista di un attaccante, il primo passo consiste nell'eseguire una query LDAP per individuare i server che hanno abilitato la delega non vincolata(Figura 2). I controller di dominio (DC) possono essere ignorati perché la delega non è vincolata per impostazione predefinita sui DC. Tuttavia, anche i server regolari con questa impostazione sono obiettivi preziosi. Dopo aver compromesso tali server, l'aggressore può utilizzarli per monitorare i TGT in arrivo quando gli utenti richiedono i Service Ticket (ST) Kerberos, consentendo all'aggressore di impersonare tali utenti e accedere ad altre risorse della rete.
Dopo aver identificato i server con delega non vincolata e aver verificato l'accesso dell'amministratore locale, l'aggressore può utilizzare PSExec per spostarsi lateralmente su SMB verso tali macchine(Figura 3).
Da qui, l'attaccante può iniziare a utilizzare Rubeus per monitorare i TGT Kerberos in arrivo(Figura 4). L'attaccante può quindi intercettare e potenzialmente sfruttare questi ticket quando altri utenti richiedono l'accesso ai servizi della rete.
In questo esempio, l'aggressore è riuscito a catturare un TGT Kerberos per un amministratore di dominio(Figura 5). L'account amministratore ha richiesto un ST per il servizio CIFS su un server con delega non vincolata abilitata, causando la memorizzazione del TGT nella memoria del server.
Come ci si può difendere dallo sfruttamento non vincolato della delega?
L'ideale sarebbe evitare del tutto l'uso della delega non vincolata. Se questo non è possibile, l'approccio migliore è quello di considerare qualsiasi server con delega non vincolata abilitata come un sistema di livello 0.
Come si può individuare una delega non vincolata?
I difensori possono utilizzare lo strumento Purple Knight per identificare gli account utente e computer configurati per una delega non vincolata(Figura 6). Una contromisura efficace consiste nell'attivare l'opzione Account è sensibile e non può essere delegato per gli account di livello 0 e altri account altamente privilegiati. In questo modo si può evitare che questi account vengano utilizzati in modo improprio attraverso attacchi di delega.
Semperis Directory Services Protector ( DSP) include una categoria AD Delegation dedicata, che monitora costantemente una serie di impostazioni di delega di Active Directory insicure o rischiose(Figura 7). Al momento della stesura del presente documento, DSP tiene traccia di 20 configurazioni di delega alla ricerca di potenziali vulnerabilità.
Strumenti di delega non vincolati
Lo strumento GhostPack/Rubeus, disponibile su github.com, può essere utilizzato per sfruttare i server con delega non vincolata abilitata.
Formazione della Squadra Rossa
Le squadre rosse sfruttano spesso la delega non vincolata, che viene spesso trattata nei seguenti corsi di formazione sulle squadre rosse:
- Difesa Outflank contro gli attacchi mirati moderni
- Le operazioni della squadra rossa di Zero Point Security
- Laboratorio Attacco e difesa di Active Directory di Altered Security
Istantanea Semperis
La delega non vincolata consente a un aggressore di impersonare gli utenti in un intero dominio e può essere rischiosa se non gestita correttamente. Quando un utente richiede un Service Ticket Kerberos, un TGT Kerberos viene memorizzato nella memoria del server ed è un obiettivo primario se il server viene compromesso. Gli aggressori possono abusare dei TGT per impersonare gli utenti e accedere ad altre risorse della rete.