
إثبات مفهوم لاستغلال الثغرة CVE-2024-2432 الذي يوضح تصعيد الصلاحيات المحلية على ويندوز عبر حذف ملف تعسفي من خلال هجوم الرابط الرمزي في عميل Palo Alto GlobalProtect VPN.
على نظام ويندوز، تم اكتشاف أن GlobalProtect (إصدار التطبيق 6.1.1-5 و6.2.0-89) كان عرضة لحذف الملفات التعسفي بامتيازات مرتفعة عن طريق هجوم الرابط الرمزي مما يؤدي إلى رفع الامتيازات المحلية على الجهاز المحلي.
تم ملاحظة أنه عندما يحاول مستخدم غير مميز على ويندوز الاتصال بشبكة VPN باستخدام GlobalProtect، فإن العملية "PanGpHip.exe" ستقوم بما يلي بامتيازات النظام (SYSTEM):
الاستعلام عن الدليل "C:\Users\<user>\AppData\Local\Temp\waapi-*"
إذا تم اكتشاف أي دليل، فسوف يستعلم بشكل أعمق عن الدليل "C:\Users\<user>\AppData\Local\Temp\waapi-<random>\*"
إذا تم اكتشاف أي ملفات أو دلائل في "C:\Users\<user>\AppData\Local\Temp\waapi-<random>*"، فسيقوم بإزالتها
أخيرًا، إزالة الدليل "C:\Users\<user>\AppData\Local\Temp\waapi-<random>"
ملاحظة جانبية: يمكن للبرنامج الاستعلام عن الأدلة المتداخلة لكنه فشل في فتح مقبض لها. لذا يمكننا تجاهل هذه الحالة

نظرًا لأن الدليل "C:\Users\<user>\AppData\Local\Temp\waapi-<random>" يمكن إنشاؤه من قبل المستخدم الحالي ويمنح صلاحية "تعديل" للمستخدم الحالي، يمكن للمستخدم الحالي تعديل الدليل بأكمله. مع هذا الإعداد، يمكن لمستخدم غير مميز تحقيق حذف ملفات تعسفي عن طريق إنشاء رابط رمزي إلى موقع مميز (مثل C:\Windows\System32). علاوة على ذلك، يمكن للمستخدم الخبيث تحقيق رفع الامتيازات المحلية من حذف الملف التعسفي.
لتنفيذ حذف ملفات تعسفي من مستخدم غير مميز، يمكن للمستخدم تنفيذ الخطوات التالية:
الطريقة الأولى
المستخدم ينشئ مجلد "C:\Users\<user>\AppData\Local\Temp\waapi-1234567"
المستخدم ينشئ ملف "C:\Users\<user>\AppData\Local\Temp\waapi-1234567\12345.txt"
المستخدم يضبط OpLock على الملف "C:\Users\<user>\AppData\Local\Temp\waapi-1234567\12345.txt"
المستخدم يتصل بشبكة VPN. العملية "PanGpHip.exe" ستحاول إزالة الملف "C:\Users\<user>\AppData\Local\Temp\waapi-1234567\12345.txt" بامتيازات النظام (SYSTEM).
العملية "PanGpHip.exe" ستتوقف مؤقتًا بسبب OpLock
عند تفعيل OpLock، يقوم المستخدم بنقل الملف "C:\Users\<user>\AppData\Local\Temp\waapi-1234567\12345.txt" إلى مكان آخر لتفريغ المجلد
المستخدم ينشئ junction "C:\Users\<user>\AppData\Local\Temp\waapi-1234567" إلى "\RPC Control"
المستخدم ينشئ رابطًا رمزيًا "GLOBAL\GLOBALROOT\RPC Control\12345.txt" إلى الملف الهدف (مثل C:\Windows\System32\secrets.txt)
المستخدم يحرر OpLock
المستخدم يحذف الرابط الرمزي
الملف الهدف (مثل C:\Windows\System32\secrets.txt) سيتم حذفه
.\PoC.exe del C:\windows\System32\secrets.txt 1
الطريقة الثانية
.\PoC.exe del C:\windows\System32\secrets.txt 2
لتنفيذ رفع الامتيازات المحلية من حذف الملف التعسفي، يمكننا الاستفادة من مثبت ويندوز (Windows Installer) كما هو موضح في هذه المقالة https://www.zerodayinitiative.com/blog/2022/3/16/abusing-arbitrary-file-deletes-to-escalate-privilege-and-other-great-tricks.
الطريقة الأولى
.\PoC.exe pe RollbackScript.rbs 1
الطريقة الثانية
.\PoC.exe pe RollbackScript.rbs 2
cmd.rbs سيطلق موجه الأوامر
public_run_bat.rbs سينفذ C:\Users\Public\run.bat