Riassunto
CVE-2021-42278 risolve una vulnerabilità del bypass di sicurezza che consente ai potenziali utenti malintenzionati di impersonare un controller di dominio usando lo spoofing dell'account del computer sAMAccountName.
Questo articolo fornisce ulteriori dettagli e una sezione delle domande frequenti per la protezione avanzata di Gestione account di sicurezza (SAM) di Active Directory apportata dagli aggiornamenti di Windows rilasciati il 9 novembre 2021 e versioni successive come documentato in CVE-2021-42278.
Controlli di convalida di Active Directory
Dopo l'installazione di CVE-2021-42278,Active Directory eseguirà le verifiche di convalida elencate di seguito sugli attributi sAMAccountName e UserAccountControl degli account computer creati o modificati da utenti che non hanno diritti di amministratore per gli account computer.
-
Convalida sAMAccountType per gli account utente e computer
-
Gli account ObjectClass=Computer (o sottoclasse di computer) devono avere flag UserAccountControl di UF_WORKSTATION_TRUST_ACCOUNT o UF_SERVER_TRUST_ACCOUNT
-
ObjectClass=User deve avere flag UAC UF_NORMAL_ACCOUNT o UF_INTERDOMAIN_TRUST_ACCOUNT
-
-
Convalida di sAMAccountName per gli account computer
SAMAccountName di un account computer il cui attributo UserAccountControl contiene il flag UF_WORKSTATION_TRUST_ACCOUNT deve terminare con un segno di dollaro ($). Quando queste condizioni non vengono soddisfatte, Active Directory restituisce il codice di errore 0x523 ERROR_INVALID_ACCOUNTNAME. Le convalide non riuscite vengono registrate nell'ID evento 16991 Directory-Services-SAM nel log eventi di sistema.
Quando queste condizioni non vengono soddisfatte, Active Directory restituisce un codice di errore di ACCESS_DENIED. Le convalide non riuscite vengono registrate nell'ID evento 16990 Directory-Services-SAM nel log eventi di sistema.
Eventi di controllo
Errore di convalida della classe object e UserAccountControl
Quando la convalida della classe Object e di UserAccountControl non riesce, nel log di sistema verrà registrato l'evento seguente:
Registro eventi |
Sistema |
Tipo di evento |
Errore |
Origine evento |
Directory-Services-SAM |
ID evento |
16990 |
Testo evento |
Il gestore dell'account di sicurezza ha impedito a un utente non amministratore di creare un account di Active Directory in questo dominio con flag di tipo objectClass e userAccountControl non corrispondenti. Dettagli: Nome account: %1%n Oggetto AccountClass: %2%n userAccountControl: %3%n Indirizzo chiamante: %4%n SID chiamante: %5%n%n |
Errore di convalida del nome account SAM
Quando la convalida del nome dell'account SAM non riesce, nel log di sistema verrà registrato l'evento seguente:
Registro eventi |
Sistema |
Tipo di evento |
Errore |
Origine evento |
Directory-Services-SAM |
ID evento |
16991 |
Testo evento |
Il gestore dell'account di sicurezza ha bloccato la creazione o la ridenominazione di un account computer da parte di un utente non amministratore usando un sAMAccountName non valido. sAMAccountName sugli account computer deve terminare con un singolo segno $ finale. Tentativo di sAMAccountName: %1 SAMAccountName consigliato: %1$ |
Eventi di controllo per la creazione di account computer riusciti
Gli eventi di controllo esistenti seguenti sono disponibili per la corretta creazione di account computer:
-
4741(S): è stato creato un account computer
-
4742(S): è stato modificato un account computer
-
4743(S): è stato eliminato un account computer
Per altre informazioni, vedere Controllare Gestione account computer.
Domande frequenti
Q1. In che modo questo aggiornamento influisce sugli oggetti esistenti in Active Directory?
A1. Per gli oggetti esistenti, la convalida si verifica quando gli utenti che non hanno diritti di amministratore modificano gli attributi sAMAccountName o UserAccountControl.
Q2. Che cos'è un sAMAccountName?
A2. sAMAccountName è un attributo univoco per tutte le entità di sicurezza in Active Directory e include utenti, gruppi e computer. I vincoli dei nomi per sAMAccountName sono documentati in 3.1.1.6 Vincolidegli attributi per gli aggiornamenti di origine.
Q3. Che cos'è un sAMAccountType?
A3. Per altre informazioni, leggere i documenti seguenti:
Esistono tre possibili valori sAMAccountType che corrispondono a quattro possibili flag di controllo UserAccount nel modo seguente:
userAccountControl |
sAMAccountType |
---|---|
UF_NORMAL_ACCOUNT |
SAM_USER_OBJECT |
UF_INTERDOMAIN_TRUST_ACCOUNT |
SAM_TRUST_ACCOUNT |
UF_WORKSTATION_TRUST_ACCOUNT |
SAM_MACHINE_ACCOUNT |
UF_SERVER_TRUST_ACCOUNT |
SAM_MACHINE_ACCOUNT |
Q4. Quali sono i valori possibili per UserAccountControl?
A4. Per altre informazioni, leggere i documenti seguenti:
Q5. Come è possibile trovare oggetti non conformi già esistenti nell'ambiente?
A5. Gli amministratori possono cercare gli account non conformi esistenti nella directory usando uno script di PowerShell come negli esempi seguenti.
Per trovare account computer con sAMAccountNamenon conforme:
Get-ADComputer -LDAPFilter "(samAccountName=*)" |? SamAccountName -NotLike "*$" | select DNSHostName, Name, SamAccountName |
Per trovare account computer con un sAMAccountType di UserAccountControl non conforme:
Get-ADComputer -LDAPFilter "UserAccountControl:1.2.840.113556.1.4.803:=512” |