
استغلال إثبات المفهوم لثغرة تصعيد امتيازات محلية في برنامج تشغيل طابعة Datacard XPS عبر أذونات ملفات غير آمنة واختطاف DLL، مما يتيح تنفيذ كود على مستوى SYSTEM.
المنتج المُختبر: برنامج تشغيل طابعة البطاقات Datacard XPS Card Printer الإصدار: <= 8.4
الوصف: التطبيق عُرضة لثغرة تصعيد الامتيازات المحلية (Local Privilege Escalation) بسبب صلاحيات ملفات/مجلدات غير آمنة في تثبيته الافتراضي، حيث يمنح الجميع حقوق التحكم الكامل في المسار: C:\ProgramData\Datacard\XPS Card Printer\Service. يمكن للمستخدمين غير المميزين والعمليات الخبيثة و/أو المهاجمين تعديل الملفات والمجلدات الموجودة في المسار "C:\ProgramData\Datacard". عندما يقوم مسؤول بتثبيت XPS Card Printer، الذي يعمل بسياق SYSTEM، فإنه يستدعي DEVOBJ.dll أو CFGMGR32.dll في الدليل "C:\ProgramData\Datacard\XPS Card Printer\Service"، حيث يمكن لمستخدم منخفض الامتياز وضع ملف dll خبيث مسبقًا ولن يتم فحصه أو حذفه بواسطة التثبيت. ملفات dll هذه غير موجودة ولذلك سيعطي برنامج التثبيت رسالة "غير موجود" (NOT FOUND). إذا قام مستخدم خبيث بوضع ملف dll باسم DEVOBJ.dll أو CFGMGR32.dll داخل هذا الدليل، فسيقوم الإعداد عن غير قصد بتنفيذ ملف dll الخبيث عندما تحاول الخدمة الاتصال بطابعة البطاقات، وتشغيلها بصلاحيات SYSTEM.
إثبات الاستغلال (POC):
1- كمستخدم منخفض الامتياز، أنشئ الدليل "C:\ProgramData\Datacard\XPS Card Printer\Service" وضع ملف DLL المطلوب وأعد تسميته إلى DEVOBJ.dll أو CFGMGR32.dll
2- كمسؤول، تابع تثبيت برنامج التشغيل بشكل طبيعي.
3- سيتم تنفيذ حمولة DLL بصلاحيات SYSTEM.