域渗透权限维持之DCShadow
域渗透权限维持之DCShadow
前言
随着企业信息化程度的加深,内网环境逐渐成为攻击者的关注的重点目标,在内网渗透的过程中权限维持是不可或缺的关键环节之一,它往往决定了攻击者能否在目标系统中长时间潜伏,获取敏感信息或者造成更大范围的破坏。
简介
在具备域管理员的情况下,攻击者可以创建伪造的域控,将预先设定的对象或者对象属性复制到正在运行的域服务器中,dcsync&dcshadow区别在于,前者从服务器复制出来东西,后者将数据复制进目标服务器使得正常的DC通过伪造的DC复制数据 主要攻击步骤 通过dcshadow更改配置架构和注册spn从而实现在在目标AD活动目录内注册一个伪造的的DC 使得伪造的DC被其他的DC认可,能够参加域复制 在伪造的DC上更改数据 强制触发域复制,使得指定的新对象或修改后的属性能够同步进入其他的DC中 前提条件 DCShadow是需要拥有domain admins也就是域管权限,因为要注册spn值等,因此也就不算是权限提升的利用,反而是一种持久化利用
原理分析
微软MS-ADTS(MicroSoft Active Directory Technical Specification)中指出,活动目录是一个依赖于专用服务器架构。域控便是承载此服务的服务器,它托管活动目录对象的数据存储,并与其他的域控互相同步数据,以确保活动目录对象的本地更改在所有域控之间正确的复制。域控间的数据的复制由运行在NTDS服务上一个名为KCC(Knowledge Consistency Checker)的组件所执行。
KCC的主要功能是生成和维护复制活动目录拓扑、以便于站点内和站点之间的扑拓复制。对于站点内的复制,每个KCC都会生成自己的连接;对于站点之间的复制,每个站点有一个KCC生成所有连接。
两种连接类型,如图所示:
默认情况下,KCC组件每隔15min进行了一次域控间的数据的同步。使用与每个活动目录对象相关联的USN,KCC可以识别环境中发生的变化,并确保域控在复制扑拓中不会被孤立。于是,我们猜测能不能自己注册一个恶意的域控,并注入恶意的对象。这样,KCC在进行域控间数据的同步时,就能将恶意域控上的恶意的对象同步到其他正常的域控上了。
漏洞攻击流程
整个漏洞攻击流程如下:
1)通过DCShadow 更改配置架构和注册SPN,从而实现在目标活动目录内注册一个伪造的恶意域控,并且使得伪造的恶意域控能被其他正常的域控认可,能够参与域复制。
2)在伪造的域控上更改活动目录数据。
3)强制触发域复制,使得指定的新对象或修改后的属性能够同步进入其他正常域控中,DCShadow 攻击示意图如图所示:
DCShadow攻击
实验环境如下:
域控主机:
- 域控系统版本:Windows Server 2008
- 域控主机名:owa
- 域控IP:192.168.52.138
- 用户名:administrator
- 密码:hongrisec@2025
域内主机:
- 域内主机:Windows7
- 域内主机名:stu1
- 域内主机IP:192.168.52.143
- 域普通用户:god\test4
- 密码:hongrisec@2025
先开第一个终端
这个命令是是在 域控 或域成员机上用来查看“Domain Admins”组的成员的
1 |
|
域内主机上已经登录一个普通域用户god\test4,其具有本地管理员权限。以本地管理员权限打开1个cmd窗口,还有用本地用户打开一个cmd窗口。
先以本地管理员权限使用psexec执行如下的命令获取一个具有System权限的cmd窗口,结果如图所示:
1 |
|
使用mimikatz执行如下的命令进行数据的更改监听,修改用户test4的primarygroupid的值为512,即将其添加到Domain Admins组中,结果如图所示:
1 |
|
我们也可以执行其他活动目录的数据更改语句,常见的组ID和对应组的关系如图所示:
组ID | 对应组 |
---|---|
512 | Domain Admins |
513 | Domain Users |
514 | Domain Guests |
515 | Domain computers |
516 | Domain Cotrollers |
然后打开第三个终端,这个终端是普通用户权限,我们用psexec以域管理员权限god\administrator身份打开一个cmd窗口,然后执行如下的命令触发正常域控同步数据,如图所示:
1 |
|
执行它就好了,不用输入密码
然后我们再打开一个终端,这个终端是administrator权限
然后在这个终端输入
1 |
|
可以发现第二个开启的终端已不在监听状态了
检验一下第一个终端
打开第一个终端
1 |
|
成功加入test4,利用成功