Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PlEXcalaison — إثبات مفهوم لتصعيد الصلاحيات المحلية لخادم وسائط Plex - CVE-2021-42835 | Kitploit
أدوات/GitHubGitHub/netanelc305/plexcalaison
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاختبار الاختراقاستغلال الملفات الثنائية
GitHubnetanelc305/plexcalaison

PlEXcalaison

إثبات مفهوم لتصعيد الصلاحيات المحلية لخادم وسائط Plex - CVE-2021-42835

عرض المستودع
6منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

تصعيد الامتيازات المحلية - PlEXcalasion - CVE-2021-42835

خادم Plex Media لنظام Windows قبل الإصدار 1.25.0.5282، معرض لثغرة وقت الفحص وقت الاستخدام (TOCTOU) التي تتيح للمستخدمين ذوي الامتيازات المنخفضة الحصول على امتيازات SYSTEM.

تم اكتشافها بواسطة

تومر بيلد، نتانيل كوهين، وأمير شين، باحثون أمنيون من BugSec.

التفاصيل

يستخدم Plex لنظام Windows الخدمة PlexUpdateService.exe لتثبيت التحديثات الجديدة. تعمل الخدمة في سياق SYSTEM. عند تثبيت تحديث، تتحقق الخدمة أولاً من سلامة الملف والتوقيع الرقمي، وعند نجاح الفحوصات فقط يتم تثبيت التحديث.

في هذه العملية، بعد التحقق من السلامة والتوقيع، كان هناك خلل تصميمي في معالجة ملف التحديث بشكل غير صحيح. تم إغلاق الملف ثم إعادة فتحه لاحقاً للتثبيت.

يسمح هذا العيب للمهاجم باستبدال ملف التحديث بملف ضار بمجرد انتهاء الخدمة من التحقق من السلامة والتوقيع، مما يؤدي إلى تنفيذ كود في سياق SYSTEM.

يستخدم هذا الإثبات المفاهيمي (POC) أدوات طورها جيمس فورشو مع تعديلات طفيفة. يمكن العثور على الأصل هنا - https://github.com/googleprojectzero/symboliclink-testing-tools

لتحقيق ما سبق استخدمنا مجلد Junction يشير أولاً إلى مجلد يحتوي على ملف تحديث صالح ثم يتم التبديل إلى مجلد يحتوي على الملف الضار.

وجدنا أن ترتيب الوصول إلى الملفات كان كالتالي:

  1. قراءة ملف التحديث للتحقق من توقيعه الرقمي
  2. إغلاق ملف التحديث.
  3. قراءة CACERT.pem
  4. التحقق من التوقيع.
  5. قراءة ملف التحديث مرة أخرى
  6. تنفيذ التثبيت

أنشأنا نقطة تحميل (mount point) على مجلد junction للإشارة إلى مجلد يحتوي على ملف التحديث الصالح. قمنا بتعيين opLock على cacert.pem مع دالة استدعاء، وبمجرد الوصول إليه نقوم بتغيير نقطة التحميل إلى المجلد الضار.

بالإضافة إلى ذلك، قمنا بإنشاء عميل RPC يقوم بتشغيل التحديث.

الاستخدام

  1. استنساخ المستودع وفتح PlEXcalasion.sln في Visual Studio.
  2. حذف الملف "Delete me.txt" الموجود في TOCTOU\junction - إنه مجرد عنصر نائب لـ git ليشمل المجلد، يجب أن يكون هذا المجلد فارغاً!
  3. تعديل المسارات:

في PlexClient/PlexClient.cpp استبدل ROOTDIR بمسارك.

root@kitploit:~
const wchar_t* pszString = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\junction\\plex.exe"; // المسار إلى ملف التحديث.

في PlEXcalaison/BaitAndSwitch/BaitAndSwitch.cpp استبدل ROOTDIR بمسارك.

root@kitploit:~
static LPCWSTR junction = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\junction";  // المسار إلى مجلد junction، تأكد من أنه فارغ!
static LPCWSTR target1 = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\valid"; // المسار إلى المجلد الذي يحتوي على ملف التحديث الصالح.
static LPCWSTR target2 = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\malicious"; // المسار إلى المجلد الذي يحتوي على الملف الضار - يجب أن يكون بنفس اسم ملف التحديث.
static LPCWSTR cacert = L"C:\\Program Files (x86)\\Plex\\Plex Media Server\\Resources\\cacert.pem"; // المسار إلى cacert.pem - يمكن العثور عليه في دليل Plex.
  1. بناء الحل (Build the solution).
  2. تأكد من إنشاء PlexClient.exe ووجوده في مجلد Rleases.
  3. ضع الملف القابل للتنفيذ الذي ترغب في تنفيذه كمسؤول (SYSTEM) في المجلد الضار وأعد تسميته إلى plex.exe (في الإثبات المفاهيمي استخدمت cmd.exe)
  4. قم بتشغيل BiteAndSwitch.exe

المنشورات

https://ir-on.io/2021/12/02/local-privilege-plexcalation/

https://forums.plex.tv/t/security-regarding-cve-2021-42835/761510

تنزيل الأداة