CVE-2021-42287权限提升漏洞
CVE-2021-42287 是 Microsoft Windows Kerberos 服务中的一项权限提升漏洞。该漏洞可被攻击者利用,以提升其权限,获得域控的最高权限
漏洞利用原理如下:
攻击者首先创建一个与域控机器账户名称相同的机器账户(不以 $ 结尾)。
攻击者使用该机器账户向域控请求一个 TGT(Ticket Granting Ticket)票据。
攻击者将该机器账户的 sAMAccountName 修改为域控的名称。
攻击者使用修改后的机器账户向域控请求一个 ST(Service Ticket)票据。
在 TGS-REP 阶段,域控会使用自己的密钥加密 ST 票据,并提供一个属于该账户的 PAC(Privilege Attribute Certificate)信息。
攻击者使用 ST 票据访问受保护的服务,并使用 PAC 信息来进行身份验证。
由于 PAC 信息包含了该账户的权限信息,因此攻击者可以利用 PAC 信息来绕过身份验证,获得域控的最高权限。
详细的每个步骤的利用手法如下:
步骤 1:创建机器账户
攻击者可以使用以下命令创建一个与域控机器账户名称相同的机器账户(不以 $ 结尾):
net user <机器账户名称> <密码> /add /machine例如,如果域控机器账户名称为 DC,则攻击者可以创建一个名为 DC 的机器账户:
net user DC password /add /machine步骤 2:请求 TGT 票据
攻击者可以使用以下命令请求一个 TGT 票据:
例如,攻击者可以使用以下命令请求 DC 机器账户的 TGT 票据:
步骤 3:修改机器账户名称
攻击者可以使用以下命令修改机器账户名称:
例如,攻击者可以使用以下命令将 DC 机器账户的名称修改为 DC$:
步骤 4:请求 ST 票据
攻击者可以使用以下命令请求一个 ST 票据:
例如,攻击者可以使用以下命令请求 DC$ 机器账户的 ST 票据:
步骤 5:利用 PAC 信息
攻击者可以使用以下命令来查看 PAC 信息:
例如,攻击者可以使用以下命令查看 DC$ 机器账户的 ST 票据中的 PAC 信息:
PAC 信息包含了该账户的权限信息,攻击者可以利用 PAC 信息来绕过身份验证,获得域控的最高权限。
步骤 6:利用 ST 票据访问受保护的服务
攻击者可以使用 ST 票据访问受保护的服务,并使用 PAC 信息来进行身份验证。
例如,攻击者可以使用以下命令来访问域控上的 C$ 共享:
示例
假设域控机器账户名称为 DC,攻击者可以使用以下步骤来利用 CVE-2021-42287 漏洞获得域控的最高权限:
攻击者创建一个名为 DC 的机器账户:
攻击者使用 DC 机器账户请求一个 TGT 票据:
攻击者将 DC 机器账户的名称修改为 DC$:
攻击者使用 DC$ 机器账户请求一个 ST 票据:
攻击者查看 DC$ 机器账户的 ST 票据中的 PAC 信息:
攻击者使用 ST 票据访问域控上的 C$ 共享:
防御措施
及时安装安全补丁
Microsoft 已于 2021 年 11 月 9 日发布了安全补丁,修复了该漏洞。因此,及时安装安全补丁是防范该漏洞最有效的措施。
为了防范 CVE-2021-42287 漏洞,可以采取以下措施:
禁用 S4U2Self 机制
S4U2Self 机制是 CVE-2021-42287 漏洞利用的关键,禁用该机制可以有效阻止该漏洞的利用。
使用强密码
使用强密码可以降低攻击者获取机器账户权限的难度。
限制域内可创建机器账户的用户权限
限制域内可创建机器账户的用户权限,可以降低攻击者创建机器账户的难度。
监控域内活动
通过监控域内活动,可以及时发现攻击者利用该漏洞的行为。
使用安全解决方案
使用安全解决方案可以帮助检测和阻止攻击者利用该漏洞。
具体来说,可以采取以下措施:
使用 Windows Server Update Services (WSUS) 或 Microsoft Endpoint Configuration Manager 等工具来自动部署安全补丁。
在域控制器上禁用 S4U2Self 机制。可以通过以下步骤禁用 S4U2Self 机制:
为域内所有机器账户设置强密码。密码应至少包含 12 个字符,且包含大写字母、小写字母、数字和特殊字符。
限制域内可创建机器账户的用户权限。只有具有相应权限的用户才能创建机器账户。
使用安全解决方案来监控域内活动。安全解决方案可以帮助检测和阻止攻击者利用该漏洞。
通过采取上述措施,可以有效防范 CVE-2021-42287 漏洞。
最后更新于
这有帮助吗?