Зведення
CVE-2021-42278 усуває вразливість системи безпеки, що дає змогу потенційним зловмисникам уосожити контролер домену за допомогою облікового запису sAMAccountName.
У цій статті наведено додаткові відомості та розділ запитань і відповідей для змін, внесених службою 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 must have UAC flags of UF_NORMAL_ACCOUNT or UF_INTERDOMAIN_TRUST_ACCOUNT
-
-
Перевірка sAMAccountName для облікових записів комп'ютерів
SAMAccountName облікового запису комп'ютера, атрибут UserAccountControl якого містить позначку UF_WORKSTATION_TRUST_ACCOUNT має закінчуватись одним знаком долара ($). Якщо ці умови не виконано, служба Active Directory повертає код помилки 0x523 ERROR_INVALID_ACCOUNTNAME. Невдалі перевірки заносяться до журналу подій "Directory-Services-SAM" з ідентифікатором 16991.
Якщо ці умови не виконано, служба Active Directory повертає код помилки ACCESS_DENIED. Невдалі перевірки заносяться до журналу подій "Directory-Services-SAM" з ідентифікатором 16990.
Події аудиту
Клас об'єктів і помилка перевірки UserAccountControl
Коли не вдається перевірити клас об'єктів і перевірку UserAccountControl, у системний журнал записується така подія:
Журнал подій |
Система |
Тип події |
Помилка |
Джерело події |
Directory-Services-SAM |
Ідентифікатор події |
16990 |
Текст події |
Диспетчер облікових записів безпеки заблокував можливість створення облікового запису Active Directory в цьому домені з невідповідними об'єктамиClass і userAccountControl. Докладно: Ім'я облікового запису: %1%n Клас об'єкта облікового запису: %2%n userAccountControl: %3%n Адреса абонента: %4%n SID абонента: %5%n%n |
Помилка перевірки імені облікового запису SAM
Коли не вдається перевірити ім'я облікового запису SAM, у системний журнал записується така подія:
Журнал подій |
Система |
Тип події |
Помилка |
Джерело події |
Directory-Services-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” |