Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-49144 — إثبات المفهوم CVE-2025-49144 | Kitploit
أدوات/GitHubGitHub/vr00mm/cve-2025-49144
تصعيد الامتيازاتآليات الاستمراريةالاستغلالالقيادة والسيطرةالهندسة الاجتماعيةالتعلم والتعليمالفريق الأحمرتطوير الحمولاتاستغلال الملفات الثنائية
GitHubvr00mm/cve-2025-49144

CVE-2025-49144

إثبات المفهوم CVE-2025-49144

62منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع

Notepad++ Binary Planting PoC (CVE-2025-49144)

⚠️ للأغراض التعليمية فقط
هذا الكود مصمم للأغراض التعليمية والبحثية لفهم ثغرات زرع الملفات الثنائية. استخدمه فقط في بيئات خاضعة للتحكم وبعد الحصول على التصريح المناسب.

📋 نظرة عامة

يُظهر هذا المفهوم الإثباتي (Proof of Concept) ثغرة زرع الملفات الثنائية في مثبّت Notepad++ (CVE-2025-49144) المُشار إليها في GHSA-9vx8-v79m-6m24. تسمح الثغرة للمهاجم بالحصول على صلاحيات مستوى SYSTEM عن طريق وضع ملف تنفيذي ضار باسم regsvr32.exe في نفس المجلد الذي يحتوي على مثبّت Notepad++.

🎯 تفاصيل الثغرة

  • الهدف: مثبّت Notepad++ (جميع الإصدارات قبل v8.8.2)
  • الطريقة: زرع ملف ثنائي عبر regsvr32.exe ضار
  • السبب الجذري: مثبّتات Notepad++ تستدعي برامج النظام مثل regsvr32 دون تحديد المسارات المطلقة
  • التأثير: عند تشغيل المستخدم للمثبّت، يقوم النظام تلقائياً بتحميل الملف الضار بصلاحيات SYSTEM، مما يمنح المهاجم سيطرة كاملة على الجهاز المستهدف
  • ناقل الهجوم: الهندسة الاجتماعية أو clickjacking لخداع المستخدمين لتحميل كل من المثبّت الشرعي والملف التنفيذي الضار في نفس المجلد (عادةً مجلد التنزيلات)

🏗️ البنية

يتكون المفهوم الإثباتي من مكونات متعددة تعمل معاً:

root@kitploit:~
┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│ مثبّت Notepad++  │    │ regsvr32.exe     │    │  شل عكسي        │
│ (يبحث عن         │───▶│ (الملف الضار)    │───▶│   (PowerShell)  │
│  regsvr32.exe)  │    │ (كود CGO ثنائي)  │    │  بصلاحيات       │
└─────────────────┘    └──────────────────┘    │  SYSTEM         │
                                               └─────────────────┘

المكونات الأساسية

🔧 الميزات التقنية

🛡️ تقنيات التهرب

  • إخفاء السلاسل النصية: مسار PowerShell مشفر باستخدام XOR لتجنب الكشف الثابت
  • العمليات المنفصلة: إنشاء عمليات مستقلة تبقى على قيد الحياة حتى بعد إنهاء العملية الأم
  • انتحال الرمز المميز: رفع الصلاحيات عن طريق سرقة رموز SYSTEM
  • Process Hollowing: حقن الكود في عمليات Windows الشرعية

🌐 قدرات الشبكة

  • TCP Keep-Alive: الحفاظ على الاتصالات المستمرة عبر جدران الحماية
  • إعادة الاتصال: إعادة الاتصال التلقائي مع تأخيرات قابلة للتكوين
  • معالجة المهلة: عمليات مقبس غير محظورة مع مهلات مناسبة
  • تحديد المعدل: منع إرسال الكثير من الاتصالات والكشف

💻 التكامل مع النظام

  • تكامل CGO: توافق سلس بين Go وC لاستدعاءات النظام
  • التنكر كملف تنفيذي: يحاكي سلوك regsvr32.exe الشرعي
  • تعدد الخيوط: خيوط منفصلة لمعالجة stdin/stdout/stderr
  • استعادة الأخطاء: معالجة أنيقة لفشل الاتصالات وخروج العمليات
  • إدارة الموارد: تنظيف مناسب للمقابض والمقابس والذاكرة

🚀 تعليمات البناء

المتطلبات الأساسية

root@kitploit:~
# تثبيت Go (1.24+)
# تثبيت MinGW-w64 لتجميع CGO
# تثبيت Git للتحكم في الإصدارات

التجميع

root@kitploit:~
# استنساخ المستودع
git clone https://github.com/Vr00mm/CVE-2025-49144
cd CVE-2025-49144

# البناء كملف تنفيذي (يتنكر باسم regsvr32.exe)

# لأقصى قدر من التخفي (إزالة معلومات التصحيح)
go build -ldflags="-s -w" -o regsvr32.exe

# للتطوير (مع رموز التصحيح)
go build -o regsvr32_debug.exe

📖 الاستخدام

زرع الملف الثنائي (ناقل الهجوم الأساسي)

root@kitploit:~
# 1. ضع الملف التنفيذي الضار regsvr32.exe في نفس مجلد مثبّت Notepad++
# عادةً مجلد التنزيلات حيث يقوم المستخدمون بتحميل المثبّت
copy regsvr32.exe "C:\Users\%USERNAME%\Downloads\"

# 2. يقوم المستخدم بتحميل المثبّت الرسمي لـ Notepad++ إلى مجلد التنزيلات
# 3. عند تشغيل المستخدم للمثبّت، فإنه يبحث عن regsvr32.exe في المجلد الحالي أولاً
# 4. يجد المثبّت وينفذ ملفنا الضار regsvr32.exe بصلاحيات SYSTEM

# 5. استمع لاتصال الشل العكسي الوارد
ncat -tlnp 4445

🔍 تدفق الهجوم

root@kitploit:~
sequenceDiagram
    participant المستخدم
    participant المهاجم
    participant التنزيلات
    participant مثبّت Notepad++
    participant regsvr32 الضار
    participant عملية SYSTEM

    المستخدم->>التنزيلات: تحميل مثبّت Notepad++
    المهاجم->>التنزيلات: وضع regsvr32.exe الضار (هندسة اجتماعية)
    المستخدم->>مثبّت Notepad++: تشغيل المثبّت من مجلد التنزيلات
    مثبّت Notepad++->>التنزيلات: البحث عن regsvr32.exe في المجلد الحالي
    التنزيلات->>regsvr32 الضار: العثور على regsvr32.exe الضار أولاً
    مثبّت Notepad++->>regsvr32 الضار: التنفيذ بصلاحيات SYSTEM
    regsvr32 الضار->>regsvr32 الضار: إنشاء عملية منفصلة
    regsvr32 الضار->>عملية SYSTEM: تعداد عمليات SYSTEM
    عملية SYSTEM->>regsvr32 الضار: سرقة الرمز المميز من winlogon/الخدمات
    regsvr32 الضار->>regsvr32 الضار: إنشاء PowerShell برمز SYSTEM
    regsvr32 الضار->>المهاجم: إنشاء اتصال عكسي
    regsvr32 الضار->>مثبّت Notepad++: الاستمرار بوظيفة regsvr32 الشرعية
    المهاجم->>عملية SYSTEM: تنفيذ الأوامر كـ SYSTEM

🎓 الجوانب التعليمية

مفاهيم الأمان المُوضحة

  1. زرع الملفات الثنائية

    • سلوك البحث غير الآمن عن المسار التنفيذي
    • رفع الصلاحيات من خلال ثغرات المثبّتات
    • ناقلات الهجوم بالهندسة الاجتماعية
  2. رفع الصلاحيات

    • طرق انتحال الرمز المميز
    • سرقة رمز العملية
    • الحصول على وصول على مستوى SYSTEM
  3. آليات الثبات

    • إنشاء عمليات منفصلة
    • محاكاة عمليات الخدمات
    • منطق إعادة الاتصال
  4. برمجة الشبكات

    • تنفيذ الشل العكسي
    • برمجة المقابس في C
    • شبكات عبر المنصات
  5. برمجة CGO

    • التوافق بين Go وC
    • البرمجة على مستوى النظام في Go
    • التكامل عبر اللغات

أهداف التعلم

  • فهم كيفية عمل ثغرات زرع الملفات الثنائية
  • التعرف على مسارات البحث غير الآمنة عن الملفات التنفيذية في المثبّتات
  • استكشاف رفع صلاحيات Windows من خلال عيوب المثبّتات
  • دراسة ناقلات الهجوم بالهندسة الاجتماعية
  • ممارسة برمجة CGO والتكامل عبر اللغات
  • ممارسة البرمجة الآمنة وتحليل الثغرات

🛡️ الكشف والتخفيف

طرق الكشف

root@kitploit:~
# مراقبة استخدام regsvr32 المشبوه
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-PowerShell/Operational'; ID=4104}

# التحقق من اتصالات الشبكة غير المعتادة
netstat -ano | findstr ":4445"

# مراقبة إنشاء العمليات
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4688}

استراتيجيات التخفيف

  • إجراء فوري: الترقية إلى Notepad++ v8.8.2 أو أحدث الذي يحدد المسارات المطلقة صراحةً عند استدعاء الملفات التنفيذية مثل regsvr32
  • القائمة البيضاء للتطبيقات: استخدام أدوات مثل AppLocker أو Windows Defender Application Control
  • التحقق من الملفات التنفيذية: تنفيذ التحقق من التوقيع الرقمي لجميع الملفات التنفيذية
  • التحقق من المسار: التأكد من أن التطبيقات تستخدم مسارات كاملة لأدوات النظام
  • الحد الأدنى من الصلاحيات: تشغيل التطبيقات بأقل صلاحيات مطلوبة
  • مراقبة الشبكة: مراقبة الاتصالات الصادرة غير المعتادة
  • كشف نقطة النهاية: نشر حلول EDR للكشف عن Process Hollowing
  • فحص التكوين: تجنب تنفيذ المثبّتات من مواقع قابلة للكتابة بواسطة المستخدم مثل مجلد التنزيلات

⚖️ الاعتبارات القانونية والأخلاقية

⚠️ إخلاء مسؤولية مهم

  • التصريح مطلوب: استخدم فقط في البيئات التي تملكها أو لديك إذن صريح لاختبارها
  • الغرض التعليمي: هذا الكود مصمم للتعلم والبحث الأمني
  • لا نية خبيثة: ليس مخصصاً للوصول غير المصرح به أو الأنشطة غير القانونية
  • الإفصاح المسؤول: أبلغ عن أي ثغرات تجدها من خلال القنوات المناسبة

المبادئ التوجيهية الأخلاقية

  1. الاستخدام المسؤول: استخدم فقط لاختبار الأمان المشروع والتعليم
  2. لا وصول غير مصرح به: لا تنشره أبداً ضد أنظمة دون إذن
  3. الإسناد المناسب: انسب الفضل للباحثين الأصليين ومكتشفي الثغرات
  4. مشاركة المعرفة: شارك النتائج بمسؤولية مع مجتمع الأمن

🔧 استكشاف الأخطاء وإصلاحها

المشكلات الشائعة

فشل الاتصال

root@kitploit:~
# التحقق من توفر المنفذ
netstat -ano | findstr ":4445"

# التحقق من إعدادات جدار الحماية
netsh advfirewall firewall show rule name=all | findstr "4445"

أخطاء البناء

root@kitploit:~
# تأكد من تمكين CGO
set CGO_ENABLED=1

# التحقق من تثبيت MinGW
gcc --version

# التحقق من دعم Go لـ CGO
go env CGO_ENABLED

فشل الحصول على الرمز المميز

  • تأكد من تشغيل البرنامج بصلاحيات كافية
  • تحقق من توفر عمليات SYSTEM لسرقة الرمز
  • تحقق من توافق إصدار Windows
  • ملاحظة: تؤثر هذه الثغرة على جميع إصدارات Notepad++ قبل v8.8.2، لذا يجب أن يعمل المفهوم الإثباتي على نطاق واسع من التثبيتات

📚 المراجع

  • مستودع CVE-2025-49144
  • تنبيه أمان Notepad++ GHSA-9vx8-v79m-6m24
  • NVD CVE-2025-49144
  • MITRE ATT&CK T1574.007 - Path Interception by PATH Environment Variable
  • MITRE ATT&CK T1134 - Access Token Manipulation
  • وثائق Microsoft - Secure Binary Loading

📄 الرخصة

تم إصدار هذا المشروع بموجب رخصة MIT للأغراض التعليمية. راجع ملف LICENSE للحصول على التفاصيل.


تذكير: هذه الأداة مخصصة للأغراض التعليمية والاختبارات المصرح بها فقط. اتبع دائماً ممارسات الإفصاح المسؤول واحترم الحدود القانونية.

تنزيل الأداة
الملفالغرضعدد الأسطر
main.goنقطة الدخول، يعالج تنفيذ regsvr32~80
winbind.hملف الرأس الرئيسي مع تعريفات الدوال~45
main.cمشغل الشل العكسي الأساسي وإنشاء العمليات المنفصلة~75
shell.cمعالج الشل مع تنفيذ PowerShell مُعتم~120
process.cالحصول على الرمز المميز (token) وإنشاء عملية SYSTEM~195
socket.cاتصال الشبكة مع TCP Keep-Alive~85
threads.cخيوط الإدخال/الإخراج بين المقبس والأنابيب~60
utils.cالتحقق من الإدخال وتحديد المعدل~35
obfuscate.cتقنيات إخفاء مسار PowerShell~70