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

相关文章

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

MySQL报错sql_mode=only_full_group_by的问题解决

《MySQL报错sql_mode=only_full_group_by的问题解决》本文主要介绍了MySQL报错sql_mode=only_full_group_by的问题解决,文中通过示例代码介绍的非... 目录报错信息DataGrip 报错还原Navicat 报错还原报错原因解决方案查看当前 sql mo

一文详解Java Condition的await和signal等待通知机制

《一文详解JavaCondition的await和signal等待通知机制》这篇文章主要为大家详细介绍了JavaCondition的await和signal等待通知机制的相关知识,文中的示例代码讲... 目录1. Condition的核心方法2. 使用场景与优势3. 使用流程与规范基本模板生产者-消费者示例

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装