我花了很多时间研究组策略现在可能是对它进行总结的好时机了,我想写一些关于组策略的文章。 我特别想强调为什么对客户端开放管理访问是非常糟糕的。 尽管我知道许多IT组织完全信任组策略,但每个人都需要对组策略和管理员访问权限的缺点了然,这一点非常重要。人们通常认为配置是由组策略设置,因此能够对整个网络环境进行一致的推广(设置和清理)。 但是,情况可能并非如此,特别是如果您允许在客户端/服务器上开放本地管理员权限。
让我们假设攻击者以管理员身份破坏了一个设置(我们将更改HKLM中的内容,这需要本地管理员访问),并希望删除该设置,以便日志信息更少。攻击者可以删除该密钥,也可以将其设置为0。攻击者这样做之后,客户端将不再在事件日志中显示进程命令行。
现在一个典型的假设是:如果运行gpupdate,来等待下一个组策略刷新周期,或者引导机器获取设置。正如本文前面所解释的那样,这是行不通的。这是组策略的一个弱点,但是此行为可以 且应该被更改来作为将展示的一个安全基准示例。更改此行为的设置被命名为Process,即使组策略对象没有更改,还是可以针对组策略的所有不同部分(脚本、安全性、注册表、无线、首选项等)进行调整。启用此功能后,组策略客户端将不再查看版本号,并始终启用设置。在示例中,我们希望为注册表策略操作启用此功能。
https://blogs.technet.microsoft.com/grouppolicy/2009/03/04/group-policy-troubleshooting-helpful-event-log-categories/
原文:https://www.trustedsec.com/2019/01/local-admin-access-and-group-policy-dont-mix/
翻译:wangrin
看雪翻译小组
组策略不会自动重新应用,尽管这是一个常见的误解,即机器在每次组策略刷新或重新启动后运行gpupdate /Force。默认情况下,这不是组策略的工作方式。机器每90分钟检查一次组策略,随机偏移最多30分钟。在检查期间,它将验证应用的组策略自上次启用以来是否发生了更改。如果中央组策略中没有任何更改,它将不执行任何操作,并假定启用的组策略是兼容的。这里有一个例外,那就是客户端处扩展an'quan'xin(security client side extensions),即使没有任何更改,这些设置也会每16小时重新处理一次。让我们更详细地研究一下它是如何工作的。
首先,我们创建了一个名为“一些重要设置”的新组策略,并将其链接到包含我的计算机帐户的OU:
如果标记它,组策略管理器的正确部分将显示更多信息。如果点击Details选项卡,可以看到Group Policy的唯一ID:
如果标记它,组策略管理器的正确部分将显示更多信息。如果点击Details选项卡,可以看到Group Policy的唯一ID:
Within that folder there are two sub-folders,
在该文件夹中有两个子文件夹,machine和user。还有一个名为gps.ini的文件。无论何时向组策略的机器部分或用户部分添加设置,设置都将添加到正确的文件夹下。这可以是策略、安全信息(Secedit)或首选项。如果打开GPT.ini文件,可以看到它是一个空文件:
每当对组策略进行更改时,都会更新该文件并添加一个新版本号。例如,如果我们只是设置一个机器策略设置,并重新访问GPT.INI,它将看起来像这样:
可以看到,版本号增加了一。如果现在去客户端,就要么等到第二组策略更新,做一个引导或运行 gpupdate,最后它将应用此策略,在这个位置创建一个组策略的 本地副本:C:\Windows\System32\GroupPolicy\\sysvol\oddvarmoe\Policies\{51799E88-A6DC-471A-9F0A-D213E5C3FCC3}。
这是我们刚刚创建的中央组策略的精确副本。如果现在更改中央组策略,版本号将增加一。这意味着我们现在有了一个集中版本2和客户端版本1的组策略。在下一次组策略刷新或引导中,客户端组策略(负责应用组策略配置的Windows客户机组件)将看到版本号集中地发生了更改,现在则必须使用新策略并覆盖现有的策略。这就是组策略是如何被应用 。当您使用/Force运行gpupdate时,您告诉组策略客户端忽略版本号,并获取所有组策略的新副本并应用它们。
但是,如果在组策略中将用户和计算机设置组合恰里 ,则版本号会显著增加,这是有原因的。例如,这里我们刚刚添加了一个随机的用户设置,触发了其中一个版本的用户设置。看看这个数字:
在组策略管理中,这些数字是正确的,但是在GPT.ini文件中,我们可以看到它已经增加到了65538。前16位是用户版本,后16位是计算机版本。为了更容易理解,我们可以转换它。首先,将十进制转换为十六进制。这可以用计算器在Windows中完成 :
可以看到,这个值在十六进制中是0x10002。Windows计算器会删除前置零,因此真正的值是0x00010002。四个十六进制字符等于16位。现在我们有了我们的数字,我们可以把它分成两个16位的值。0001 0002 加粗斜体数字是用户设置的版本,绿色的数字是计算机设置的版本号。这些数字很小,所以很明显是1和2。如果它是一个更高的十六进制数,您可以取每个部分,在计算器中输入十六进制值,然后查看十进制值以获得版本号。
我为什么要告诉你这些?了解它的工作原理很重要,因为它有弱点。 大多数组策略设置都最终操作就是在注册表中以下注册表项:
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2020-1-11 15:35
被BDomne编辑
,原因: