探讨Windows SeRelabelPrivilege特权滥用的危害

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

结论

探讨Windows SeRelabelPrivilege特权滥用的危害
总结来说,SeRelabelPrivilege 允许用户即使在完整性级别更高的情况下也能获取资源的所有权,并赋予自己完全访问权限。这种特权的滥用结果与 Debug Privilege 十分相似,而微软为何实现这一特权仍然是一个谜。   

原文始发于微信公众号(山石网科安全技术研究院):探讨Windows SeRelabelPrivilege特权滥用的危害

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月9日10:59:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   探讨Windows SeRelabelPrivilege特权滥用的危害https://cn-sec.com/archives/3145815.html

发表评论

匿名网友 填写信息