
أداة مسح لتحديد مشكلات تصعيد الامتيازات المحلية في مثبّتات MSI المعرضة للثغرات.
يمكن لهذا السكربت المكتوب بلغة Python والموجّه لأنظمة Linux تحليل ملفات تثبيت Microsoft Windows بامتداد *.msi وتحديد الثغرات المحتملة. تم تطويره بواسطة Michael Baer (@derbaer0) في مختبر الثغرات التابع لـ SEC Consult.
يُستخدم حاليًا بشكل أساسي لتصعيد الصلاحيات محليًا، وهو ما تم وصفه أيضًا في منشور مدونتنا: https://r.sec-consult.com/msi.
قامت Microsoft بتعيين CVE-2024-38014 ووفرت أيضًا تصحيحًا لهذه الثغرة في يوم تصحيحات سبتمبر 2024: https://msrc.microsoft.com/update-guide/en-US/advisory/CVE-2024-38014.
يمكن استخدام السكربت أيضًا للحصول على نظرة عامة على برنامج التثبيت وتحديد نقاط الضعف المحتملة.
ستحتاج إلى بعض حزم Python. sqlite3، termcolor، وربما المزيد. بخلاف ذلك، لا يلزم تثبيت أي شيء. فقط شغّل السكربت من المجلد الرئيسي.
ثبّت حزمة (apt) msitools. فهي تحتوي على msiinfo وmsiextract المطلوبين أيضًا.
sudo apt install msitools
يمكن العثور على ثنائي SetOpLock المفيد لاستغلال الثغرة هنا: https://github.com/googleprojectzero/symboliclink-testing-tools/tree/main/SetOpLock
python msiscan.py <Installer>./runall.sh <directory>الآن افحص النتيجة بحثًا عن الألوان غير المعتادة (الأحمر) للحصول على أرباح سريعة. نصيحة: إذا كان هناك شيء أحمر، أصلحه باستخدام ProcMon واتبع الأسلوب اليدوي.
ستظهر أخطاء. تجاهلها فقط. يحاول التحليل المتابعة حيثما أمكن.
إذا رأيت سطرًا أحمر في البداية Repairmode disabled ...، فلن تتمكن من تفعيل وظيفة الإصلاح.
الآن، إليك بعض التوضيحات لفهم المخرجات إذا أردت استثمار بعض الوقت في تحليل أعمق:

CreateObject ("WScript.Shell")).أعتقد أنه لا يزال هناك الكثير مما يمكن استخراجه من حزم برامج التثبيت. على سبيل المثال، قد تكشف أذونات المجلدات والخدمات التي يتم تثبيتها بسرعة عن نواقل إضافية لتصعيد الصلاحيات محليًا (LPE).