Applies ToWindows Server 2022 Windows Server 2019 Windows Server 2016, all editions Windows Server 2012 R2 Windows Server 2012 Windows Server 2008 R2 Windows Server 2008 Service Pack 2

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. 

  1. 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

  2. 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”

Resurser

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.