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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-31431 — استغلال تصعيد الامتيازات في النواة لثغرة CVE-2026-31431، عبر إساءة استخدام واجهة AF_ALG لاستبدال /bin/su وتشغيل قشرة بصلاحيات الجذر. يتضمن تنفيذًا بلغة C ودليلًا لاستكشاف الأخطاء وإصلاحها. | Kitploit
أدوات/GitHubGitHub/0xshe/cve-2026-31431
تصعيد الامتيازاتأطر الاستغلالالاستغلالالتعلم والتعليماستغلال الملفات الثنائية
GitHub0xshe/cve-2026-31431

CVE-2026-31431

استغلال تصعيد الامتيازات في النواة لثغرة CVE-2026-31431، عبر إساءة استخدام واجهة AF_ALG لاستبدال /bin/su وتشغيل قشرة بصلاحيات الجذر. يتضمن تنفيذًا بلغة C ودليلًا لاستكشاف الأخطاء وإصلاحها.

عرض المستودع
4020منذ 3 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

المؤلف: 0xShe

اللغة / Language

  • English: https://github.com/0xShe/CVE-2026-31431/blob/main/README.md
  • 中文: https://github.com/0xShe/CVE-2026-31431/blob/main/README-CN.md 1

دليل أداة تصعيد الصلاحيات على مستوى النواة CVE-2026-31431

0x01 بدء سريع

بعض البيئات المستهدفة لا تحتوي على Python مثبتًا، لذلك تمت إعادة كتابة منطق تصعيد الصلاحيات هذا بلغة C.

  1. الترجمة (Compile)

قم بتشغيل الأمر التالي على جهاز Linux أو WSL (يُوصى باستخدام -static لتجنب مشاكل إصدارات GLIBC):

root@kitploit:~
gcc -static exploit.c -o exploit

2. النشر والتنفيذ

قم برفع الملف الثنائي المُنشأ إلى الجهاز المستهدف:

root@kitploit:~
chmod +x exploit
./exploit

إذا نجح الاستغلال، سيقوم البرنامج تلقائيًا بتنفيذ su وسيفتح جلسة root مباشرة دون الحاجة إلى كلمة مرور.


0x02 منطق تصعيد الصلاحيات: كيف يعمل؟

يستغل هذا الاستغلال ثغرة منطقية في واجهة AF_ALG الخاصة بنواة Linux (Kernel Crypto API).

  1. إنشاء مقبس تشفير (Crypto Socket) يقوم البرنامج بإنشاء مقبس AEAD (تشفير مصادق عليه مع بيانات مرتبطة) باستخدام socket(AF_ALG, ...).

  2. حقن الذاكرة (Splice) من خلال الاستفادة من استدعاء نظام splice في Linux، يمكن إعادة توجيه البيانات من واصف ملف (في هذه الحالة /bin/su) مباشرة إلى مخزن التشفير في النواة.

  3. استبدال الحمولة (Payload Overwrite) باستخدام إزاحات ذاكرة محددة، يستبدل الاستغلال جزءًا من منطق المصادقة في /bin/su بحمولة تصعيد صلاحيات (برنامج ELF صغير يقوم بتشغيل /bin/sh).

  4. تشغيل تصعيد الصلاحيات بعد أن تكمل النواة سلسلة عمليات التشفير، تكون عملية su في الذاكرة قد تم العبث بها بالفعل. عند تنفيذ system("su") في النهاية، يقوم النظام فعليًا بتشغيل حمولة جذر معدلة بدلاً من ذلك.


0x03 دليل استكشاف الأخطاء: لماذا لا يزال يطلب كلمة مرور؟

أثناء التصحيح، إذا قام البرنامج بطباعة Exploit finished ولكن تشغيل su لا يزال يتطلب كلمة مرور، فعادةً ما تكون المشكلة ناتجة عن أحد التفاصيل التالية.

  1. علامة MSG_MORE الحرجة

هذه هي نقطة الفشل الأكثر شيوعًا. يجب أن يتضمن استدعاء sendmsg علامة MSG_MORE.

  • السبب: تخبر هذه العلامة النواة بأن المزيد من البيانات قادمة وتمنع إنهاء مخزن التشفير في وقت مبكر جدًا.

  • النتيجة: بدون هذه العلامة، تقوم النواة بإغلاق سياق التشفير الحالي فورًا. ونتيجة لذلك، لا يمكن لحقن splice اللاحق الدخول إلى المخزن الصحيح في النواة، مما يجعل الاستبدال مستحيلًا.

  1. طول البيانات المرتبطة (Assoclen)

النواة صارمة للغاية بشأن محاذاة وفحوصات الطول للبيانات المرتبطة في AEAD.

  • المأزق: إذا تم تعيين ASSOCLEN في كود C إلى 4 بايت بينما تتوقع النواة 8 بايت (أو العكس)، فقد ترمي النواة خطأ وسيطة غير صالحة أو تتخطى منطق الحقن بالكامل بصمت.
  1. إعادة تعيين إزاحة الملف

أثناء الحلقة التي تعدّل /bin/su، يجب أن تبدأ كل عملية splice القراءة من الإزاحة 0.

  • المأزق: إذا لم يتم إعادة تعيين off_su صراحةً إلى 0، فإن splice يتصرف بشكل مشابه لـ read() ويستمر في تقديم مؤشر الملف. في التكرار الثاني، تصبح البيانات المحقونة غير متوازنة، مما قد يفسد su أو يكسر منطق الاستغلال.
  1. تصحيحات النواة

قد تكون بعض الأنظمة قد طبّقت بالفعل تصحيحات أمنية صامتة. تم تأكيد ذلك أثناء الاختبار على أجهزة متعددة — بعض الأهداف كانت قد تلقت بالفعل إصلاحات غير رسمية أو إصلاحات خلفية (backported).


0x04 ملاحظات

  • إصدار النواة: تؤثر هذه الثغرة بشكل أساسي على نواة Linux 5.x المبكرة (مثل الإصدار الأولي من Ubuntu 20.04). إذا كانت النواة قد تم تصحيحها بالفعل، فلن تعمل هذه الطريقة بعد الآن.

  • اختلافات المسار: قد تخزّن توزيعات Linux المختلفة su في مواقع مختلفة (/bin/su أو /usr/bin/su). يحاول الكود اكتشاف المسار الصحيح تلقائيًا، ولكن إذا لم يكن أي منهما موجودًا، فتحقق يدويًا باستخدام which su وعدّل الكود وفقًا لذلك.

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

تنزيل الأداة