Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

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

BrokenPipe

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

저장소 보기
1593461일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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

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

PoC 영상: 여기
John Hammond의 짧고 좋은 영상 여기

영감을 준 @MSNIGHTMARE2000 에게 감사를 - 그에게 일자리를 주고 이메일을 보내주세요!
최고의 친구인 Tookie, Hazetick, belogen, bet3rd 에게 감사를.
그리고 넌 아직 나에게 Overwatch나 Starlight Princess 게임 세션을 빚졌어 lusilly, 냐옹 :3

BrokenPipe란 무엇인가?

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

위 스크린샷이 증명하는 것

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

기술 요약

항상 SYSTEM으로 실행되는 Steam 클라이언트 서비스(steamservice.exe)는 정품 Valve 서명 설치 스크립트 VDF의 서명 범위에 포함되지 않는 호출자 제어 설치 루트를 허용합니다. BrokenPipe는 이 서명 범위 격차를 이용하여 권한 있는 서비스가 포함된 런처를 재배치된 경로에서 SYSTEM으로 실행하도록 만듭니다. 이는 VDF 서명을 위조, 수정 또는 우회하지 않습니다.

파이프라인:

root@kitploit:~
Establish IPC connection to Steam Client Service (No Admin Needed)
                         |
                         v
IClientInstallUtils::AddInstallScriptToWhiteList
                         |
                         |  Genuine Valve-signed VDF
                         |  Caller-controlled installation root             <------ flaw exists 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
                         |
                         |  BrokenPipe receives an interactive
                         |  NT AUTHORITY\SYSTEM command prompt
                         v
IClientInstallUtils::GetInstallScriptExitCode
                         |
                         |  Optional polling or result collection
                         v
Cleanup and receipt generation

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

빌드

요구 사항:

  • Visual Studio 2022
  • Desktop development with 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를 선택한 다음 Build > Rebuild Solution을 선택할 수도 있습니다.

사용법

  1. 표준 Windows 사용자로 로그인합니다.
  2. Steam을 시작하고 유휴 상태로 둡니다. Steam 계정 로그인은 필요하지 않습니다.
  3. 게임을 열지 마세요.
  4. 권한 상승 없이 BrokenPipe.exe를 정상적으로 실행합니다.
  5. whoami 또는 whoami /user 또는 실행하고 싶은 다른 명령으로 새 SYSTEM 프롬프트를 확인합니다.
  6. 완료되면 exit를 입력하거나 SYSTEM 프롬프트를 닫습니다.

명령줄 인수나 외부 런타임 파일은 필요하지 않습니다. 페이로드 ZIP은 실행 파일에 컴파일되어 있습니다. 이 증명은 지속성을 생성하지 않고, 정식 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

내장된 페이로드는 BrokenPipe.rc에서 리소스 경로도 함께 업데이트하지 않는 한 payload\BrokenPipePayload.zip에 있어야 합니다.

FAQ

Q: 이게 뭐죠
A: 표준 사용자 -> SYSTEM 로컬 권한 상승입니다

Q: 어떻게 작동하나요? A: Payload\BrokenPipePayload.zip을 살펴보고, 압축을 풀고 코드를 읽어보세요.

Q: 쓸모없지 않나요? A: 당신에게는 아마도, 다른 사람들에게는 아마 아닐 겁니다.

Q: 뭐가 그렇게 나쁜가요 A: SYSTEM 권한을 얻는 것입니다. 이는 Administrator(마우스 오른쪽 클릭으로 선택하는 것)보다 한 단계 높고, 실제로 관리자인 적이 없음에도 TRUSTEDINSTALLER보다 한 단계 낮습니다. 이걸 이해하지 못한다면, 구글링하세요 (또는 Grok, ChatGPT, Siri 같은 친근한 동네 LLM에게 물어보세요 ㅋㅋ)

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

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

면책 조항

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

도구 다운로드