Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
BrokenPipe — Уязвимость локального повышения привилегий в Steam Client Service | Kitploit
Инструменты/GitHubGitHub/killaboi/brokenpipe
Повышение привилегийАнализ уязвимостейЭксплуатацияПост-эксплуатацияТестирование на ПроникновениеRed Teaming
GitHubkillaboi/brokenpipe

BrokenPipe

Уязвимость локального повышения привилегий в Steam Client Service

Репозиторий
23552911 месяц назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

BrokenPipe — уязвимость локального повышения привилегий в службе клиента Steam

Это версия с одним скриптом. Оригинальный скомпилированный PoC на C++ находится в ветке legacy. Спасибо John Hammond за предложение, подпишитесь на него!

BrokenPipe запускает командную строку NT AUTHORITY\SYSTEM

Видео PoC: YouTube
Разбор от John Hammond: YouTube


Привет @MSNIGHTMARE2000 за вдохновение — пожалуйста, дайте ему работу и напишите ему!
Респект Tookie, Hazetick, belogen и bet3rd за то, что они лучшие бро.
Я всё ещё жду нашу игровую сессию lusilly •`_´•

Что такое BrokenPipe?

BrokenPipe демонстрирует локальное повышение привилегий со стандартной учётной записи Windows до NT AUTHORITY\SYSTEM через службу клиента Steam. Доказательство запускает командную строку SYSTEM без запроса учётных данных администратора и без отображения запроса UAC.

Что доказывает скриншот выше

  • BrokenPipe был запущен стандартным пользователем Windows.
  • Steam был открыт на экране входа без аутентификации.
  • Полученная командная строка работала как NT AUTHORITY\SYSTEM.
  • whoami /user вернул SID локальной системы, S-1-5-18.
  • Ни одна игра не была запущена.

Техническое резюме

Служба клиента Steam (steamservice.exe), которая всегда работает как SYSTEM, принимает контролируемый вызывающей стороной корневой каталог установки, не покрываемый подписью подлинного install-script VDF, подписанного Valve. BrokenPipe использует этот пробел в покрытии подписью, чтобы заставить привилегированную службу выполнить включённый лаунчер из перемещённого пути как SYSTEM. Он не подделывает, не изменяет и не обходит подпись VDF.

Конвейер:

Establish IPC connection to Steam Client Service   (no admin needed)
                         |
                         v
IClientInstallUtils::AddInstallScriptToWhiteList
                         |
                         |  genuine Valve-signed VDF
                         |  caller-controlled installation root       <-- flaw is here
                         |  relocated launcher becomes whitelisted
                         v
IClientInstallUtils::RunInstallScript
                         |
                         |  service processes the run VDF
                         |  whitelisted launcher is selected
                         v
Steam Client Service launches the executable as SYSTEM
                         |
                         v
the relocated launcher.exe now runs as NT AUTHORITY\SYSTEM

Доказательство было проверено на текущей версии Steam 10.96.30.42 на последних версиях Windows 10 и Windows 11 x64.

Требования

  • Windows 10 или Windows 11 x64
  • Установленный Steam с запущенной службой Steam Client Service
  • Windows PowerShell 5.1 (поставляется вместе с Windows)

Этап сборки не требуется. BrokenPipe — это единый самодостаточный скрипт PowerShell. Подлинный VDF, подписанный Valve, встроен в виде base64, а IPC-клиент Steam Client Service реализован как встроенный тип C#, поэтому нет внешних бинарных файлов, которые нужно компилировать или поставлять.

Использование

  1. Войдите в систему как стандартный пользователь Windows.
  2. Запустите Steam и оставьте его в режиме ожидания. Вход в учётную запись Steam не требуется.
  3. Не открывайте игру.
  4. Из каталога проекта запустите скрипт без повышения прав:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\BrokenPipe-PowerShell.ps1

По умолчанию скрипт копирует C:\Windows\System32\cmd.exe и заставляет Steam Client Service запустить его от имени SYSTEM. То, что перемещённый launcher.exe вообще запускается как NT AUTHORITY\SYSTEM, и есть доказательство (подтвердите это в Task Manager или Process Explorer). Если Steam ещё не запущен, скрипт сначала запускает его скрытно.

Укажите собственный payload с помощью параметров:

.\BrokenPipe-PowerShell.ps1 -PayloadPath "C:\path\to\payload.exe" -PayloadArguments "your args"

Структура исходного кода

BrokenPipe\
  assets\
    brokenpipe-system-shell.png
  BrokenPipe-PowerShell.ps1
  LICENSE
  README.md

Всё находится в BrokenPipe-PowerShell.ps1: он устанавливает IPC через разделяемую память с клиентской службой Steam, вносит в белый список встроенный VDF, подписанный Valve, относительно контролируемого вызывающей стороной корневого каталога установки, а затем запускает перемещённый лаунчер от имени SYSTEM.

FAQ

Что это?
Повышение привилегий с обычного пользователя до SYSTEM (Standard User -> SYSTEM Local Privilege Escalation).

Как это работает?
Всё в BrokenPipe-PowerShell.ps1, один файл, читайте сверху вниз.

Разве это бесполезно?
Для вас, возможно, для других — вероятно, нет.

Что в этом такого плохого?
Вы получаете привилегии SYSTEM — это уровень выше Administrator (того, что вы выбираете правой кнопкой мыши) и на уровень ниже TRUSTEDINSTALLER, при этом изначально не являясь администратором. Если вы этого не понимаете, погуглите (или спросите вашу дружелюбную LLM вроде Grok, ChatGPT или Siri, лол).

Почему?
Потому что VALVE знает об этом с марта, они это не исправили, и просто потому, что мне плевать на Steam и любые игры VALVE, особенно когда CS2 кишит читерами и эксплойтерами. Им следует это исправить и разобраться с тем отчётом пятимесячной давности.

Какой-то глупый вопрос про установку от администратора или что-то в этом роде, от которого у меня слегка погибли клетки мозга...
Даже вашему антивирусу нужны права администратора при установке, установка Steam, конечно, требует прав администратора при первой установке. После этого он просто запускает службу от имени SYSTEM даже для обычного пользователя. Не спрашивайте меня, спросите VALVE.

Legacy

Исходный релиз представлял собой скомпилированный лаунчер на C++ (BrokenPipe.exe), который распаковывал встроенную интерактивную лабораторию, включая брокер, обеспечивавший полностью интерактивную консоль SYSTEM. Эта версия живёт в ветке legacy. Эта ветка — та же уязвимость, сжатая в один скрипт PowerShell без этапа сборки и без встроенных бинарников.

Отказ от ответственности

Этот проект предоставляется для авторизованных исследований в области безопасности и защитной проверки. Тестируйте только на системах, которыми вы владеете или на оценку которых у вас есть явное разрешение.

Скачать инструмент