Резюме
CVE-2021-42278 адресира уязвимост на заобикаляне на защитата, която позволява на потенциалните хакери да се въплътнят в домейнов контролер с помощта на sAMAccountName spoofing.
Тази статия предоставя допълнителни подробности и секция с често задавани въпроси за втвърдяване на промените, направени от Windows, издадени на 9 ноември 2021 г. и по-нови, както е документирано в CVE-2021-42278.
Проверки за проверка на Active Directory
След инсталирането на CVE-2021-42278,Active Directory ще извърши проверките за проверка, изброени по-долу, в атрибутите sAMAccountName и UserAccountControl на компютърни акаунти, създадени или променени от потребители, които нямат администраторски права за машинни акаунти.
-
проверка на sAMAccountType за потребителски и компютърни акаунти
-
Акаунтите objectClass=Computer (или подклас от компютър) трябва да имат флагове userAccountControl на UF_WORKSTATION_TRUST_ACCOUNT или UF_SERVER_TRUST_ACCOUNT
-
ObjectClass=User трябва да има флагове за UAC UF_NORMAL_ACCOUNT или UF_INTERDOMAIN_TRUST_ACCOUNT
-
-
проверка на sAMAccountName за компютърни акаунти
SAMAccountName на акаунт за компютър, чийто атрибут UserAccountControl съдържа флага UF_WORKSTATION_TRUST_ACCOUNT, трябва да завършва със знак за един долар ($). Когато тези условия не са изпълнени, Active Directory връща кода за грешка 0x523 ERROR_INVALID_ACCOUNTNAME. Неуспешните валидирания се записват в ИД на събитието Directory-Services-SAM 16991 в регистрационния файл на събитията system.
Когато тези условия не са изпълнени, Active Directory връща код на грешка ACCESS_DENIED. Неуспешните валидирания се записват в ИД на събитието Directory-Services-SAM 16990 в регистрационния файл на събитията system.
Проверка на събития
Неуспешно валидиране на класа на обектите и UserAccountControl
Когато проверката на класа на обекта и UserAccountControl е неуспешна, в регистрационния файл на системата ще се регистрира следното събитие:
Регистър на събитията |
Система |
Тип събитие |
Грешка |
Източник на събитие |
Справочни услуги-SAM |
ИД на събитие |
16990 |
Текст на събитие |
Диспечерът на акаунти за защита е блокирал създаването на акаунт на Active Directory в този домейн с несъответстващи флагове за типовете акаунти за objectClass и userAccountControl. Подробни данни: Име на партньор: %1%n Обект акаунтClass: %2%n userAccountControl: %3%n Адрес на повиквателя: %4%n SID на повикателя: %5%n%n |
Грешка при проверка на име на сам акаунт
Когато проверката на име на акаунт на SAM е неуспешна, в системния регистър ще се регистрира следното събитие:
Регистър на събитията |
Система |
Тип събитие |
Грешка |
Източник на събитие |
Справочни услуги-SAM |
ИД на събитие |
16991 |
Текст на събитие |
Диспечерът на акаунти за защита е блокирал създаването или преименуването на акаунт на компютър, който не е администратор, с помощта на невалиден sAMAccountName. sAMAccountName на компютърни акаунти трябва да завършва с един знак $. Опит за sAMAccountName: %1 Препоръчително sAMAccountName: %1$ |
Успешни събития за проверка на създаването на акаунт за компютър
Следните съществуващи събития за проверка са налични за успешно създаване на акаунт за компютър:
-
4741(S): Създаден е акаунт за компютър
-
4742(S): Променен е акаунт за компютър
-
4743(S): Изтрит е акаунт за компютър
За повече информация вижте Проверка на управлението на компютърни акаунти.
Често задавани въпроси
В1. Как тази актуализация засяга съществуващите обекти в Active Directory?
A1. За съществуващи обекти проверката възниква, когато потребителите, които нямат права на администратор, променят атрибутите sAMAccountName или UserAccountControl.
В2. Какво представлява sAMAccountName?
A2. sAMAccountName е уникален атрибут на всички главници на защитата в Active Directory и включва потребители, групи и компютри. Ограниченията за името за sAMAccountName са документирани в 3.1.1.6 Атрибутни ограничения за актуализациите с произход.
В3. Какво представлява sAMAccountType?
A3. За повече информация прочетете следните документи:
Има три възможни sAMAccountType стойности, които съответстват на четири възможни флага на UserAccountcontrol, както следва:
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. Какви са възможните стойности за UserAccountControl?
A4. За повече информация прочетете следните документи:
В5. Как мога да намеря несъответстващи обекти, които вече съществуват в моята среда?
A5. Администраторите могат да търсят в указателя си съществуващи несъответстващи акаунти с помощта на скрипт на PowerShell, като примерите по-долу.
За да намерите компютърни акаунти, които имат несъответстващи sAMAccountName:
Get-ADComputer -LDAPFilter "(samAccountName=*)" |? SamAccountName -NotLike "*$" | select DNSHostName, Name, SamAccountName |
За да намерите компютърни акаунти, които имат несъответстващ UserAccountControl sAMAccountType:
Get-ADComputer -LDAPFilter "UserAccountControl:1.2.840.113556.1.4.803:=512” |