
स्टीम क्लाइंट सर्विस लोकल प्रिविलेज एस्केलेशन वल्नरेबिलिटी

PoC वीडियो: यहाँ
John Hammond का छोटा सा अच्छा वीडियो यहाँ
प्रेरणा के लिए @MSNIGHTMARE2000 को ग्रीटिंग्स - कृपया उन्हें नौकरी दें और उन्हें ईमेल करें!
अल्टीमेट होमीज़ होने के लिए Tookie, Hazetick, belogen और bet3rd को शाउटआउट।
और तुम अभी भी मुझे एक Overwatch या Starlight Princess गेमिंग सेशन के लिए बकाया हो lusilly, म्याऊ :3
BrokenPipe Steam क्लाइंट सेवा के माध्यम से एक मानक Windows खाते से
NT AUTHORITY\SYSTEM तक स्थानीय विशेषाधिकार वृद्धि (local privilege escalation) प्रदर्शित करता है। यह प्रमाण प्रशासक क्रेडेंशियल्स का अनुरोध किए बिना या UAC प्रॉम्प्ट दिखाए बिना एक इंटरैक्टिव SYSTEM
कमांड प्रॉम्प्ट लॉन्च करता है।
NT AUTHORITY\SYSTEM के रूप में चला।whoami /user ने Local System SID, S-1-5-18 लौटाया।Steam क्लाइंट सेवा (steamservice.exe), जो हमेशा SYSTEM के रूप में चलती है, एक कॉलर-नियंत्रित इंस्टॉलेशन रूट स्वीकार करती है जो एक वास्तविक 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 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 के वर्तमान संस्करण के विरुद्ध मान्य किया गया था।
आवश्यकताएँ:
प्रोजेक्ट निर्देशिका में PowerShell खोलें और चलाएँ:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\build.ps1
तैयार निष्पादन योग्य फ़ाइल यहाँ लिखी जाती है:
x64\Release\BrokenPipe.exe
बिल्ड स्क्रिप्ट MSBuild ढूँढती है, एम्बेडेड पेलोड हैश सत्यापित करती है, x64 Release कॉन्फ़िगरेशन को पुनः बिल्ड करती है, और अंतिम निष्पादन योग्य पथ और SHA-256 प्रिंट करती है।
आप Visual Studio में BrokenPipe.sln भी खोल सकते हैं, Release | x64 चुन सकते हैं, और
Build > Rebuild Solution चुन सकते हैं।
BrokenPipe.exe को सामान्य रूप से, बिना एलिवेशन के चलाएँ।whoami या whoami /user या जो भी अन्य कमांड आप चलाना चाहते हैं, के साथ नए SYSTEM प्रॉम्प्ट को सत्यापित करें।exit टाइप करें या SYSTEM प्रॉम्प्ट बंद करें।किसी कमांड-लाइन तर्क या बाहरी रनटाइम फ़ाइलों की आवश्यकता नहीं है। पेलोड ZIP को
निष्पादन योग्य फ़ाइल में संकलित किया गया है। यह प्रमाण कोई स्थायित्व (persistence) नहीं बनाता, केवल विहित
C:\Windows\System32\cmd.exe लॉन्च करता है, और एलिवेटेड प्रोसेस ट्री को kill-on-close Windows जॉब में रखता है।
JSON रसीदें C:\Users\Public\BrokenPipe में लिखी जाती हैं।
यदि आप उपयोग किए गए पेलोड में समायोजन करना चाहते हैं, तो यह payloads फ़ोल्डर में BrokenPipePayload.zip नाम से स्थित है।
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 में अपडेट न किया जाए।
प्र: यह क्या है
उ: एक Standard User -> SYSTEM स्थानीय विशेषाधिकार वृद्धि
प्र: यह कैसे काम करता है?
उ: Payload\BrokenPipePayload.zip को देखें, इसे अनज़िप करें और कोड पढ़ें।
प्र: क्या यह बेकार नहीं है?
उ: आपके लिए, शायद, दूसरों के लिए, शायद नहीं।
प्र: इसमें इतना बुरा क्या है
उ: आप SYSTEM विशेषाधिकार प्राप्त कर रहे हैं, यह Administrator (जिसे आप राइट क्लिक करके चुनते हैं) से एक स्तर ऊँचा है और TRUSTEDINSTALLER से एक स्तर नीचे है, बिना वास्तव में पहले से एडमिन हुए। यदि आप इसे नहीं समझते हैं, तो इसे Google करें (या अपने मित्रवत पड़ोसी LLM जैसे Grok, ChatGPT या Siri से पूछें lmao)
प्र: क्यों?
उ: क्योंकि VALVE को मार्च से ही इसके बारे में पता है, उन्होंने इसे ठीक नहीं किया है और केवल इसलिए कि मुझे Steam या किसी भी VALVE गेम की परवाह नहीं है, खासकर जब CS2 चीटर्स और शोषकों से भरा हुआ है। उन्हें इसे ठीक करना चाहिए और उस 5 महीने पुरानी रिपोर्ट को देखना चाहिए।
प्र: कोई बेवकूफी भरा Standard Admin Install प्रश्न या जो भी किसी ने दिया जिससे मेरे दिमाग की कोशिकाओं का थोड़ा नुकसान हुआ...
उ: आपके एंटीवायरस को भी एडमिन अधिकार चाहिए जब आप इसे इंस्टॉल कर रहे हों, Steam को इंस्टॉल करने के लिए निश्चित रूप से पहली इंस्टॉल पर एडमिन अधिकार चाहिए। उसके बाद यह एक मानक उपयोगकर्ता के लिए भी सेवा को SYSTEM के रूप में चलाता है। मुझसे न पूछें, VALVE से पूछें।
यह प्रोजेक्ट अधिकृत सुरक्षा अनुसंधान और रक्षात्मक सत्यापन के लिए प्रदान किया गया है। केवल उन सिस्टमों पर परीक्षण करें जिनके आप मालिक हैं या जिनका मूल्यांकन करने के लिए आपके पास स्पष्ट अनुमति है।