Oppsummering
CVE-2021-42278 løser et sikkerhetsproblem som kan føre til sikkerhetsforfalsning som gjør at potensielle angripere kan utgi seg for å være en domenekontroller ved hjelp av datamaskinkonto sAMAccountName forfalskende.
Denne artikkelen inneholder flere detaljer og en ofte stilte spørsmål-del for Active Directory Security Accounts Manager (SAM) som herder endringer som er gjort av Windows-oppdateringer utgitt 9. november 2021 og nyere, som dokumentert i CVE-2021-42278.
Active Directory-valideringskontroller
Når du har installert CVE-2021-42278,utfører Active Directory valideringsinspeksjonene som er oppført nedenfor på attributtene sAMAccountName og UserAccountControl for datamaskinkontoer som er opprettet eller endret av brukere som ikke har administratorrettigheter for maskinkontoer.
-
sAMAccountType-validering for bruker- og datamaskinkontoer
-
ObjectClass=Datamaskinkontoer (eller underklasser for datamaskinkontoer) må ha UserAccountControl-flagg for UF_WORKSTATION_TRUST_ACCOUNT eller UF_SERVER_TRUST_ACCOUNT
-
ObjectClass=User må ha UAC-flagg for UF_NORMAL_ACCOUNT eller UF_INTERDOMAIN_TRUST_ACCOUNT
-
-
sAMAccountName-validering for datamaskinkontoer
SAMAccountName for en datamaskinkonto der UserAccountControl-attributtet inneholder UF_WORKSTATION_TRUST_ACCOUNT-flagget må avsluttes med et enkelt dollartegn ($). Når disse betingelsene ikke er oppfylt, returnerer Active Directory feilkoden 0x523 ERROR_INVALID_ACCOUNTNAME. Mislykkede valideringer logges i hendelses-ID-en for Directory-Services-SAM 16991 i systemhendelsesloggen.
Når disse betingelsene ikke er oppfylt, returnerer Active Directory en feilkode for ACCESS_DENIED. Mislykkede valideringer logges i hendelses-ID-en for Directory-Services-SAM 16990 i systemhendelsesloggen.
Overvåkingshendelser
Valideringsfeil for objektklasse og UserAccountControl
Når validering av Objektklasse og UserAccountControl mislykkes, logges følgende hendelse i systemloggen:
Hendelseslogg |
System |
Hendelsestype |
Feil |
Hendelseskilde |
Directory-Services-SAM |
Hendelses-ID |
16990 |
Hendelsestekst |
Sikkerhetskontoadministratoren blokkerte en ikke-administrator fra å opprette en Active Directory-konto i dette domenet med ikke-samsvarende objectClass- og userAccountControl-kontotypeflagg. Detaljer: Kontonavn: %1%n Kontoobjektklasse: %2%n userAccountControl: %3%n Oppringeradresse: %4%n Anroper-SID: %5%n%n |
Valideringsfeil for SAM-kontonavn
Når validering av SAM-kontonavn mislykkes, logges følgende hendelse i systemloggen:
Hendelseslogg |
System |
Hendelsestype |
Feil |
Hendelseskilde |
Directory-Services-SAM |
Hendelses-ID |
16991 |
Hendelsestekst |
Sikkerhetskontoadministratoren blokkerte en ikke-administrator fra å opprette eller gi nytt navn til en datamaskinkonto ved hjelp av et ugyldig sAMAccountName. sAMAccountName på datamaskinkontoer må avsluttes med et enkelt etterfølgende $ -tegn. Forsøkte sAMAccountName: %1 Anbefalt sAMAccountName: %1$ |
Vellykkede overvåkingshendelser for opprettelse av datamaskinkonto
Følgende eksisterende overvåkingshendelser er tilgjengelige for vellykket oppretting av datamaskinkonto:
-
4741(S): En datamaskinkonto ble opprettet
-
4742(S): En datamaskinkonto ble endret
-
4743(S): En datamaskinkonto ble slettet
Hvis du vil ha mer informasjon, kan du se Overvåke datamaskinkontobehandling.
Vanlige spørsmål
1. kvartal. Hvordan påvirker denne oppdateringen eksisterende objekter i Active Directory?
A1. For eksisterende objekter skjer valideringen når brukere som ikke har administratorrettigheter, endrer attributtene sAMAccountName eller UserAccountControl.
2. kvartal. Hva er et sAMAccountName?
A2. sAMAccountName er et unikt attributt på alle sikkerhetskontohavere i Active Directory og omfatter brukere, grupper og datamaskiner. Navnebegrensningene for sAMAccountName er dokumentert i 3.1.1.6 Attributtbegrensninger for opprinnelige oppdateringer.
3. Hva er en sAMAccountType?
A3. Hvis du vil ha mer informasjon, kan du lese følgende dokumenter:
Det finnes tre mulige sAMAccountType-verdier som tilsvarer fire mulige UserAccountcontrol-flagg som følger:
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 |
4. kvartal. Hva er de mulige verdiene for UserAccountControl?
A4. Hvis du vil ha mer informasjon, kan du lese følgende dokumenter:
5. Hvordan finner jeg ikke-kompatible objekter som allerede finnes i miljøet mitt?
A5. Administratorer kan søke i katalogen etter eksisterende ikke-kompatible kontoer ved hjelp av et PowerShell-skript, for eksempel eksemplene nedenfor.
Slik finner du datamaskinkontoer som har en ikke-kompatibel sAMAccountName:
Get-ADComputer -LDAPFilter "(samAccountName=*)" |? SamAccountName -NotLike "*$" | select DNSHostName, Name, SamAccountName |
Slik finner du datamaskinkontoer som har en ikke-kompatibel UserAccountControl sAMAccountType:
Get-ADComputer -LDAPFilter "UserAccountControl:1.2.840.113556.1.4.803:=512” |