集权安全 | 域渗透中的 DCSync技术分析

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函数

DRSBind;
  • DRSBind

DRSBind函数的作用是初始化drs句柄,与服务端进行消息版本和加密方式的协商,这是调drsuapi中函数之前的必要操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值