DCSync是AD域渗透中常用的凭据窃取手段,默认情况下,域内不同DC每隔15分钟会进行一次数据同步,当一个DC从另外一个DC同步数据时,发起请求的一方会通过目录复制协议(MS- DRSR)来对另外一台域控中的域用户密码进行复制,DCSync就是利用这个原理,“模拟”DC向真实DC发送数据同步请求,获取用户凭据数据,由于这种攻击利用了Windows RPC协议,并不需要登陆域控或者在域控上落地文件,避免触发EDR告警,因此DCSync时一种非常隐蔽的凭据窃取方式。
1.攻击场景
- DCSync通常是作为其他攻击的先兆性攻击:
- 例如攻击者可能会使用DCSync窃取krbtgt用户的hash来制作黄金票据;
- 在hash传递攻击中,攻击者会利用DCSync去获取低权限用户的hash进行登录。
- DCSync也可能是其他一些漏洞的后置性攻击手段:
- 例如CVE-2020-1472漏洞,攻击者利⽤Netlogon协议漏洞将域控机器账户密码置空,然后利用空密码对域控进行DCSync攻击获取域内用户凭据。
- DCSync也可以会作为一种维权手段
- 攻击者在控制某个域之后可能会对域内某些普通用户或者用户组赋予DCSync权限,以便在下一次进入内网后直接利用该低权限用户凭据来dump域管凭据,实现对AD域的隐蔽控制。
2.利用条件
在默认情况下,只有域控机器用户、域管理员(Domain Admins)、企业管理员(Enterprise Admins)等高权限账户才有DCSync操作的权限,从更细粒度的ACL层面来说,DCSync需要以下两个权限
- 目录复制同步
(Replicating Directory Changes) - 目录复制同步所有项
(Replicating Directory Changes All)
3.原理分析
在AD域环境中域控制器(Domain Controller)扮演了最核心的角色,承担了域内用户的管理、认证、票据授权等作用,为了防止一台域控宕机导致整个域环境崩溃,企业内通常会部署多台域控,为了保证这些域控中存储的用户数据一致性,这些域控之间会利用MS-DRSR 协议中的drsuapi RPC 接口来进行数据同步。
DCSync攻击就是“模拟了”域控同步的行为去调用DRSGetNCChanges函数,这个函数返回的数据中就包含了用户的密码。
目前DCSync攻击的常用攻击工具一般为mimikatz或impacket工具包中的Secretsdump.py
从mimikatz代码来分析,整个过程一共调用了以下4个RPC函数文章来源:https://www.toymoban.com/news/detail-602101.html
DRSBind;
- DRSBind
DRSBind函数的作用是初始化drs句柄,与服务端进行消息版本和加密方式的协商,这是调drsuapi中函数之前的必要操作。文章来源地址https://www.toymoban.com/news/detail-602101.html
到了这里,关于集权安全 | 域渗透中的 DCSync技术分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!