Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
UsoDllLoader — Windows - 利用更新会话协调器服务进行特权文件写入的武器化 | Kitploit
工具/GitHubGitHub/itm4n/usodllloader
权限提升Payload生成漏洞利用渗透测试Archived
GitHubitm4n/usodllloader

UsoDllLoader

Windows - 利用更新会话协调器服务进行特权文件写入的武器化

查看仓库
406100126年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

UsoDllLoader

⚠️ 2020-06-06 更新: 此技巧在最新的 Windows 10 Insider Preview 版本中已不再有效。这意味着,尽管它在 Windows 10 的主流版本上 仍然有效,但您应该预料到它在未来几个月内会被修补。

描述

此 PoC 展示了一种可用于在 Windows 上利用特权文件写入漏洞的技术。它提供了 James Forshaw(又名 @tiraniddo)发现的 DiagHub DLL 加载“漏洞”的替代方案,该漏洞自 1903 版本起已被微软修复。

TL;DR

从 Windows 10 开始,微软引入了 Update Session Orchestrator 服务。作为普通用户,您可以通过 COM 与此服务交互,例如执行“更新扫描”(即检查是否有可用更新)或开始下载待处理的更新。甚至还有一个名为 usoclient.exe 的未记录的内置工具,专门用于此目的。

从攻击者的角度来看,此服务之所以有趣,是因为它以 NT AUTHORITY\System 身份运行,并且每当创建更新会话时,它都会尝试加载一个不存在的 DLL(windowscoredeviceinfo.dll)。

这意味着,如果我们发现 Windows 或某些第三方软件中存在特权文件写入漏洞,我们可以将我们自己的 windowscoredeviceinfo.dll 副本复制到 C:\Windows\Sytem32\,然后让 USO 服务加载它,从而以 NT AUTHORITY\System 身份执行任意代码。

有关更多信息:
第1部分 - https://itm4n.github.io/usodllloader-part1/
第2部分 - https://itm4n.github.io/usodllloader-part2/

构建 PoC

内容

该解决方案包含两个项目:WindowsCoreDeviceInfo 和 UsoDllLoader。

  • WindowsCoreDeviceInfo

它提供了一个 PoC DLL,每当调用 QueryDeviceInformation() 函数时,它将在端口 1337(仅限本地主机)上启动一个绑定 shell。该函数是 USO 工作进程使用的函数名称。

  • UsoDllLoader(可选)

它是 usoclient.exe 的简化版本。普通用户可以运行它来与 USO 服务交互,让其加载 windowscoredeviceinfo.dll。然后,它将尝试连接到绑定 shell。如果出现错误,请阅读“已知问题”部分。

构建解决方案

该解决方案已预先配置,因此编译应该很容易。我使用的是 Visual Studio 2019。它可能不适用于旧版本。

  1. 选择 Release 配置和 x64 架构。
  2. 构建解决方案。
  3. 输出:DLL .\x64\Release\WindowsCoreDeviceInfo.dll 和加载器 .\x64\Release\UsoDllLoader.exe。

测试

用法 1 - UsoDllLoader

出于测试目的,您可以:

  1. 以管理员身份,将 WindowsCoreDeviceInfo.dll 复制到 C:\Windows\System32\。
  2. 以普通用户身份使用加载器。
  3. 希望您能获得一个 NT AUTHORITY\SYSTEM 权限的 shell。

用法 2 - UsoClient

如果 UsoDllLoader.exe 失败,您可以手动执行上述操作。

  1. 以管理员身份,将 WindowsCoreDeviceInfo.dll 复制到 C:\Windows\System32\。
  2. 以普通用户身份运行命令 usoclient StartInteractiveScan。注意该命令不会提供任何反馈。
  3. 下载适用于 Windows 的 netcat,并使用命令 nc.exe 127.0.0.1 1337 连接到绑定 shell。

已知问题

  • 待处理的更新

如果有一个或多个更新正在等待安装,或者正在安装更新,则此方法可能会失败。

  • RPC 错误

根据 Windows 版本的不同,UsoDllLoader.exe 可能会 以各种错误代码失败。我没有过多调查这些问题。原因在于它只是一个 PoC,是我为了方便而开发的。最重要的是 DLL,而不是加载器。有关更多详细信息,请参见“用法 2”。

下载工具