域渗透-权限维持之 DSRM
- 2020 年 3 月 6 日
- 筆記
除了krbtgt服务帐号外,域控上还有个可利用的账户:目录服务还原模式(DSRM)账户,这个密码是在DC安装的时候设置的,所以一般不会被修改。但是微软对DSRM帐号进行了限制,只允许在控制台登录。可以通过修改注册表的方式,将如下注册表键值: HKLMSystemCurrentControlSetControlLsaDSRMAdminLogonBehavior 中的DSRMAdminLogonBehavior改为2,就可以通过网络验证并登录到DC。这样DSRM账户就可以看做一个本地管理员帐号。可以通过导出的HASH结合PTH方式,持续控制DC,即使域内用户密码都进行了修改也可以利用。
二、更改DSRM 密码的两种方法
(1)密码通过明文指定:
ntdsutil
set dsrm password
reset password on server null
<PASSWORD>
Q
Q

这里要求输入的密码不是Administrator的密码,是DSRM的单独密码
(2)通过域账户同步Hash
ntdsutil
set dsrm password
sync from domain account <your user here>
Q
Q

三、DSRM 账户Hash同步的问题讨论
1. 设置RSRM账户明文密码
使用Administrator设置DSRM账户密码后,抓hash发现Administrator的SAM数据库中存贮的NTLM hash变为DSRM账户密码设置的密码hash
Administrator 明文:qwe123#@!.. NTLM-Hash:4a*****
DSRM账户明文密码:qwe13579.. NTLM-Hash:80*****

这时通过远程连接Administrator账号明文密码仍然可以正常连接:

重新更改Administrator密码后抓取SAM数据库中的NTLM hash发现其值不变,NTDS.dit数据库文件中的NTLM hash改变;重新设置DSRM账户明文密码Hash更改
2.使用域用户同步DSRM账户
Administrator 明文:[zxc123#@!..] NTLM-HASH:e3f4ca1c51379484b24474f8d9a5ccf8
Jack01明文:[qwe123#@!..] NTLM-HASH:4a4558a96ba8c11aef734a34421b8068
(1)同步Jack用户

抓密码发现ntds.dit和sam数据库中的NTLM值不一样,sam中的Administrator hash变为jack01的hash,也就是我们指定的域用户的hash


此时,Administrator的凭证可以正常使用:


(2)同步Administrator用户

ntdit和sam数据库的Hash相同用都是e3f4ca1c51379484b24474f8d9a5ccf8,也就是Administrator的明文hash。更改administrator密码为qaz123#@!.. HASH[29279cc8e3d7d48461648894e4ce3479]抓密码发现


Ntds.dit数据库的Hash更改,但是sam数据库不变。使用更改后的密码hash登录:

从上述我们可以得出如下结论:
(1)DRSM的两种设置方法只是更改了本地的Administrator的sam数据库的hash,相当于域控上的一个本地用户
(2)Administrator账号可以正常使用,不受影响
(3)DRSM设置与指定的域用户无关,其Hash只有重新设置才会更改,指定用户更改密码不影响
四、使用DSRM账户远程链接
1. 使用DSRM账户连接的前提
(1)系统要求:在安装了KB961320补丁的Windows Server 2008及之后的Windows Server版本开始支持在DC上使用指定的域帐户同步DSRM密码
(2)更改DSRM的密码方式:同步域用户的方式
(3)开启支持DSRM账户网络连接:需要修改注册表项,默认没有改项
Cmd:reg add "HKLMSystemCurrentControlSetControlLsa" /f /v DsrmAdminLogonBehavior /t REG_DWORD /d 2
Powershell:New-ItemProperty "HKLM:SystemCurrentControlSetControlLsa" -Name "DsrmAdminLogonBehavior" -Value 2 -PropertyType "DWORD"


1. 利用方式:
(1)RDP
远程桌面客户端,可以使用”mstsc /console”或者”mstsc /admin”,Windows Server 2012 R2没有试验成功
(2)Pth
通过设置DSRM明文密码,发现DSRM 的明文和hash不能利用

在指定同步域用户Administrator用户密码后更改该域用户的密码测试,发现可以利用

但是重启之后无法利用:

五、渗透利用
该方式利用比较简单,只需要知道一个有效域用户的hash即可,但需要两点需要注意:(1)域控上是否经常同步域用户(2)域控是否经常重启(小概率)
因此我们需要在域控上进行判断,查找Security-4794事件(DSRM同步域用户)和开关机记录
