Zusammenfassung
CVE-2021-42278 behebt eine Sicherheitsumgehungslücke, die es potenziellen Angreifern ermöglicht, die Identität eines Domänencontrollers mithilfe von sAMAccountName-Spoofing für das Computerkonto zu imitieren.
Dieser Artikel enthält zusätzliche Details und einen Abschnitt mit häufig gestellten Fragen für das Festigen von Änderungen, die von den Windows-Updates vorgenommen wurden, die am 9. November 2021 und höher veröffentlicht wurden,wie in CVE-2021-42278dokumentiert.
Active Directory-Überprüfungen
Nach der Installation von CVE-2021-42278führt Active Directory die Überprüfungsüberprüfung durch, die unten unter den sAMAccountName- und UserAccountControl-Attributen von Computerkonten erstellt oder geändert wurden, die von Benutzern ohne Administratorrechte für Computerkonten erstellt oder geändert wurden.
-
sAMAccountType-Überprüfung für Benutzer- und Computerkonten
-
ObjectClass=Computer-Konten (oder Unterklassen von Computer) müssen über UserAccountControl-Kennzeichen UF_WORKSTATION_TRUST_ACCOUNT oder UF_SERVER_TRUST_ACCOUNT
-
ObjectClass=User muss über UAC-Kennzeichen für UF_NORMAL_ACCOUNT oder UF_INTERDOMAIN_TRUST_ACCOUNT
-
-
sAMAccountName-Überprüfung für Computerkonten
Der sAMAccountName eines Computerkontos, dessen UserAccountControl-Attribut das Attribut "UF_WORKSTATION_TRUST_ACCOUNT" enthält, muss mit einem Dollarzeichen ($) enden. Wenn diese Bedingungen nicht erfüllt sind, gibt Active Directory den Fehlercode für 0x523 ERROR_INVALID_ACCOUNTNAME. Fehlgeschlagene Überprüfungen werden mit der Directory-Services-SAM-Ereignis-ID 16991 im Systemereignisprotokoll protokolliert.
Wenn diese Bedingungen nicht erfüllt sind, gibt Active Directory den Fehlercode ACCESS_DENIED. Fehlgeschlagene Überprüfungen werden mit der Directory-Services-SAM-Ereignis-ID 16990 im Systemereignisprotokoll protokolliert.
Überwachungsereignisse
Fehler bei der Objektklasse und bei der UserAccountControl-Überprüfung
Wenn die Objektklasse und die UserAccountControl-Überprüfung fehlschlägt, wird das folgende Ereignis im Systemprotokoll protokolliert:
Ereignisprotokoll |
System |
Ereignistyp |
Fehler |
Ereignisquelle |
Directory-Services-SAM |
Ereignis-ID |
16990 |
Ereignistext |
Der Sicherheitskonto-Manager hat einem Nichtadministrator das Erstellen eines Active Directory-Kontos in dieser Domäne mit nicht übereinstimmenden ObjectClass- und userAccountControl-Kontotypkennzeichen blockiert. Details: Kontoname: %1%n Account-ObjektKlasse: %2%n userAccountControl: %3%n Anruferadresse: %4%n Anrufer-SID: %5%n%n |
Fehler bei der Gültigkeitsprüfung des SAM-Kontonamens
Wenn die Überprüfung des SAM-Kontonamens fehlschlägt, wird das folgende Ereignis im Systemprotokoll protokolliert:
Ereignisprotokoll |
System |
Ereignistyp |
Fehler |
Ereignisquelle |
Directory-Services-SAM |
Ereignis-ID |
16991 |
Ereignistext |
Der Sicherheitskonto-Manager hat einem Nichtadministrator das Erstellen oder Umbenennen eines Computerkontos unter Verwendung eines ungültigen sAMAccountName gesperrt. sAMAccountName für Computerkonten muss mit einem einzelnen nachgestellten $-Zeichen enden. Attempted sAMAccountName: %1 Empfohlener sAMAccountName: %1$ |
Erfolgreiche Überwachungsereignisse für die Computerkontoerstellung
Die folgenden vorhandenen Überwachungsereignisse sind für die erfolgreiche Erstellung von Computerkontos verfügbar:
-
4741(S): Es wurde ein Computerkonto erstellt.
-
4742(S): Ein Computerkonto wurde geändert
-
4743(S): Ein Computerkonto wurde gelöscht
Weitere Informationen finden Sie unter Überwachen der Computerkontoverwaltung.
Häufig gestellte Fragen
Q1. Wie wirkt sich dieses Update auf vorhandene Objekte in Active Directory aus?
A1. Bei vorhandenen Objekten erfolgt die Überprüfung, wenn Benutzer, die nicht über Administratorrechte verfügen, die Attribute "sAMAccountName" oder "UserAccountControl" ändern.
Q2. Was ist ein sAMAccountName?
A2. sAMAccountName ist ein eindeutiges Attribut für alle Sicherheitsprinzipale in Active Directory und umfasst Benutzer, Gruppen und Computer. Die Namenseinschränkungen für sAMAccountName sind in 3.1.1.6 Attributeinschränkungenfür ursprüngliche Updates dokumentiert.
Q3. Was ist ein sAMAccountType?
A3. Weitere Informationen finden Sie in den folgenden Dokumenten:
Es gibt drei mögliche sAMAccountType-Werte, die vier möglichen UserAccountcontrol-Flags wie folgt entsprechen:
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 |
F4. Welche möglichen Werte sind für UserAccountControl möglich?
A4. Weitere Informationen finden Sie in den folgenden Dokumenten:
Q5. Wie kann ich nicht kompatible Objekte finden, die in meiner Umgebung bereits vorhanden sind?
A5. Administratoren können ihr Verzeichnis mithilfe eines PowerShell-Skripts (wie in den folgenden Beispielen) nach vorhandenen nicht kompatiblen Konten durchsuchen.
So suchen Sie Computerkonten mit einem nicht kompatiblen sAMAccountName:
Get-ADComputer -LDAPFilter "(samAccountName=*)" |? SamAccountName -NotLike "*$" | select DNSHostName, Name, SamAccountName |
So suchen Sie Computerkonten mit einem nicht kompatiblen UserAccountControl sAMAccountType
Get-ADComputer -LDAPFilter "UserAccountControl:1.2.840.113556.1.4.803:=512” |