Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
BrokenPipe — Steam 客户端服务本地权限提升漏洞 | Kitploit
工具/GitHubGitHub/killaboi/brokenpipe
权限提升漏洞分析漏洞利用后渗透利用渗透测试红队
GitHubkillaboi/brokenpipe

BrokenPipe

Steam 客户端服务本地权限提升漏洞

查看仓库
1593461天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

BrokenPipe - Steam 客户端服务本地提权漏洞

BrokenPipe 启动交互式 NT AUTHORITY SYSTEM 命令提示符

PoC 视频:点击这里
John Hammond 制作的精彩小视频 点击这里

感谢 @MSNIGHTMARE2000 的灵感 - 请给他一份工作并给他发邮件!
向 Tookie、Hazetick、belogen 和 bet3rd 致敬,你们是最棒的兄弟。
你还欠我一场 Overwatch 或 Starlight Princess 的游戏局 lusilly,喵 :3

什么是 BrokenPipe?

BrokenPipe 演示了通过 Steam 客户端服务从标准 Windows 账户本地提权至 NT AUTHORITY\SYSTEM。该 PoC 在未请求管理员凭据或显示 UAC 提示的情况下启动一个交互式 SYSTEM 命令提示符。

上方截图证明了什么

  • BrokenPipe 由标准 Windows 用户启动。
  • Steam 处于未认证的登录界面。
  • 生成的命令提示符以 NT AUTHORITY\SYSTEM 身份运行。
  • whoami /user 返回了 Local System SID,S-1-5-18。
  • 未启动任何游戏。

技术摘要

Steam 客户端服务(steamservice.exe)始终以 SYSTEM 身份运行,它接受调用者控制的安装根目录,而该目录并不在 正版 Valve 签名的安装脚本 VDF 的签名覆盖范围内。BrokenPipe 利用这一签名覆盖缺口, 使特权服务从重定位路径以 SYSTEM 身份执行包含的启动器。它 并未伪造、修改或绕过 VDF 签名。

流程:

root@kitploit:~
与 Steam 客户端服务建立 IPC 连接(无需管理员权限)
                         |
                         v
IClientInstallUtils::AddInstallScriptToWhiteList
                         |
                         |  正版 Valve 签名的 VDF
                         |  调用者控制的安装根目录             <------ 缺陷存在于此。
                         |  重定位的启动器被加入白名单          <---------ˡ
                         v
IClientInstallUtils::RunInstallScript
                         |
                         |  服务处理运行 VDF
                         |  白名单中的启动器被选中
                         v
Steam 客户端服务以 SYSTEM 身份启动可执行文件
                         |
                         |  BrokenPipe 收到一个交互式
                         |  NT AUTHORITY\SYSTEM 命令提示符
                         v
IClientInstallUtils::GetInstallScriptExitCode
                         |
                         |  可选的轮询或结果收集
                         v
清理并生成回执

该 PoC 已在最新版本的 Windows 10 和 Windows 11 x64 上针对当前版本的 Steam 10.96.30.42 进行了验证。

构建

要求:

  • Visual Studio 2022
  • 使用 C++ 的桌面开发工作负载
  • MSVC v143
  • Windows 10 或 Windows 11 SDK

在项目目录中打开 PowerShell 并运行:

root@kitploit:~
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\build.ps1

生成的可执行文件输出至:

root@kitploit:~
x64\Release\BrokenPipe.exe

构建脚本会查找 MSBuild、验证嵌入载荷的哈希、重新构建 x64 Release 配置,并打印最终可执行文件路径和 SHA-256。

你也可以在 Visual Studio 中打开 BrokenPipe.sln,选择 Release | x64,然后选择 生成 > 重新生成解决方案。

使用方法

  1. 以标准 Windows 用户身份登录。
  2. 启动 Steam 并保持空闲。无需 Steam 账户登录。
  3. 不要打开游戏。
  4. 正常运行 BrokenPipe.exe,无需提权。
  5. 使用 whoami 或 whoami /user 或你想运行的任何其他命令验证新的 SYSTEM 提示符。
  6. 完成后输入 exit 或关闭 SYSTEM 提示符。

无需命令行参数或外部运行时文件。载荷 ZIP 已编译进 可执行文件中。该 PoC 不创建持久化,仅启动规范的 C:\Windows\System32\cmd.exe,并将提权进程树放入一个关闭即终止的 Windows 作业中。 JSON 回执写入 C:\Users\Public\BrokenPipe。

如果你想调整所使用的载荷,它位于 payloads 文件夹中,名称为 BrokenPipePayload.zip

源码布局

root@kitploit:~
BrokenPipe\
  assets\
    brokenpipe-system-shell.png
  payload\
    BrokenPipePayload.zip
  BrokenPipe-Bootstrap.ps1
  BrokenPipe.cpp
  BrokenPipe.rc
  BrokenPipe.sln
  BrokenPipe.vcxproj
  build.ps1
  resource.h
  README.md

嵌入的载荷必须保持在 payload\BrokenPipePayload.zip,除非其资源路径也在 BrokenPipe.rc 中更新。

常见问题

Q: 这是什么
A: 一个标准用户 -> SYSTEM 的本地提权

Q: 它是如何工作的? A: 查看 Payload\BrokenPipePayload.zip,解压并阅读代码。

Q: 它是不是没用? A: 对你来说,也许吧,对其他人来说,可能不是。

Q: 它有什么危害 A: 你获得了 SYSTEM 权限,它比 Administrator(你右键选择的那一个)高一级,比 TRUSTEDINSTALLER 低一级,而你实际上从一开始就不是管理员。如果你不理解这一点,去 Google 一下(或者问问你友好的邻居 LLM,比如 Grok、ChatGPT 或 Siri,哈哈)

Q: 为什么? A: 因为 VALVE 从三月份就已经知道这件事了,他们没有修复,仅仅是因为我不在乎 Steam 或任何 VALVE 游戏,尤其是当 CS2 充斥着作弊者和利用者时。他们应该修复它并查看那份 5 个月前的报告。

Q: 某个愚蠢的标准管理员安装问题或某人提出的让我脑细胞略微死亡的什么问题…… A: 即使你的杀毒软件在安装时也需要管理员权限,首次安装 Steam 当然也需要管理员权限。之后它就以 SYSTEM 身份运行服务,即使对标准用户也是如此。别问我,问 VALVE 去。

免责声明

本项目仅供授权的安全研究和防御性验证使用。请仅在你拥有或获得明确评估许可的 系统上进行测试。

下载工具