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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-5178 — استغلال لـ CVE-2023-5178 | Kitploit
أدوات/GitHubGitHub/rockrid3r/cve-2023-5178
تصعيد الامتيازاتتحليل الذاكرة الجنائيتحليل الثغرات الأمنيةالاستغلالالتعلم والتعليماستغلال الملفات الثنائية
GitHubrockrid3r/cve-2023-5178

CVE-2023-5178

استغلال لـ CVE-2023-5178

عرض المستودع
75منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2023-5178

أداة استغلال CVE-2023-5178: ثغرة NVMe-oF-TCP، وهذه الثغرة عبارة عن خطأ منطقي في مشغّل NVMe-oF-TCP أثناء معالجة طلب Initialize Connection Request التالف. يؤدي ذلك إلى double-free ناتج عن حالة سباق في kmalloc-96، والذي يمكن استغلاله للحصول على LPE (انظر العرض التوضيحي أدناه).

تستهدف أداة الاستغلال نظام Ubuntu 23.10 مع نواة 6.5.0-9-generic (أحدث إصدار نواة متأثر).

  • يمكن بسهولة نقلها (backport) إلى نواة v6 الأقدم عن طريق تغيير رموز النواة وضبط سلسلة ropchain.
  • يتطلب نقلها إلى إصدار النواة v5 بعض التعديلات الطفيفة التي سأناقشها في الشرح. الاستغلال في نواة v5 أسهل (سأناقشه في الشرح) وأكثر موثوقية.

تم اكتشاف الثغرة بواسطة Alon Zahavi. وقد نشر وصفًا جيدًا للثغرة في هذا مقال openwall.

العرض التوضيحي

شاهد الفيديو هنا. صورة العرض التوضيحي 1 صورة العرض التوضيحي 2

المتطلبات

  • يجب أن تكون وحدات nvmet و nvmet-tcp محمّلة في النواة.
  • تأكد من امتلاكك libfuse3-dev (إنه مثبّت افتراضيًا على Ubuntu، لكن على أي حال). إذا لم يكن لديك، فالفكرة الأفضل هي تنزيل وتجميع الإصدار من github. لقد استخدمت 3.14.0، لكنه سيعمل مع الإصدارات الأخرى أيضًا.
  • حاليًا تعمل أداة الاستغلال فقط على الأجهزة ذات مركز معالجة واحد (CPU core). الأمر يتعلق فقط بطريقة عمل SLUB، لكن حالة السباق (race condition) تجعل الأمور معقدة بعض الشيء. على أي حال، سأصف في الشرح كيفية تحسينها للتعامل مع الأجهزة متعددة المعالجات (multi-CPU).

الإعداد

root@kitploit:~
git clone https://github.com/rockrid3r/CVE-2023-5178
cd CVE-2023-5178
make
./build/xpl # run the exploit
  • في حال لم يكن لديك libfuse3-dev، يجب عليك ربط مكتبة libfuse المترجمة يدويًا. انظر Makefile لمعرفة كيفية التجميع. استبدل -lfuse3 بـ -l:path-to-libfuse.so. لا تنسَ إضافة مسار الملفات الرأسية باستخدام -I /path/to/libfuse-headers/. شغّل أداة الاستغلال باستخدام:
root@kitploit:~
LD_PRELOAD_PATH=/path/to/libfuse.so ./build/exploit

إثبات المفهوم

لمن يريد اختبار ما إذا كانت الثغرة موجودة على أنظمتهم، يوجد ملف src/poc.c الذي يقوم ببساطة بتفعيل الثغرة. يفترض التكوين القياسي لعنوان IP/المنفذ الخاص بـ NVMe-oF-TCP على نظامك. يجب عليك تعديلها إذا كانت إعداداتك غير افتراضية:

root@kitploit:~
#define NVME_SERVER_IP      "0.0.0.0"   // ip of vulnerable host in LAN (localhost here).
#define NVME_SERVER_PORT    4420        // port on which NVMe-oF-TCP is set up on vulnerable host

قم بتجميعه وتشغيله باستخدام:

root@kitploit:~
make build/poc
./build/poc

يكفي أن تشغّله (ربما عدة مرات) ثم تنتظر قليلًا. إذا كانت الثغرة موجودة، فسيتعطل النظام.

الشرح

انظر الشرح الكامل هنا.

تنزيل الأداة