Windows 组策略(Group Policy Object)机制的漏洞分析

2024-03-06 05:32

本文主要是介绍Windows 组策略(Group Policy Object)机制的漏洞分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Windows 组策略(Group Policy Object)机制的漏洞分析

Windows 组策略(Group Policy Object)机制的漏洞类大约有60个,专门针对策略更新步骤,允许域环境中的标准用户执行文件系统攻击,进而使恶意用户可以逃避反恶意软件解决方案,绕过安全性强化并可能导致对Windows 2000的严重攻击。组织的网络。这些漏洞会影响任何Windows计算机(2008或更高版本),并在域环境中提升其特权。

如果你对这项研究的其他发现感兴趣,请查阅详细信息(第1部分和第2部分)。

GPSVC使所有加入域的Windows计算机暴露给一个特权升级(EoP)漏洞,通过运行gpudate.exe,你可以通过文件操作攻击升级为特权用户。如果你了解Windows的组策略,你就会知道系统在用户登录时会重新同步并应用当前已修改的组策略,但此时我们修改过的策略很可能会被覆盖掉。虽然我们可以通过将“SYSTEM”从构造注册表键值的ACL中移除来避免这种情况,但是Windows组策略客户端-GpSvc将会检测到这种操作,并在用户登录时修复ACL以便获取到写入权限,然后重写组策略。

通过分析GpSvc对这种ACL的处理过程,我发现当GpSvc在检测到注册表中的组策略键值时,会调用内部函数ForceRegCreateKeyEx,这个函数会尝试利用写入权限来打开我们的组策略键值,如果失败,则会调用AddPolicyPermissionOnKey来获取该注册表项的相应权限,以恢复“SYSTEM”在该表项上的写入权限,并重新打开它然后覆盖组策略。

Windows的组策略机制已经存在了很长时间,这是在域环境中(从打印机到备份设备)传播设置的一种相对安全的方法,即随便命名。因此,它需要与许多组件进行交互。奇热许多交互可以造成许多潜在的漏洞,这就是我们要谈论的。

以下是该漏洞的工作原理:

Windows 组策略(Group Policy Object)机制的漏洞分析

背景

组策略或GPO对象最初是在Windows 2000的环境中使用的。虽然已经有一段时间了,它们有所变化,但是本质上还是相同的。管理员使用GPO在整个托管环境中实施其策略,并且功能非常强大。从禁用Windows Defender和防火墙到安装软件和打印机,管理员基本上可以使用GPO做任何他们想做的事情。

在Windows中,每个用户都有一组可由本地管理员修改的本地组策略,这使他们可以为本地计算机设置规则。在加入了域环境的计算机上,域管理员常常对适用于你的计算机的GPO感到一头雾水。

遵循最小特权原则是一种众所周知的安全最佳实践,该原则基于将用户的特权级别限制为最低限度。在这种情况下,这意味着不允许域用户成为本地管理员组的一部分。原因是本地管理员可以覆盖域管理员所应用的每个组策略,从而使GPO成为在公司网络上强制设置的一种非常无效的方法。

有趣的是,本地非特权用户可以手动请求组策略更新。因此,如果你在组策略更新过程中发现了一个漏洞,你可以在任何你想要的时候触发它,使潜在的攻击变得更容易。管理员不必等待90分钟(域环境中推送组策略更新的默认时间间隔为30分钟),而是在域环境上推送组策略更新的默认时间ÿ

这篇关于Windows 组策略(Group Policy Object)机制的漏洞分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/778979

相关文章

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

mysql中的group by高级用法

《mysql中的groupby高级用法》MySQL中的GROUPBY是数据聚合分析的核心功能,主要用于将结果集按指定列分组,并结合聚合函数进行统计计算,下面给大家介绍mysql中的groupby用法... 目录一、基本语法与核心功能二、基础用法示例1. 单列分组统计2. 多列组合分组3. 与WHERE结合使

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

SpringRetry重试机制之@Retryable注解与重试策略详解

《SpringRetry重试机制之@Retryable注解与重试策略详解》本文将详细介绍SpringRetry的重试机制,特别是@Retryable注解的使用及各种重试策略的配置,帮助开发者构建更加健... 目录引言一、SpringRetry基础知识二、启用SpringRetry三、@Retryable注解

SpringKafka错误处理(重试机制与死信队列)

《SpringKafka错误处理(重试机制与死信队列)》SpringKafka提供了全面的错误处理机制,通过灵活的重试策略和死信队列处理,下面就来介绍一下,具有一定的参考价值,感兴趣的可以了解一下... 目录引言一、Spring Kafka错误处理基础二、配置重试机制三、死信队列实现四、特定异常的处理策略五

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe