其实严格意义上来说DCSync这个技术,并不是一种横向得技术,而是更偏向于权限维持吧!
但是其实也是可以用来横向(配合NTLM Realy),如果不牵强说得话!
那么下面,我们就来看看这个DCSync的技术
1.DCSync原理
对于DCSync(Domain Controller Synchronization)域控同步,其实就是域控之间进行数据同步之间的通信
就比如上图,域控DC1通过DRS(数据复制协议)协议,向DC2进行同步,同步的内容,就包括了域内所有用户的 NTLM哈希值!!!
2.谁可以运行DRS服务
以下的用户都能运行DRS服务
3.DCSync的攻击原理
因为期间进行了域控的同步,我们就可以将自己伪装成以上能运行DRS服务的用户或者机器,然后强制让域控向我们进行同步,进而获取到域内的所有信息!!!!
但是有人就会问了,你上面这些组里面的用户的权限都不低啊!!! 拿到这些我们不直接接管了吗???
:: 没错,所以这就是为什么我开始说的这个技术一般用户权限维持!!!
4.Mimikatz 配和 Dsync攻击
假设我们现在远控了一台电脑
然后我们去查询当前的权限
bash
shell net groups "Domain Admins" /domain
成功发现原来自己的管理员(其实这个时候已经穿了这个域环境)
然后我们他通过DCSync进行查询
bash
mimikatz lsadump::dcsync /domain:rce.org /all /csv
发现牛魔了,离了个大谱。。。。。。
然后我就在怀疑前几次实验不成功是不是都是因为域控的问题,于是我就换了一个域
首先这个用户是普通用户权限,这时候是包不能抓到的
这时候是包读不到的
然后我们吧这个用户添加到Domain Admins 这个组里面
这时候我们再去抓密码
这样,就成功抓到了!!! 剩下的上线步骤大家都很清楚了吧 ,既然我们都能拿到Krbtgt的NTLM哈希了,那我们就可以直接做黄金票据去横向就好了!!
直接做金票
然后我们就可以上线域控了,后面我就不演示了大家都懂(那么多种横向,随便选的)
5.SecretDump 配合DCSyn攻击
那么假设我们拿到的一台机器不是管理员,但是我们又知道域馆的哈希值呢????
这时候我们就要用SecretDump 来进行DCSync攻击
首先是不可以的,然后我们吧secretdump传上去(但是这个好像有点问题,密码中不能包含@)
但是也还是能读取到的
6.PowerView配合DCSync权限维持
还记得一开始说得嘛,DCSync一般都是用来做权限维持得!!!
下面我们就来来演示一下!!!假设我们上线了域控
然后我们直接PowerView脚本无文件落地进行权限维持
bash
powershell-import PowerView.ps1
powershell Add-DomainObjectAcl -TargetIdentity "DC=god,DC=org" -PrincipalIdentity 用户名 -Rights DCSync -Verbose
然后这时候,就算我们的低权限用户liukaifeng01 也能直接进行DCSync攻击了!!!
7.NTLM Relay配合Printbug进行DCSYNc
这个攻击手法,我将在下一篇Blog讲