Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
BrokenPipe — 스팀 클라이언트 서비스 로컬 권한 상승 취약점 | Kitploit
도구/GitHubGitHub/killaboi/brokenpipe
Privilege EscalationVulnerability AnalysisExploitationPost-ExploitationPenetration TestingRed Teaming
GitHubkillaboi/brokenpipe

BrokenPipe

스팀 클라이언트 서비스 로컬 권한 상승 취약점

저장소 보기
23552911개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

BrokenPipe - Steam 클라이언트 서비스 LPE 취약점

이것은 단일 스크립트 버전입니다. 원본 컴파일된 C++ PoC는 legacy 브랜치에 있습니다. 제안해 주신 John Hammond에게 감사드리며, 그의 채널을 구독하세요!

BrokenPipe가 NT AUTHORITY\SYSTEM 명령 프롬프트를 실행하는 모습

PoC 영상: YouTube
John Hammond의 분석: YouTube


영감을 준 @MSNIGHTMARE2000 에게 인사를 - 그에게 일자리를 주고 이메일을 보내주세요!
최고의 친구인 Tookie, Hazetick, belogen, bet3rd 에게 감사를 표합니다.
나는 아직도 우리의 게임 세션을 기다리고 있어 lusilly •`_´•

BrokenPipe란 무엇인가?

BrokenPipe는 Steam 클라이언트 서비스를 통해 표준 Windows 계정에서 NT AUTHORITY\SYSTEM으로의 로컬 권한 상승을 시연합니다. 이 증명은 관리자 자격 증명을 요청하거나 UAC 프롬프트를 표시하지 않고 SYSTEM 명령 프롬프트를 실행합니다.

위 스크린샷이 증명하는 것

  • BrokenPipe는 표준 Windows 사용자에 의해 실행되었습니다.
  • Steam은 인증되지 않은 로그인 화면에서 열려 있었습니다.
  • 결과 명령 프롬프트는 NT AUTHORITY\SYSTEM으로 실행되었습니다.
  • whoami /user는 로컬 시스템 SID인 S-1-5-18을 반환했습니다.
  • 어떤 게임도 실행되지 않았습니다.

기술 요약

항상 SYSTEM으로 실행되는 Steam 클라이언트 서비스(steamservice.exe)는 호출자가 제어하는 설치 루트를 허용하는데, 이는 정품 Valve 서명 설치 스크립트 VDF의 서명 범위에 포함되지 않습니다. 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

이 증명은 최신 버전의 Windows 10 및 Windows 11 x64에서 현재 버전의 Steam 10.96.30.42를 대상으로 검증되었습니다.

요구 사항

  • Windows 10 또는 Windows 11 x64
  • Steam이 설치되어 있고 Steam Client Service가 실행 중이어야 함
  • Windows PowerShell 5.1 (Windows에 기본 포함)

빌드 단계는 없습니다. BrokenPipe는 자체 포함된 단일 PowerShell 스크립트입니다. Valve가 서명한 정품 VDF가 base64로 임베드되어 있고, Steam Client Service IPC 클라이언트는 인라인 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으로 실행된다는 점이 바로 증거입니다(작업 관리자나 Process Explorer에서 확인하세요). Steam이 이미 실행 중이 아니라면, 스크립트가 먼저 조용히 Steam을 시작합니다.

매개변수를 사용하여 자신의 페이로드를 지정하세요:

.\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에 들어 있습니다. 이 스크립트는 Steam Client Service에 대한 공유 메모리 IPC를 설정하고, 호출자가 제어하는 설치 루트에 대해 내장된 Valve 서명 VDF를 화이트리스트에 등록한 다음, 재배치된 런처를 SYSTEM 권한으로 실행합니다.

FAQ

이게 뭔가요?
표준 사용자 -> SYSTEM 로컬 권한 상승입니다.

어떻게 작동하나요?
모두 BrokenPipe-PowerShell.ps1에 들어 있습니다. 파일 하나이니 처음부터 끝까지 읽어보세요.

쓸모없는 거 아닌가요?
당신에게는 그럴 수도 있겠지만, 다른 사람들에게는 아마 아닐 겁니다.

뭐가 그렇게 나쁜가요?
SYSTEM 권한을 얻게 되는데, 이는 Administrator(마우스 오른쪽 클릭 후 선택하는 것)보다 한 단계 높고 TRUSTEDINSTALLER보다 한 단계 낮은 등급이며, 실제로는 처음부터 관리자가 아니었던 상태에서 그렇게 되는 것입니다. 이해가 안 된다면 구글링하세요(또는 Grok, ChatGPT, Siri 같은 친근한 동네 LLM에게 물어보세요 ㅋㅋ).

왜인가요?
VALVE는 3월부터 이 문제를 이미 알고 있지만 고치지 않았고, 단지 제가 Steam이나 VALVE 게임에 관심이 없기 때문입니다. 특히 CS2가 치터와 익스플로이터로 가득한 상황에서는 더욱 그렇죠. 그들은 이 문제를 고치고 5개월 된 보고서를 조사해야 합니다.

누군가가 던진 약간의 뇌세포 손실을 초래한 어떤 멍청한 표준 관리자 설치 질문 같은 것...
당신의 안티바이러스조차 설치할 때 관리자 권한이 필요합니다. Steam 설치도 물론 첫 설치 시 관리자 권한이 필요합니다. 그 이후에는 표준 사용자에게도 서비스를 SYSTEM으로 실행할 뿐입니다. 저에게 묻지 말고 VALVE에게 물어보세요.

레거시

원래 릴리스는 컴파일된 C++ 런처(BrokenPipe.exe)로, 완전한 대화형 SYSTEM 콘솔을 마샬링하는 브로커를 포함한 내장 대화형 랩을 압축 해제했습니다. 그 버전은 legacy 브랜치에 있습니다. 이 브랜치는 동일한 취약점을 빌드 단계도 내장 바이너리도 없는 단일 PowerShell 스크립트로 정제한 것입니다.

면책 조항

이 프로젝트는 승인된 보안 연구 및 방어적 검증을 위해 제공됩니다. 소유한 시스템 또는 평가에 대한 명시적 허가를 받은 시스템에서만 테스트하세요.

도구 다운로드