Samenvatting
CVE-2021-42278 richt zich op een beveiligingsprobleem waarbij potentiële aanvallers zich kunnen voordoen als een domeincontroller met behulp van sAMAccountName spoofing van een computeraccount.
Dit artikel bevat aanvullende details en een sectie met veelgestelde vragen voor de sam-hardingswijzigingen die zijn aangebracht door Windows-updates die zijn uitgebracht op 9 november 2021 en later, zoals beschreven in CVE-2021-42278.
Active Directory-validatiecontroles
Na de installatie van CVE-2021-42278voert Active Directory de validatiecontroles uit die hieronder worden vermeld op de kenmerken sAMAccountName en UserAccountControl van computeraccounts die zijn gemaakt of gewijzigd door gebruikers die geen beheerdersrechten voor machineaccounts hebben.
-
sAMAccountType-validatie voor gebruikers- en computeraccounts
-
ObjectClass=Computeraccounts (of subklasse van computer)-accounts moeten userAccountControl-vlaggen van UF_WORKSTATION_TRUST_ACCOUNT of UF_SERVER_TRUST_ACCOUNT
-
ObjectClass=Gebruiker moet UAC-vlaggen van UF_NORMAL_ACCOUNT of UF_INTERDOMAIN_TRUST_ACCOUNT
-
-
sAMAccountName-validatie voor computeraccounts
De sAMAccountName van een computeraccount waarvan het UserAccountControl-kenmerk de vlag UF_WORKSTATION_TRUST_ACCOUNT moet eindigen met één dollarteken ($). Wanneer niet aan deze voorwaarden wordt voldaan, retourneert Active Directory de foutcode 0x523 ERROR_INVALID_ACCOUNTNAME. Mislukte validaties worden geregistreerd in de gebeurtenis-id 16991 van Directory-Services-SAM in het systeemgebeurtenislogboek.
Wanneer niet aan deze voorwaarden wordt voldaan, retourneert Active Directory een foutcode van ACCESS_DENIED. Mislukte validaties worden geregistreerd in de gebeurtenis-id 16990 van Directory-Services-SAM in het systeemgebeurtenislogboek.
Controlegebeurtenissen
Objectklasse en Validatiefout UserAccountControl
Als objectklasse en UserAccountControl-validatie mislukt, wordt de volgende gebeurtenis geregistreerd in het systeemlogboek:
Gebeurtenislogboek |
Systeem |
Gebeurtenistype |
Fout |
Bron van gebeurtenis |
Directory-Services-SAM |
Gebeurtenis-id |
16990 |
Gebeurtenistekst |
De beveiligingsaccountbeheerder heeft een niet-beheerder geblokkeerd om een Active Directory-account in dit domein te maken met een niet-overeenkomend objectClass en userAccountControl-accounttypevlaggen. Details: Accountnaam: %1%n AccountobjectClass: %2%n userAccountControl: %3%n Adres van beller: %4%n Beller SID: %5%n%n |
SAM-accountnaamvalidatiefout
Wanneer de validatie van SAM-accountnaam mislukt, wordt de volgende gebeurtenis geregistreerd in het systeemlogboek:
Gebeurtenislogboek |
Systeem |
Gebeurtenistype |
Fout |
Bron van gebeurtenis |
Directory-Services-SAM |
Gebeurtenis-id |
16991 |
Gebeurtenistekst |
De beveiligingsaccountbeheerder heeft een niet-beheerder geblokkeerd voor het maken of wijzigen van de naam van een computeraccount met een ongeldige sAMAccountName. sAMAccountName op computeraccounts moet eindigen met één achterhangend $teken. Poging tot sAMAccountName: %1 Aanbevolen sAMAccountName: %1$ |
Auditinggebeurtenissen voor computeraccounts succesvol maken
De volgende bestaande controlegebeurtenissen zijn beschikbaar voor het maken van computeraccounts:
-
4741(S): er is een computeraccount gemaakt
-
4742(S): Een computeraccount is gewijzigd
-
4743(S): Er is een computeraccount verwijderd
Zie Computeraccountbeheer controleren voor meer informatie.
Veelgestelde vragen
Q1. Wat is de invloed van deze update op bestaande objecten in Active Directory?
A1. Voor bestaande objecten vindt de validatie plaats wanneer gebruikers zonder beheerdersrechten de kenmerken sAMAccountName of UserAccountControl wijzigen.
Q2. Wat is een sAMAccountName?
A2. sAMAccountName is een uniek kenmerk voor alle beveiligingsprincipen in Active Directory en omvat gebruikers, groepen en computers. De naambeperkingen voor sAMAccountName worden gedocumenteerd in 3.1.1.6 Attribute Constraints for Originating Updates.
Q3. Wat is een sAMAccountType?
A3. Lees de volgende documenten voor meer informatie:
Er zijn drie mogelijke sAMAccountType-waarden die overeenkomen met vier mogelijke UserAccountcontrol-vlaggen als volgt:
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. Wat zijn de mogelijke waarden voor UserAccountControl?
A4. Lees de volgende documenten voor meer informatie:
Q5. Hoe kan ik niet-compatibele objecten vinden die al in mijn omgeving aanwezig zijn?
A5. Beheerders kunnen in hun adreslijst zoeken naar bestaande niet-compatibele accounts met behulp van een PowerShell-script, zoals de onderstaande voorbeelden.
Computeraccounts met een niet-compatibele sAMAccountName zoeken:
Get-ADComputer -LDAPFilter "(samAccountName=*)" |? SamAccountName -NotLike "*$" | select DNSHostName, Name, SamAccountName |
Als u computeraccounts wilt zoeken met een niet-compatibele UserAccountControl-sAMAccountType:
Get-ADComputer -LDAPFilter "UserAccountControl:1.2.840.113556.1.4.803:=512” |