Elad Shamir

Dopo aver rilasciato le patch di sicurezza per due vulnerabilità di Active Directory durante il Patch Tuesday di novembre 2021, il 20 dicembre Microsoft ha esortato i clienti ad applicare immediatamente le patch per impedire agli aggressori di prendere il controllo dei domini Windows. Oltre all'applicazione delle patch, le organizzazioni possono aumentare le loro difese contro gli attacchi eseguendo un paio di azioni che contribuiranno a prevenire la creazione non autorizzata di account che potrebbero portare all'escalation dei privilegi e a un attacco.

Lettura correlata

Uno sguardo dietro le quinte di CVE-2021-42278 e CVE-2021-42287

Il9 novembre 2021, Microsoft ha rilasciato quattro CVE relative a problemi di sicurezza in Active Directory e le ha attribuite a Andrew Bartlett. Il tema comune a tre di questi aggiornamenti di sicurezza sembra riguardare la convalida dell'unicità di alcuni attributi degli oggetti AD e la verifica che non si verifichino incroci di fili durante l'emissione di ticket Kerberos, con conseguente emissione di ticket per il principale sbagliato o per il servizio sbagliato.

Mentre molti nella comunità degli infosecutori ipotizzavano che lo sfruttamento di questi problemi avrebbe comportato condizioni di gara inaffidabili o altri casi limite, i ricercatori di sicurezza Charlie Clark e Ceri Coburn hanno pubblicato un articolo che dimostra come la CVE-2021-42278 possa essere abusata per escalare i privilegi per impostazione predefinita in modo affidabile in qualsiasi dominio/foresta e persino in trust cross-forest in configurazioni specifiche.

Prima di questo aggiornamento della sicurezza, non esisteva un'applicazione che richiedesse che l'attributo sAMAccountName degli account di computer/servizio terminasse con il segno del dollaro ($), consentendo l'esistenza di account con un nome identico a quello degli account privilegiati, come controller di dominio, tranne che per il segno del dollaro finale.

Charlie e Ceri hanno scoperto che un utente malintenzionato poteva richiedere un Ticket Granting Ticket (TGT) Kerberos per un account con un sAMAcountName identico a quello di un controller di dominio (escluso il segno del dollaro) e poi modificare l'attributo sAMAccountName di tale account. Il TGT dell'attaccante sarebbe ancora valido, nonostante la modifica dell'attributo sAMAccountName dell'account.

Ora l'aggressore potrebbe chiamare l'estensione Kerberos S4U2Self per ottenere un ticket di servizio Kerberos per qualsiasi utente arbitrario, compresi gli utenti privilegiati, come i membri del gruppo Domain Admins, per il servizio associato al TGT dell'aggressore. Il controller di dominio tenterebbe di emettere il ticket a un servizio associato al nome dell'account sul TGT senza il segno del dollaro. Se il controller di dominio non riesce a trovare quell'account perché il suo attributo sAMAccountName è cambiato, cerca un servizio associato al nome del TGT con il segno del dollaro e trova l'account del controller di dominio. Di conseguenza, il controller di dominio emetterebbe in modo affidabile un ticket per l'utente privilegiato al controller di dominio e lo invierebbe all'aggressore.

Anche se in questo attacco si abusa di una funzionalità dell'estensione di delega vincolata di Kerberos (S4U2Self), l'aggiunta di tutti gli account privilegiati al gruppo Utenti protetti o la loro impostazione come sensibili per la delega non ridurrebbe il rischio perché questi controlli di sicurezza riguardano solo S4U2Proxy.

Sebbene questo attacco richieda privilegi di scrittura sull'attributo sAMAccountName di un account che ha almeno un Service Principal Name (SPN), per impostazione predefinita, tutti gli utenti autenticati possono creare fino a dieci nuovi account di computer nel dominio, consentendo loro di "portare il proprio account di computer" e sfruttare questa vulnerabilità.

Si noti che il gruppo Utenti autenticati include utenti stranieri di altre foreste con una relazione di fiducia appropriata, il che significa che, secondo la configurazione predefinita, gli attaccanti possono creare un account computer in una foresta fidata ed eseguire l'attacco anche in quella foresta, infrangendo un altro confine di sicurezza.

Come mitigare CVE-2021-42278 e CVE-2021-42287

Per prevenire gli attacchi che sfruttano CVE-2021-42278 e CVE-2021-42287, consiglio vivamente tre azioni:

  1. Installare immediatamente le patch(CVE-42287 e CVE-422278).
  2. Modificare il valore dell'attributo MSDS-MachineAccountQuota a zero.
  3. Applicare il Principio del Minimo Privilegio all'assegnazione dei diritti dell'utente etichettato "Aggiungere postazioni di lavoro al dominio" (SeMachineAccountPrivilege).

Questo piano d'azione aiuterà a prevenire la creazione non autorizzata di account di computer e ad alzare il livello di sicurezza per l'esecuzione di questo attacco e di molti altri attacchi che richiedono un account di computer o un account dotato di SPN.