freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何设置一个GPO后门并将其隐藏
2019-07-17 18:31:10

22.png

注:出于个人习惯,你可以把文中的“Everyone”替换为“Domain Users”

在你正式阅读这篇文章之前,我想说肯定有人在我之前就已研究出文章中的技术,我写这篇文章的目标只是与他人分享。

同时,在这篇文章中我不会谈论提高任何提权技术,我主要集中于如何在域环境中隐藏自己,这意味着你必须先拥有域管理员权限。

介绍

组策略对象(Group Policy object)是组策略的组件,可用来控制Microsoft系统中用户帐户和计算机帐户的资源。

组策略对象根据不同的组策略设置在活动目录(Active Directory)系统中得以实现,可包含多种不同配置,例如用户的密码复杂性、为某些用户禁用本地管理等。

这意味着,如果你能够控制某处的GPO,那么你就可以控制任何东西。

33.png

SpecterOps的Andy Robbins曾写了一篇介绍GPO以及如何滥用它的文章。大家如果想了解更多,可以前去了解。

而在网上搜索之后,我还发现了一个在线演示,同样来自SpecterOps的人员,内容是将一个用户添加到GPO并授予其WriteDacl权限以形成一个隐藏后门。

44.png

而这个演示给了我一个启发,让我去寻找其他GPO后门。于是乎,便有了这篇文章,就像我前面说的,肯定有人比我先想到这项技术,我的主要目的是交流学习。

前言

每个OU(组织单位,一种管理形式)都有一个相关的GPO链接。你可以通过被称为gpLink的属性查看,这也是与组策略链接的AD对象的属性。

55.png

66.png

而组策略对象放在称为Policies的容器中。

77.png

当在组策略管理控制台创建新的GPO时。GPO对象就会被放在CN=Policies

88.png

如果你正在寻找如何配置一个“邪恶的”GPO作为你的后门,可以点击查看。

接下来,作为示例,我配置了一个邪恶的GPO,允许域用户从本地登录到域控制器。

99.png

现在将它链接到一个OU,我将以域控制器为例。总所周知,OU=Domain Controllers有一个默认的域控制器策略GPO链接到它。

100.png

默认情况下,默认域控制器策略GPO的gpLink属性如下:[LDAP://CN={6AC1786C-016F-11D2-945F-00C04fB984F9}

而我们创建的GPO有一个相似名称(cn)如下:

{FCD40A5F-C0B8–4195–9BF8–932DD4C71BB3}

我们将域控制器的当前GPO替换为我制作的邪恶GPO。简单来说,就是编辑OU=Domain Controllers的gpLink属性。

110.png

我们把{6AC1786C-016F-11D2–945F-00C04fB984F9}替换为{FCD40A5F-C0B8–4195–9BF8–932DD4C71BB3}

120.png

更改完以后,我们可以看到邪恶GPO已成功链接。

130.png

此时,所有的域控制器都已部署了我的邪恶策略。

我的“研究”

在上一步把我们的GPO部署上以后,是时候把他它隐藏起来了。我们可以设置为拒绝Everyone读取它。

140.png

设置完成后,我们可从组策略管理控制台中发现:

BackdoorGPO(即邪恶的GPO)在组策略对象中消失了。

150.png

接下来,再“拒绝”EveryoneOU=Domain ControllersgpLink的读/写操作,只针对gplink

160.png

完成后,你便会在组策略管理控制台中发现:

170.png

在上图中,我们看不到任何与OU=Domain Controllers链接的GPO,因为我们拒绝了Everyone对gplink属性的读取访问。当然,它还在那里,只是隐藏了。

这就是我们最终要达到的结果,BackdoorGPO从组策略管理控制台中消失了。

180.png

假设此时一个域管理员登录了机器,想要向OU=Domain Controllers添加一个新的gpo,那么他无法成功。因为我们拒绝了Everyonegplink属性的读写。这样就可阻止他人添加新的GPO,影响我们的后门。

190.png

简要重述

我们首先创建了一个GPO后门,并用其替换OU=Domain Controllers处的Default Domain Controllers Policy

在第一阶段,我们修改了它的gplink属性。

200.png

在第二阶段,我们拒绝Everyone对BackdoorGPO的读属性。

210.png

在第三阶段,我们再拒绝EveryoneOU=Domain Controllersgplink属性的读写。

220.png

此时,我们若查看OU=Domain Controllersgplink属性时,会发现:

230.png

但实际上,我们的邪恶GPO链接到了域控制器,管理员无法发现它,并且也无法更改域控制器的链接GPO。

结论

对于不少人来说,Active Directory是一种很复杂的东西。

它有很多不同的方法来创建后门,且很难被系统管理员发现。

关于上述内容,我不建议直接在域控制器上实施,因为动作过大,但如果针对某台服务器,这个后门的效果可能会很好。

当然,肯定有人已经用不同的方法实现了相同的效果,欢迎和我交流。

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/2789.html
来源:https://medium.com/@huykha10/gpo-abuse-you-cant-see-me-74f6336e5c13
# 后门 # 微软
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者