Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
BrokenPipe — ثغرة تصعيد الامتيازات المحلية في خدمة عميل Steam | Kitploit
أدوات/GitHubGitHub/killaboi/brokenpipe
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالما بعد الاستغلالاختبار الاختراقالفريق الأحمر
GitHubkillaboi/brokenpipe

BrokenPipe

ثغرة تصعيد الامتيازات المحلية في خدمة عميل Steam

عرض المستودع
2355291منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

BrokenPipe - ثغرة رفع الصلاحيات المحلية (LPE) في خدمة عميل Steam

هذه هي النسخة ذات السكربت الواحد. نموذج إثبات المفهوم (PoC) الأصلي المكتوب بلغة C++ موجود على الفرع القديم (legacy). شكرًا لـ John Hammond على الاقتراح، اشتركوا في قناته!

BrokenPipe يطلق موجه أوامر NT AUTHORITY\SYSTEM

فيديو إثبات المفهوم: 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 الخاص بـ Local System، وهو S-1-5-18.
  • لم يتم إطلاق أي لعبة.

الملخص التقني

تقبل خدمة عميل Steam (steamservice.exe)، التي تعمل دائمًا بصلاحيات SYSTEM، جذر تثبيت يتحكم فيه المستدعي وغير مشمول بتوقيع ملف 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 قيد التشغيل بالفعل، يبدأه السكربت بصمت أولًا.

وجّهه إلى الحمولة الخاصة بك باستخدام المعاملات:

.\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 Client Service، ويضيف ملف VDF المضمّن الموقّع من Valve إلى القائمة البيضاء مقابل جذر تثبيت يتحكم به المستدعي، ثم يشغّل المشغّل المنقول بصلاحيات SYSTEM.

الأسئلة الشائعة

ما هذا؟
تصعيد صلاحيات محلي من مستخدم عادي (Standard User) إلى SYSTEM.

كيف يعمل؟
كل شيء في BrokenPipe-PowerShell.ps1، ملف واحد، اقرأه من أوله إلى آخره.

أليس هذا عديم الفائدة؟
بالنسبة لك، ربما، وبالنسبة لآخرين، على الأرجح لا.

ما مدى خطورة ذلك؟
أنت تحصل على صلاحيات SYSTEM، وهي مستوى أعلى من Administrator (الذي تنقر عليه بزر الفأرة الأيمن وتختاره) ومستوى أدنى من TRUSTEDINSTALLER دون أن تكون مسؤولاً (admin) في المقام الأول. إذا لم تفهم هذا، فابحث عنه في Google (أو اسأل نموذجاً لغوياً ودوداً من حيّك مثل Grok أو ChatGPT أو Siri هههه).

لماذا؟
لأن VALVE تعلم به منذ مارس، ولم يصلحوه، وذلك ببساطة لأنني لا أهتم بـ Steam أو أي من ألعاب VALVE، خصوصاً عندما تكون CS2 مليئة بالغشاشين والمستغلّين. عليهم إصلاحه والتحقيق في ذلك التقرير الذي مضى عليه 5 أشهر.

سؤال غبي حول التثبيت كمسؤول (Standard Admin Install) أو ما شابه طرحه أحدهم وأدى إلى خسارة طفيفة في خلايا دماغي...
حتى برنامج مكافحة الفيروسات لديك يحتاج إلى صلاحيات مسؤول عند تثبيته، وتثبيت Steam بالطبع يتطلب صلاحيات مسؤول في التثبيت الأول. بعد ذلك يشغّل الخدمة بصلاحيات SYSTEM حتى بالنسبة لمستخدم عادي. لا تسألني، اسأل VALVE.

الإصدار القديم (Legacy)

كان الإصدار الأصلي مشغّلاً مكتوباً بلغة C++ ومُجمّعاً (BrokenPipe.exe) يفكّ حزمة مختبر تفاعلي مضمّن، بما في ذلك وسيط (broker) كان يدير وحدة تحكم SYSTEM تفاعلية بالكامل. ذلك الإصدار موجود في فرع legacy. هذا الفرع هو الثغرة نفسها مقطّرةً إلى سكربت PowerShell واحد دون خطوة بناء ودون ملفات ثنائية مضمّنة.

إخلاء المسؤولية

يُقدَّم هذا المشروع لأغراض البحث الأمني المصرّح به والتحقق الدفاعي. اختبره فقط على أنظمة تملكها أو لديك إذن صريح بتقييمها.

تنزيل الأداة