目录恢复模式帐户
每个域控制器都有一个用于 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:
- 在目录服务还原模式下重新启动 ( bcdedit /set safeboot dsrepair )
- 无需重新启动即可访问 DSRM(Windows Server 2008 和更新版本)
- 将注册表项 DsrmAdminLogonBehavior 设置为 1
- 停止 Active Directory 服务
- 在控制台上使用 DSRM 凭据登录。
- 无需重新启动即可访问 DSRM(Windows Server 2008 和更新版本)
- 将注册表项 DsrmAdminLogonBehavior 设置为 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 仅限于控制台登录是一种很好的安全方法。然而,今天有几种方法可以“在控制台”登录系统:
- 虚拟化客户端
- VMWare 远程控制台 (TCP 903)
- Hyper-V 虚拟机连接 (TCP 5900)
- 带外管理(熄灯等)
- 网络 KVM
- 远程桌面客户端连接到“控制台”时,即 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