Windows 通过 StorSvc 提权

admin 2024年6月3日16:46:57评论66 views字数 1864阅读6分12秒阅读模式

摘要

StorSvc 是一个以 NT AUTHORITYSYSTEM 身份运行的服务,在本地触发 SvcRebootToFlashingMode RPC 方法时会尝试加载缺失的 SprintCSP.dll DLL。

描述

StorSvc.dll!SvcRebootToFlashingMode RPC 方法调用 StorSvc.dll!InitResetPhone,该方法又调用 StorSvc.dll!ResetPhoneWorkerCallback,后者尝试加载如下图像所示的 SprintCSP.dll

Windows 通过 StorSvc 提权
FactoryResetUICC.png

由于这个 DLL 是缺失的,它将按照 DLL 搜索顺序 进行加载,我们可以利用这种行为,通过在 SYSTEM %PATH% 中包含的可写文件夹中放置恶意 DLL。然后,恶意 DLL 应该会以 SYSTEM 权限 执行。

值得注意的是,该服务以 LocalSystemNetworkRestricted 服务组中的 NT AUTHORITYSYSTEM 身份启动,该服务组具有以下权限:

Privilege Name               Description                                         State       
============================ =================================================== =============
SeTcbPrivilege               Act as part of the operating system                 Enabled   
SeLoadDriverPrivilege        Load and unload device drivers                      Disabled
SeBackupPrivilege            Back up files and directories                       Disabled
SeRestorePrivilege           Restore files and directories                       Disabled
SeSystemEnvironmentPrivilege Modify firmware environment values                  Disabled
SeChangeNotifyPrivilege      Bypass traverse checking                            Enabled   
SeManageVolumePrivilege      Perform volume maintenance tasks                    Enabled   

概念验证

在这个资源库中,我们提供了两种不同的源代码:

  • RpcClient.exe:触发RPC调用的程序。
  • SprintCSP.dll:可以放置来利用DLL劫持。这个概念验证运行一个 whoami 命令,并将输出写入 C:ProgramDatawhoamiall.txt。如果你想扩展这个概念验证的功能,你可以编辑 main.c 中的 DoStuff() 函数。

提供的漏洞利用应该可以默认工作,并且已经在 Windows 10Windows 11Windows Server 2019Windows Server 2022 上进行了测试。为了使其工作,必须更改 storsvc_c.c 中的 #define 宏,以便将漏洞利用适配到目标机器的操作系统。

触发漏洞利用后,需要停止重启服务,SprintCSP.dll 已经做到了这一点。

步骤

  1. 使用 reg query "HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment" -v Path 查找可写的 SYSTEM 路径。
  2. 将 SprintCSP.dll 复制到可写路径。
  3. 执行 RpcClient.exe。
  4. 检查 C:ProgramDatawhoamiall.txt
Windows 通过 StorSvc 提权
PoC.gif

参考

  • 使用 RpcView 对 Windows RPC 进行模糊测试
  • CdpSvcLPE
  • CDPSvc DLL 劫持 - 从 LOCAL SERVICE 到 SYSTEM

原文始发于微信公众号(3072):Windows 通过 StorSvc 提权

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月3日16:46:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Windows 通过 StorSvc 提权https://cn-sec.com/archives/2810181.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息