域***测试指南之GPO和OU详解(上)

域***测试指南之GPO和OU详解(上)

丝绸之路 嘶吼专业版 2018-04-07
域***测试指南之GPO和OU详解(上)

介绍

活动目录是由用户,计算机和用户组组成的庞大而复杂的环境,并且在这之间存在着复杂的交织权限和特权将它们连接起来。BloodHound的最初发布侧重于衍生本地管理的概念,然后BloodHound 1.3引入了基于ACL的***路径。现在,随着BloodHound 1.5的发布,测试人员和红军团队可以轻松找到包括滥用组策略控制的***路径以及这些组策略有效应用的对象。

在本篇博文中,我将回顾GPO(组策略对象)执行的工作原理以及如何使用BloodHound查找基于GPO控制的***路径,并解释执行这些***的几种方法。

域***测试指南之GPO和OU详解(上)

之前所做的一些工作

Lucas Bouillot和Emmanuel Gras在他们的开创性工作“Chemins decontrôleen environnement Active Directory”中包含了GPO控制和OU结构。他们使用***图来映射哪些主体可以控制GPO,以及哪些OU应用到这些GPO,然后将这些GP溯源到受这些GPO影响的对象。我们从Lucas和Emannuel的白皮书(法语)学到了很多,我强烈建议你阅读它。

有几位重要的作者和资源在我们研究GPO的工作方式时需要提及:微软组策略团队在TechNet上的文章,Sean Metcalf在adsecurity.org的一些研究工作,荣获过14次微软MVP的“GPO Guy“ Darren Mar-Elia,微软的组策略功能规范,最后但也是最重要的,Will Schroeder关于滥用GPO权限的开创性博客文章。特别感谢Darren Mar-Elia回答了许多关于组策略的问题。其他资源和引用链接可以在这篇博文的底部找到。

域***测试指南之GPO和OU详解(上)

组策略中的活动部分

没有两种方式:GPO执法是一个复杂的野兽,有很多活动部分。有了这些说明,我们先从基本知识和其他文章中使用的词汇开始,然后逐步解释这些活动部分是如何相互影响的:

GPO:组策略对象。首次创建Active Directory域时,还会创建两个GPO:“默认域策略”和“默认域控制器”。GPO包含一组影响计算机和用户的策略。例如,你可以使用GPO策略来控制计算机上的Windows桌面背景。GPO在组策略管理GUI中是可见的:

域***测试指南之GPO和OU详解(上)

上图所示:我们的测试域中的GPO列表。

从技术上讲,“默认域控制器策略”是GPO 的显示名称,而GPO的名称是一个GPO花括号“GUID”。我把“GUID”放在引号中,因为这个标识符实际上并不是全局唯一的。每个Active Directory域中的“默认域控制器策略”将具有相同的“名称”(读作:花括号GUID):{6AC1786C-016F-11D2-945F-00C04fB984F9}。出于这个原因,GPO有一个名为objectguid的附加参数,它实际上是全局唯一的。任何给定GPO的策略文件都位于域中的SYSVOL中策略的gpcfilesyspath中(例如:\contoso.local\sysvol\contoso.local\Policies{6AC1786C-016F-11D2-945F-00C04fB984F9})。

域***测试指南之GPO和OU详解(上)

上图:“默认域控制器策略”GPO的相关属性以及SYSVOL中的GPO策略文件位置。

OU:组织单位。根据微软的TechNet文章,OU是“可用于将大多数其他对象和类出于管理目的组合在一起的通用容器”。基本上,OU是你将主体(用户,组和计算机)放入的一个容器。组织通常会使用OU来组织基于部门和/或地理位置的实体。此外,OU当然可以嵌套在其他OU中。这通常会导致域内相对复杂的OU树结构,如果不先熟悉树,则很难进行导航。你可以在ADUC(Active Directory用户和计算机)的GUI中看到OU。在下面的屏幕截图中,“ContosoUsers”是CONTOSO.LOCAL域的子OU,“帮助台”是“ContosoUsers”OU中的子OU,“Alice Admin”是“Helpdesk”OU的子用户:
域***测试指南之GPO和OU详解(上)

上图:OU树中的Alice Admin用户。

GpLink:一个组策略链接。GPO可以“链接”到域,站点和OU。默认情况下,链接到OU的GPO将应用于该OU的子对象。例如,默认情况下,“默认域策略”GPO链接到域对象,而默认情况下,“默认域控制器策略”链接到域控制器OU。在下面的屏幕截图中,你可以看到,如果我们展开“contoso.local”域和“域控制器”OU,则链接到这些对象的GPO则会显示在其下方:

域***测试指南之GPO和OU详解(上)

上图:“默认域策略”链接到域“contoso.local”。“默认域控制器”策略链接到“域控制器”OU。

GpLinks存储在GPO链接的对象上,名为“gplink”。“gplink”属性值的格式是[<GPO的专有名称>;如果链接未强制执行,则为<0,如果强制执行链接则为1]。你可以使用PowerView轻松枚举这些链接,如下图所示:

域***测试指南之GPO和OU详解(上)

上图:“默认域控制器策略”GPO链接到“域控制器”OU,并未执行。

这三个部分 - GPO,OU和GpLinks - 构成了我们正在处理的主要活动部分。在理解GPO执行逻辑和如何使用BloodHound查找***路径之前,了解这三个概念很重要,因此在继续之前,请确保你对这些***有信心。最后一个注意事项:GPO也可以链接到站点,但由于站点成员资格和收集挑战的复杂性,我们在本文将不包括这些内容。

域***测试指南之GPO和OU详解(上)

GPO执行逻辑

现在你知道基本的活动部分,让我们仔细看看它们是如何连接的。很简单,GPO执行逻辑的工作原理如下:

· GpLinks可以执行,或不执行。

· OU可以阻止继承,也可以不阻止。

· 如果强制执行GpLink,则关联的GPO将应用于链接的OU和所有子对象,而不管该树中的任何OU是否阻止继承。

· 如果未强制执行GpLink,则关联的GPO将应用于链接的OU和所有子对象,除非该树中的任何OU阻止继承。

最重要的还有更多的复杂问题,我们稍后会介绍。首先,我们来看看上述规则中关于GpLink强制和OU阻止继承的内容。回想一下,我有一个用户在HelpDesk OU中叫做Alice Admin。然而,我们不要在ADUC中看到这一点,而是开始考虑下面这个图表:

域***测试指南之GPO和OU详解(上)

上图:域/ OU树中的Alice Admin。

域对象Contoso.Local是一个容器对象。它包含名为ContosoUsers的OU。OU ContosoUsers包含OU帮助台。最后,OU HelpDesk包含用户Alice Admin。

现在,将我们的默认域策略GPO添加到组合中。回想一下,在我的测试域中,该GPO链接到域对象:

域***测试指南之GPO和OU详解(上)

上图:“默认域策略”GPO链接到域对象。

现在,在默认情况下,你可以简单地从左至右阅读,以确定默认域策略将应用于用户Alice Admin。这里的“默认情况”是GpLink关系没有被执行,并且这个路径中的容器都没有阻止继承。让我们将这些信息添加到上面的图表中:

域***测试指南之GPO和OU详解(上)

在这种情况下,没有强制执行GpLink边缘,因为没有任何OU阻止继承。在我们的测试域中,我们在ContosoUsers下有另一个名为“Accounting”的OU,在该OU中有一个用户:Bob User。举例来说,我们会认为Accounting OU会阻止继承。让我们将其添加到我们现有的图表中:

域***测试指南之GPO和OU详解(上)

同样,我们可以看到默认域策略GPO链接到域对象,Bob用户包含在域对象下的OU树中; 但是,由于“Accounting”这个OU会阻止继承,并且由于未强制实施GpLink边缘,所以默认域策略将不适用于Bob用户。

还能跟上我的节奏吗?

让我们在混合中添加另一个GPO并将其链接到域对象,这次我们将强制执行GpLink:

域***测试指南之GPO和OU详解(上)

我们称为“自定义密码策略”的新GPO链接到域对象,该对象又包含它下面的整个OU树。现在,因为GPLink被强制执行,所以此策略将应用于OU树中的所有子对象,而不管这些OU中的任何一个是否阻止继承。这意味着尽管“Accounting”这个OU阻止继承,“自定义密码策略”GPO将同时应用于“Alice管理员” 和“Bob用户” 。

根据我们的经验,这些信息将涵盖你在真实企业网络中遇到的95%以上的情况; 但是,还有三件事需要了解,这可能会影响你在***测试和红队评估过程中滥用GPO控制路径:WMI筛选,安全筛选和组策略链接顺序和优先级。

· WMI筛选允许管理员根据某个WMI查询是返回True还是False来进一步限制GPO将应用于哪些计算机和用户。例如,当计算机正在处理组策略时,它可以运行WMI查询来检查操作系统是否为Windows 7,并且只有在该查询返回true时才应用组策略。请参阅Darren Mar-Elia的优秀博客文章以了解更多详情。

· 安全筛选允许管理员进一步限制GPO将应用哪些主体。管理员可以限制GPO应用于特定的计算机,用户或特定安全组的成员。默认情况下,每个GPO都应用于“Authenticated Users”这个主体,其中包括任何成功通过域身份验证的主体。有关更多详细信息,请参阅TechGenix站点上的这篇文章。

· 组策略链接顺序决定了在出现冲突的非合并策略时哪个组策略“获胜”。假设你有两个“密码策略”GPO:一个要求用户每30天更改密码,另一个要求用户每60天更改一次密码。无论优先顺序中哪一项策略更高,都是“赢”的策略。组策略客户端通过以相反的优先顺序处理策略来强制执行此“获胜”条件,因此最高优先级策略最后处理,并且“胜出”。幸运的是,对于几乎所有的滥用原语来说,你都不必担心这一点。有关更多信息,请查看此博客文章。

就像我上面所说的,我们的经验是,在真实的企业网络中,你不必担心在遇到95%或更多的情况下的WMI过滤、安全过滤或GpLink顺序,但我会提及它们。如果你的滥用行为无效,请了解从何处开始进行疑难解答。我们可能会尝试将这三个项目在未来推入BloodHound界面。同时,确保你的目标计算机和用户对象不会被WMI或安全过滤器过滤掉,或者尝试推送将被更高优先级策略推翻的恶意组策略。
域***测试指南之GPO和OU详解(上)

上一篇:HJ30 字符串合并处理


下一篇:(先导)Git Api对接:获取private_token的两种方式