Active Directory 持久性技巧 1:目录服务还原模式 (DSRM)

2022-01-24 16:36:58 浏览数 (1)

目录恢复模式帐户

每个域控制器都有一个用于 DC 的内部“Break glass”本地管理员帐户,称为目录服务还原模式 (DSRM) 帐户。提升 DC 时设置的 DSRM 密码,很少更改。在域控制器上更改 DSRM 密码的主要方法是运行 ntdsutil 命令行工具。

从 Windows Server 2008 上的修补程序KB961320开始,现在可以选择将 DC 上的 DSRM 密码与特定域帐户同步。请注意,每次更改密码时都必须执行此操作;它不会创建自动同步伙伴关系。

更改 DSRM 帐户密码:

在每个 DC 上运行以下命令(或通过将“null”替换为 DC 名称来远程针对每个 DC)

  • NTDSUTIL
  • 设置dsrm密码
  • 在服务器上重置密码 null
  • <密码>

将 DSRM 帐户密码与域帐户(2k8 和更新版本)同步: 在您以域管理员身份登录的提升的 CMD 提示符中,运行:

NTDSUTIL SET DSRM PASSWORD SYNC FROM DOMAIN ACCOUNT <your user here> Q Q

使用 DSRM 后门 Active Directory

DSRM 密码的有趣之处在于 DSRM 帐户实际上是“管理员”。这意味着一旦攻击者拥有域控制器(或 DC)的 DSRM 密码,就可以使用此帐户以本地管理员身份通过网络登录域控制器。

我们可以通过使用已知密码创建一个新的 AD 用户来向 Mimikatz 确认这一点。从域用户帐户设置 DSRM 帐户密码同步并比较哈希值。

DSRMTest NTLM 密码哈希:2b391dfc6690cc38547d74b8bd8a5b49 管理员 (500) 本地帐户 NTLM 密码哈希:2b391dfc6690cc38547d74b8bd8a5b49

第二张图显示了 DC 上名为“Administrator”的本地管理员帐户,其密码哈希值与 DSRMTest 域用户帐户相同。

注意:本地 SAM 文件位于此处:C:WindowsSystem32configSAM

使用 DSRM 凭证

一旦您知道 DSRM 帐户密码(DC 上的本地管理员帐户),就可以使用一些技巧。

使用 DSRM 帐户登录 DC:

  1. 在目录服务还原模式下重新启动 ( bcdedit /set safeboot dsrepair )
  2. 无需重新启动即可访问 DSRM(Windows Server 2008 和更新版本)
    1. 将注册表项 DsrmAdminLogonBehavior 设置为 1
    2. 停止 Active Directory 服务
    3. 在控制台上使用 DSRM 凭据登录。
  3. 无需重新启动即可访问 DSRM(Windows Server 2008 和更新版本)
    1. 将注册表项 DsrmAdminLogonBehavior 设置为 2
    2. 在控制台上使用 DSRM 凭据登录。

无需重启即可访问 DSRM:

PowerShell New-ItemProperty “HKLM:SystemCurrentControlSetControlLsa” - 名称 “DsrmAdminLogonBehavior” - 值 2 -PropertyType DWORD

注册表值位于 HKLMSystemCurrentControlSetControlLsaDSRMAdminLogonBehavior。它的可能值是:

  • 0(默认):如果 DC 在 DSRM 中启动,则只能使用 DSRM 管理员帐户。
  • 1:本地AD DS服务停止后,可以使用DSRM管理员账号登录。
  • 2:您始终可以使用 DSRM 管理员帐户(不建议使用此设置,因为密码策略不适用于 DSRM 管理员帐户)。

DSRM 帐户凭证的功能在“ Sneaky Active Directory Persistence #13: DSRM Persistence v2 ”一文中进一步探讨。

通过网络使用 DSRM 凭据

可以通过网络使用 DSRM 凭证。

当 Windows 2000 和 Active Directory 发布时,DSRM 仅限于控制台登录是一种很好的安全方法。然而,今天有几种方法可以“在控制台”登录系统:

  1. 虚拟化客户端
    1. VMWare 远程控制台 (TCP 903)
    2. Hyper-V 虚拟机连接 (TCP 5900)
  2. 带外管理(熄灯等)
  3. 网络 KVM
  4. 远程桌面客户端连接到“控制台”时,即 Windows Server 2008 之前的“mstsc /console”和 Windows Server 2008 及更高版本的“mstsc /admin”。在 Windows Server 2008 R2 上测试。Windows Server 2012R2 似乎拒绝通过 RDP 控制台登录 DSRM。

以本地 DC 的 DSRM 帐户(DC 本地管理员)登录后,我们可以确认我们在 DC 上,并且这是 DC 的本地管理员帐户。不是域帐户。

进一步证明这不是域帐户。

检测

  • 监控与 DSRM 密码更改和使用相关的事件日志
    • 4794:尝试设置目录服务还原模式管理员密码(需要在 2008 R2 和更新版本中启用帐户管理/用户管理子类别审核)。
  • 监视注册表位置并在值为 1 或 2 时发出警报
    • HKLMSystemCurrentControlSetControlLsaDSRMAdminLogonBehavior

0 人点赞