dMSA 滥用(BadSuccessor)导致权限提升
BadSuccessor是一个安全漏洞,存在于 Windows Server 2025 的 Active Directory (AD)环境中,该漏洞利用新引入的委托托管服务账户(dMSA,delegated Managed Service Accounts) 功能,允许攻击者在 Active Directory(AD)环境中实现权限提升。
BadSuccessor漏洞是由于dMSA账户在继承被替代服务账户权限时,验证机制存在缺陷。攻击者可以通过修改dMSA对象的两个关键属性,绕过身份认证,获取域管理员权限,进而控制AD域内的任意用户。该漏洞影响范围广泛,91%的受测环境中存在具备攻击条件的低权限用户,即使未启用dMSA功能的环境也会受到影响。
dMSA滥用漏洞的技术原理
在早期的 Windows Server 版本中,托管服务账户(MSA) 通过自动处理密码管理简化了服务账户的管理。Windows Server 2025 在此基础上引入 dMSA,在托管服务账户(MSA)基础上强化了委托控制与安全性,其核心优势包括:
- 自动化密码管理:由 Active Directory 统一管理,自动生成随机密码并定期轮换,无需手动干预。
- 组织单位(OU)内的委托控制:允许在特定 OU 内进行账户管理,无需全域管理员权限。
- 无缝迁移非托管服务账户:迁移过程不中断服务,提升账户管理效率。
- 强化安全绑定:将身份验证绑定到特定设备,并在迁移后禁用原始账户,减少攻击面。
BadSuccessor 漏洞原理
BadSuccessor 攻击利用了 dMSA 中的“msDS-ManagedAccountPrecededByLink”属性。攻击者通过篡改该属性,模拟从高权限账户(如域管理员)到新创建的 dMSA 的“迁移”过程。此操作诱使密钥分发中心(KDC)向dMSA授予目标账户的完整权限,从而实现完全模拟攻击,且无需修改现有账户或组成员关系。
利用BadSuccessor漏洞的步骤
拥有最低权限的攻击者可按以下步骤实施攻击:
- 创建dMSA:攻击者在拥有足够权限的 OU 内创建一个委托托管服务账户(使用 New-ADServiceAccount -DelegatedManagedServiceAccount 等命令)。
- 修改关键属性:修改 dMSA 的 msDS-ManagedAccountPrecededByLink 属性,将其指向高权限账户(如域管理员账户的 DN)。
- 以dMSA身份认证:系统将该 dMSA 视为高权限账户的合法继承者赋予其等效权限,最终实现域管理员权限的窃取。
现实威胁影响
- 无痕迹获取全域控制:在不修改现有账户的情况下获取域控制权,导致安全团队难以通过传统方法检测异常。
- 低权限用户提权:利用dMSA控制权实现从普通用户到域管理员的权限跃升
- 隐匿于 AD 信任模型中:在AD信任模型内操作,遗留取证痕迹极少,便于攻击者长期潜伏和持续渗透。
BadSuccessor 漏洞利用了 AD 中 dMSA 功能的设计缺陷,通过低权限用户即可实现域控接管。其核心在于伪造迁移状态以欺骗 KDC,最终获取目标账户的完整权限。企业需立即采取权限限制与日志监控措施,同时密切关注微软官方补丁进展。
防御要点:需要监控的关键指标
- 监控 dMSA 创建行为:密切关注新 dMSA 的创建,确保是由授权人员操作,且符合组织安全策略。未经授权的 dMSA 创建是明显的风险信号。
- 监控属性变更:监控msDS-ManagedAccountPrecededByLink 属性变更,该属性的修改是 BadSuccessor 攻击的核心特征,任何指向高权限账户的变更均需立即核查。
- 配置 SACLs 监控关键事件:启用 系统访问控制列表(SACLs) 记录事件 ID 5137(dMSA 账户创建)和事件 ID 5136(msDS-ManagedAccountPrecededByLink 属性修改)。
- OU 权限审计:定期检查允许创建 dMSA 的 OU 权限,确保 “创建子对象” 权限仅授予可信管理员,避免权限过度下放。
- 微软补丁更新:关注微软针对 BadSuccessor 漏洞发布的更新(如特定累积更新或安全补丁),并在测试后尽快部署。
主动防护:实时监控dMSA异常活动
ADAudit Plus作为基于用户行为分析(UBA)的变更审计方案,支持对 Active Directory、文件服务器、Windows 服务器及工作站进行全面监控。通过实时警报和深度审计,帮助组织快速检测异常行为,抵御如 BadSuccessor 等高级漏洞攻击。可帮助管理员快速设置实时警报,监控 dMSA 相关的关键变更。以下是操作步骤:
- 创建新警报配置文件:进入“配置”(Configuration)选项卡,点击“新建告警配置文件”(New Alert Profile)。
- 命名与描述:为告警命名(如 “dMSA BadSuccessor 攻击检测”),并添加描述(如 “监控 msDS-ManagedAccountPrecededByLink 属性修改”)。
- 设置警报级别:根据组织风险标准,将严重性设为高(High) 或严重(Critical)。
- 选择审计类别:在“类别”(Category) 中选择全部(All),然后在“报告配置文件”(Report Profile) 中选择所有其他 AD 审计变更(All Other AD Audit Changes)。
- 配置高级筛选条件:启用“筛选”(Filter),点击“添加筛选条件”(Add Filter),筛选条件:修改的属性(Modified Attributes)→ 等于(Equals)→ msDS-ManagedAccountPrecededByLink。
- 定义告警操作:根据需求选择警报操作(Alert Actions),如发送电子邮件通知(Email Notifications)、执行脚本(Script Execution) 等,完成后保存。
配置完成后,任何对 msDS-ManagedAccountPrecededByLink 属性的修改都会触发警报,可在“告警”(Alerts)中查看。
如需详细分析,进入“Active Directory”选项卡 > 账户管理(Account Management)>所有 AD 变更(All AD Changes),查看变更的操作人、时间、来源 IP 等信息,确认是否为授权操作。
通过以上措施,可以有效监控 dMSA 相关的风险操作,及时发现 BadSuccessor 攻击迹象。