探讨Windows SeRelabelPrivilege特权滥用的危害 admin 118650文章 95评论 2024年9月9日10:59:51评论19 views字数 931阅读3分6秒阅读模式 今天我们来探讨一个近期在安全评估中发现的有趣问题——SeRelabelPrivilege 的滥用。这个特权在某些组策略中被授予了内置的 Users 组,并应用于多个计算机账户。对这种特权我感到非常好奇,因此决定深入研究其潜在影响和可能的滥用场景。 根据微软的文档,拥有 SeRelabelPrivilege 权限的用户可以改变文件或进程的完整性级别,从而提升或降低其安全性。 我决定进行实验来探究这个特权的实际效果。首先,我通过组策略将 SeRelabelPrivilege 分配给一个标准用户: 发现该特权只在高完整性级别下可用。 经过一系列测试,我发现这个特权实际上允许用户获取资源的所有权,包括那些完整性级别比用户更高的资源。 获得所有权后,用户可以赋予自己对资源的完全控制,这与滥用 SeDebugPrivilege 的效果类似。 我的目标是取得 SYSTEM 进程的所有权,授予自己完全控制权,然后在 NT AUTHORITYSYSTEM 账户下创建一个进程。 为此,我创建了一个简单的概念验证(POC): 首先,我需要获取当前用户 SID 并启用特定权限: 这里需要以WRITE_OWNER访问权限打开该进程。在 SetSecurityInfo 调用中,这里必须要有“LABEL_SECURITY_INFORMATION”标志,否则就无法拥有高级别的进程。 一旦获得了所有权,就可以完全控制该进程: 上面我们通过一段简单的实验代码成功地获取了 SYSTEM 进程的所有权,并在 NT AUTHORITYSYSTEM 帐户下创建了一个新进程。 接下来让我们看看它是否有效。 这里7116 是 winlogon 进程,它在系统完整性下运行,归 SYSTEM 所有: 所有权已更改,并成功授予了完全控制权: 那么这里滥用这个功能的最简单方法是执行父进程注入。 最终获得 SYSTEM 访问权限。 结论 总结来说,SeRelabelPrivilege 允许用户即使在完整性级别更高的情况下也能获取资源的所有权,并赋予自己完全访问权限。这种特权的滥用结果与 Debug Privilege 十分相似,而微软为何实现这一特权仍然是一个谜。 原文始发于微信公众号(山石网科安全技术研究院):探讨Windows SeRelabelPrivilege特权滥用的危害 点赞 https://cn-sec.com/archives/3145815.html 复制链接 复制链接 左青龙 微信扫一扫 右白虎 微信扫一扫
评论