域渗透-权限维持之 DSRM
Windows AD Persistence    610    0    1
t3ngyu   Windows AD Persistence

一、简述

        除了krbtgt服务帐号外,域控上还有个可利用的账户:目录服务还原模式(DSRM)账户,这个密码是在DC安装的时候设置的,所以一般不会被修改。但是微软对DSRM帐号进行了限制,只允许在控制台登录。可以通过修改注册表的方式,将如下注册表键值: HKLM\System\CurrentControlSet\Control\Lsa\DSRMAdminLogonBehavior 中的DSRMAdminLogonBehavior改为2,就可以通过网络验证并登录到DC。这样DSRM账户就可以看做一个本地管理员帐号。可以通过导出的HASH结合PTH方式,持续控制DC,即使域内用户密码都进行了修改也可以利用。


二、更改DSRM 密码的两种方法

    1. 密码通过明文指定

ntdsutil  
set dsrm password 
reset password on server null 
<PASSWORD> 
Q 
Q

这里要求输入的密码不是Administrator的密码,是DSRM的单独密码

    2. 通过域账户同步

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登录:


    3. 结论

    (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账户网络连接:需要修改注册表项,默认没有改项

reg add "HKLM\System\CurrentControlSet\Control\Lsa" /f /v DsrmAdminLogonBehavior /t REG_DWORD /d 2

New-ItemProperty "HKLM:\System\CurrentControlSet\Control\Lsa\" -Name "DsrmAdminLogonBehavior" -Value 2 -PropertyType "DWORD"


    2. 利用方式:

    (1)RDP:远程桌面客户端,可以使用”mstsc /console”或者”mstsc /admin”,Windows Server 2012 R2没有试验成功
    (2)Pth :
        这里需要注意,如果是通过设置DSRM明文密码,DSRM 的明文和hash不能利用


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


但是重启之后无法利用:


五、渗透利用

    该方式利用比较简单,只需要知道一个有效域用户的hash即可,但需要两点需要注意:

    (1)域控上是否经常同步域用户

    (2)域控是否经常重启(小概率)

    因此我们需要在域控上进行判断,查找Security-4794事件(DSRM同步域用户)和 开关机记录


参考链接:

[1] 域控权限持久化之DSRM

[2] Sneaky Active Directory Persistence #13: DSRM Persistence v2





觉得不错,点个赞?
Sign in to leave a comment.
No Leanote account ? Sign up now.
1 条评论
文章目录