高级 Active Directory 持久化技术:dMSA 是否可被滥用?

admin 2025年2月19日22:59:52评论10 views字数 1799阅读5分59秒阅读模式

【翻译】Advanced Active Directory Persistence Techniques: Can dMSA Be Abused

委派托管服务账户 (dMSA) 于 Windows Server 2025 引入,通过将身份验证绑定到特定机器身份,为传统服务账户提供了更安全的替代方案。与标准服务账户不同,dMSA 实现了密码管理自动化,支持多服务器,并防止如 Kerberoasting 等凭据收集攻击。用于身份验证的密钥源自机器账户凭据,由域控制器 (DC) 加密,且从不在本地存储,这使其极难被攻破。

在迁移过程中,dMSA 取代现有服务账户的同时保持对所有先前授权资源的访问权限,有效阻止使用旧凭据进行身份验证。此外,Credential Guard (CG) 通过保护存储的密钥免遭窃取来增强安全性,确保只有 Active Directory 中映射的授权设备才能使用 dMSA。这种方法显著降低了攻击面并简化了身份管理,使 dMSA 成为现代 Active Directory 环境中的重要安全增强功能。

服务账户概述:

服务账户是用于在 Windows 环境中运行服务和应用程序的专用账户。传统服务账户通常需要手动密码管理,增加了凭据泄露、滥用和安全配置错误的风险。它们通常使用静态密码,使其成为基于凭据攻击(如 Kerberoasting 和 Pass-the-Hash)的主要目标。

此外还有托管服务账户 (MSA),在 Windows Server 2008 R2 和 Windows 7 中引入,作为域账户运行,每 30 天自动轮换密码。

为进一步降低所讨论的风险,组托管服务账户 (gMSA) 在 Windows Server 2012 中作为标准服务账户的增强版本引入。gMSA 提供自动密码轮换,消除了手动更新凭据的需求,并支持多服务器分布式工作负载。与传统服务账户不同,gMSA 在 Active Directory 中安全存储密码,只允许授权机器通过 Kerberos 检索密码。

攻击流程:

让我们设想一个场景,我们对"Managed Service Accounts"容器具有"Generic All"权限。

默认情况下,用户可以枚举容器但不能枚举其子对象。

高级 Active Directory 持久化技术:dMSA 是否可被滥用?

我们可以使用以下命令验证我们是否对容器具有"Generic All"权限:

dsacls "CN=Managed Service Accounts,DC=kingdom,DC=local"
高级 Active Directory 持久化技术:dMSA 是否可被滥用?

我们也可以使用"Active Directory Users and Computers"检查权限:

高级 Active Directory 持久化技术:dMSA 是否可被滥用?

更改继承级别

尽管我们对容器具有完全控制权,但除非推送权限继承,否则不能保证对现有子对象的读取访问权限。我们可能只能看到一个没有可读属性的"存根"对象。

AD 中的 ACL 继承基于父子关系工作。Managed Service Accounts (MSA) 容器作为父对象,而每个单独的 MSA(例如 dMSA-POC)是子对象。

要强制将我们的完全控制权继承到子对象,我们可以运行:

dsacls "CN=Managed Service Accounts,DC=kingdom,DC=local" /G "KINGDOMpoc:GA" /T /I:S

(GA = 完全控制权限,/T = 递归,/I:S = 继承到子树。)

高级 Active Directory 持久化技术:dMSA 是否可被滥用?
高级 Active Directory 持久化技术:dMSA 是否可被滥用?

我们可以再次使用 dsacl 来确保我们对容器中的子对象具有完全控制权:

高级 Active Directory 持久化技术:dMSA 是否可被滥用?

在获得对子对象的完全控制权后,我们可以完全看到容器中的对象。

高级 Active Directory 持久化技术:dMSA 是否可被滥用?

此外,我们可以获得 dMSA 对象的完全所有权(默认情况下"domain admins"组是所有者):

高级 Active Directory 持久化技术:dMSA 是否可被滥用?
高级 Active Directory 持久化技术:dMSA 是否可被滥用?

我们可以通过创建另一个我们完全控制的 dMSA 来实现持久性,同时我们可以通过将我们的用户或机器账户添加到 PrincipalAllowedToRetrieveManagedPassword 中,将自己添加为有资格接收托管密码的实体。

高级 Active Directory 持久化技术:dMSA 是否可被滥用?

缓解措施

首先启用仅适用于 Windows 11 24H2 和 Windows Server 2025 或更高版本的以下设置。

在客户端设备上,您必须激活以下组策略设置:

Computer ConfigurationAdministrative TemplatesSystemKerberosEnable Delegated Managed Service Account logons

高级 Active Directory 持久化技术:dMSA 是否可被滥用?

对于监控,以下事件描述了对具有"Write"权限的对象的访问:

高级 Active Directory 持久化技术:dMSA 是否可被滥用?

原文始发于微信公众号(securitainment):高级 Active Directory 持久化技术:dMSA 是否可被滥用?

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月19日22:59:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   高级 Active Directory 持久化技术:dMSA 是否可被滥用?https://cn-sec.com/archives/3763169.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息