使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

摘要

CVE-2021-42278 解决了安全绕过漏洞,使潜在攻击者能够使用计算机帐户 sAMAccountName 欺骗来模拟域控制器。

本文提供了有关 2021 年 11 月 9 日及更高版本发布的 Windows 更新(如CVE-2021-42278所述)的 Active Directory 安全帐户管理器 (SAM) 强化更改的其他详细信息和常见问题部分。

Active Directory 验证检查

安装 CVE-2021-42278后,Active Directory 将针对计算机帐户没有管理员权限的用户创建或修改的计算机帐户的 sAMAccountName UserAccountControl 属性执行下面列出的验证检查。 

  1. 用户和计算机帐户的 sAMAccountType 验证

    • ObjectClass=计算机 (帐户的) 或子类必须具有用户或UF_WORKSTATION_TRUST_ACCOUNT的 UserAccountControl UF_SERVER_TRUST_ACCOUNT

    • ObjectClass=User 必须具有 UAC 标志UF_NORMAL_ACCOUNT或UF_INTERDOMAIN_TRUST_ACCOUNT

  2. 计算机帐户的 sAMAccountName 验证

    UserAccountControl属性包含 UF_WORKSTATION_TRUST_ACCOUNT 标志的计算机帐户的sAMAccountName 必须以 $ (美元) 。 如果不满足这些条件,Active Directory 将返回故障代码0x523 ERROR_INVALID_ACCOUNTNAME。 失败的验证记录在系统事件日志中的 Directory-Services-SAM 事件 ID 16991 中。

如果不满足这些条件,Active Directory 将返回一个失败代码ACCESS_DENIED。 失败的验证记录在系统事件日志中的 Directory-Services-SAM 事件 ID 16990 中。

审核事件

对象类和 UserAccountControl 验证失败

当 Object 类和 UserAccountControl 验证失败时,将在系统日志中记录以下事件:

事件日志

系统

事件类型

错误

事件源

Directory-Services-SAM

事件 ID

16990

事件文本

安全帐户管理器阻止非管理员在此域中创建具有不匹配 objectClass 和 userAccountControl 帐户类型标志的 Active Directory 帐户。

详细信息:

帐户名称:%1%n

Account objectClass:%2%n

userAccountControl:%3%n

呼叫者地址:%4%n

调用方 SID:%5%n%n

SAM 帐户名称验证失败

当 SAM 帐户名称验证失败时,以下事件将记录在系统日志中:

事件日志

系统

事件类型

错误

事件源

Directory-Services-SAM

事件 ID

16991

事件文本

安全帐户管理器阻止非管理员使用无效的 sAMAccountName 创建或重命名计算机帐户。 计算机帐户上的 sAMAccountName 必须以单个尾随 $ 符号结尾。

尝试的 sAMAccountName:%1

建议的 sAMAccountName:%1$

成功创建计算机帐户审核事件

以下现有审核事件可用于成功创建计算机帐户:

  • 4741 (S) :已创建计算机帐户

  • 4742 (S) :更改了计算机帐户

  • 4743 (S) :已删除计算机帐户

有关详细信息,请参阅 审核计算机帐户管理

常见问题

Q1. 此更新如何影响 Active Directory 中的现有对象?

A1. 对于现有对象,当没有管理员权限的用户修改 sAMAccountName UserAccountControl 属性时,会进行验证。

Q2. 什么是 sAMAccountName?

A2. sAMAccountName 是 Active Directory 中所有安全主体的唯一属性,包括用户、组和计算机。 sAMAccountName的名称约束记录在3.1.1.6 发起更新的属性约束中

Q3. 什么是 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

Q4. UserAccountControl 的可能值是什么?

A4. 有关详细信息,请阅读以下文档:

Q5. 如何查找环境中已存在的不合规对象?

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”

资源

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×