Sammanfattning
CVE-2021-42278 adresserar ett säkerhetsfördrifieringshål som gör att potentiella attacker kan utge sig för att utge sig för att vara en domänkontrollant med hjälp av datorkontot sAMAccountName-förfalskning.
Den här artikeln innehåller mer information och ett avsnitt med vanliga frågor om SAM (Active Directory Security Accounts Manager) för att hårdna ändringar som gjorts av Windows-uppdateringar som släpptes den 9 november 2021 och senare enligt CVE-2021-42278.
Verifieringskontroller i Active Directory
När du har installerat CVE-2021-42278utför Active Directory verifieringsinspektionerna som anges nedan på sAMAccountName- och UserAccountControl-attributen för datorkonton som skapats eller ändrats av användare som inte har administratörsrättigheter för datorkonton.
-
sAMAccountType-verifiering för användar- och datorkonton
-
ObjectClass=Computer-konton (eller underklass av dator) måste ha UserAccountControl-UF_WORKSTATION_TRUST_ACCOUNT eller UF_SERVER_TRUST_ACCOUNT
-
ObjectClass=User måste ha UAC-flaggor UF_NORMAL_ACCOUNT eller UF_INTERDOMAIN_TRUST_ACCOUNT
-
-
sAMAccountName-validering för datorkonton
SAMAccountName för ett datorkonto vars UserAccountControl-attribut innehåller UF_WORKSTATION_TRUST_ACCOUNT-flaggan måste sluta med ett enda dollartecken ($). När dessa villkor inte uppfylls returnerar Active Directory felkoden för 0x523 ERROR_INVALID_ACCOUNTNAME. Misslyckade verifieringar loggas i Directory-Services-SAM händelse-ID 16991 i händelseloggen System.
När dessa villkor inte uppfylls returnerar Active Directory en felkod för ACCESS_DENIED. Misslyckade verifieringar loggas i Directory-Services-SAM händelse-ID 16990 i händelseloggen System.
Granskningshändelser
Verifieringsfel för objektklass och UserAccountControl
När verifieringen av Objektklass och UserAccountControl misslyckas loggas följande händelse i systemloggen:
Händelselogg |
System |
Händelsetyp |
Fel |
Händelsekälla |
Directory-Services-SAM |
Händelse-ID |
16990 |
Händelsetext |
Säkerhetskontohanteraren blockerade en person som inte var administratör från att skapa ett Active Directory-konto i den här domänen med objekt som inte matcharClass- och userAccountControl-kontotypsflaggor. Detaljer: Kontonamn: %1%n Account objectClass: %2%n userAccountControl: %3%n Uppringaradress: %4%n Uppringare SID: %5%n%n |
Verifieringsfel i SAM-kontonamn
När valideringen av SAM-kontonamn misslyckas loggas följande händelse i systemloggen:
Händelselogg |
System |
Händelsetyp |
Fel |
Händelsekälla |
Directory-Services-SAM |
Händelse-ID |
16991 |
Händelsetext |
Säkerhetskontohanteraren blockerade en person som inte är administratör från att skapa eller byta namn på ett datorkonto med hjälp av ett ogiltigt sAMAccountName. sAMAccountName på datorkonton måste avslutas med ett enda avslutande $-tecken. SAMAccountName, försök till det: %1 Rekommenderad sAMAccountName: %1$ |
Lyckade granskningshändelser för datorkontoskapande
Följande befintliga granskningshändelser är tillgängliga så att du kan skapa ett datorkonto:
-
4741(S): Ett datorkonto har skapats
-
4742(S): Ett datorkonto har ändrats
-
4743(S): Ett datorkonto har tagits bort
Mer information finns i Granskning av kontohantering för datorer.
Vanliga frågor och svar
Kv1. Hur påverkas befintliga objekt i Active Directory av den här uppdateringen?
A1. För befintliga objekt inträffar verifieringen när användare som inte har administratörsrättigheter ändrar attributen sAMAccountName eller UserAccountControl.
Kv2. Vad är ett sAMAccountName?
A2. sAMAccountName är ett unikt attribut för alla säkerhetsobjekt i Active Directory och inkluderar användare, grupper och datorer. Namnbegränsningarna för sAMAccountName beskrivs i 3.1.1.6 Attributbegränsningar för ursprungliga uppdateringar.
Kv3. Vad är en sAMAccountType?
A3. Läs följande dokument för mer information:
Det finns tre möjliga sAMAccountType-värden som motsvarar fyra möjliga UserAccountcontrol-flaggor enligt följande:
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 |
Kv4. Vilka är de möjliga värdena för UserAccountControl?
A4. Läs följande dokument för mer information:
Kv5. Hur hittar jag objekt som inte är kompatibla som redan finns i min miljö?
A5. Administratörer kan söka i katalogen efter befintliga konton som inte är kompatibla med hjälp av ett PowerShell-skript som exemplen nedan.
Så här hittar du datorkonton som har ett icke-kompatibelt sAMAccountName:
Get-ADComputer -LDAPFilter "(samAccountName=*)" |? SamAccountName -NotLike "*$" | select DNSHostName, Name, SamAccountName |
Så här hittar du datorkonton som har en icke-kompatibel UserAccountControl sAMAccountType:
Get-ADComputer -LDAPFilter "UserAccountControl:1.2.840.113556.1.4.803:=512” |