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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
copy-fail-CVE-2026-31431 — استغلال تصعيد الصلاحيات المحلية لثغرة CVE-2026-31431، وهي ثغرة في نواة لينكس تتعلق بـ AF_ALG + استبدال ذاكرة التخزين المؤقت للصفحات عبر splice. يتضمن إثبات المفهوم (PoC)، وسكربت كشف باستخدام BPFtrace، وبيئة اختبار QEMU لأغراض البحث الأمني المصرح به. | Kitploit
أدوات/GitHubGitHub/astounds/copy-fail-cve-2026-31431
تصعيد الامتيازاتأطر الاستغلالتحليل الثغرات الأمنيةالاستغلالالتعلم والتعليماستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHubastounds/copy-fail-cve-2026-31431

الأكثر شعبية

عرض الكل →

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

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

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

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

copy-fail-CVE-2026-31431

استغلال تصعيد الصلاحيات المحلية لثغرة CVE-2026-31431، وهي ثغرة في نواة لينكس تتعلق بـ AF_ALG + استبدال ذاكرة التخزين المؤقت للصفحات عبر splice. يتضمن إثبات المفهوم (PoC)، وسكربت كشف باستخدام BPFtrace، وبيئة اختبار QEMU لأغراض البحث الأمني المصرح به.

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

CVE-2026-31431 — Copy Fail

تصعيد صلاحيات محلي في نواة لينكس عبر AF_ALG + استبدال صفحة ذاكرة التخزين المؤقت

CVE CVSS License

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

التقرير الفني


جدول المحتويات

  • الوصف
  • تفاصيل الثغرة
  • هيكل المستودع
  • البدء السريع
  • الكشف
  • المتطلبات
  • التخفيف
  • بيئة الاختبار (اختياري)
  • المراجع
  • الترخيص

الوصف

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

يستغل الاستغلال ملف su الثنائي في ذاكرة التخزين المؤقت دون تعديل inode على القرص، متجاوزًا آليات التكامل التي تعتمد فقط على بيانات تعريف الملف أو المجاميع الاختبارية على مستوى الكتلة.


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

البيئات المتأثرة


هيكل المستودع

root@kitploit:~
.
├── exploit.py    # PoC — استبدال صفحة ذاكرة التخزين المؤقت وتصعيد الصلاحيات
├── detect.bt     # سكربت BPFtrace للكشف في الوقت الفعلي
├── run-vm.sh     # أتمتة بيئة اختبار QEMU (اختياري)
├── PAYLOAD.md    # تحليل ترميز الحمولة (hex → zlib → ELF → shellcode)
└── LICENSE

البدء السريع

شغّل exploit.py كمستخدم محلي غير مميز على أي نظام ضعيف — لا حاجة إلى sudo:

root@kitploit:~
python3 exploit.py

ينفذ السكربت الخطوات التالية:

  1. يتحقق من دعم النواة لـ AF_ALG (algif_aead) ويحدد موقع ملف su الثنائي.
  2. يختار ويفك ضغط الحمولة المناسبة للبنية.
  3. يفتح ملف su الثنائي كوصف ملف خام ويستبدل صفحات ذاكرة التخزين المؤقت الخاصة به عبر AF_ALG + sendfile.
  4. يختبر تصعيد الصلاحيات. إذا نجح، يفتح قشرة جذر.

البنى المدعومة:


الكشف

راقب محاولات الاستغلال في الوقت الفعلي باستخدام detect.bt. يتطلب صلاحيات الجذر:

root@kitploit:~
sudo bpftrace detect.bt
# أو
doas bpftrace detect.bt

يتتبع السكربت ثلاثة مؤشرات لكل PID باستخدام قناع بتات في @suspect[pid]:

يتم إطلاق تنبيه عندما تكون جميع البتات الثلاثة مضبوطة (@suspect[pid] == 0x7) على نفس PID.


المتطلبات

exploit.py

  • Python 3.6+
  • نواة لينكس مع تحميل وحدة AF_ALG/algif_aead
  • حساب مستخدم محلي غير مميز (الجذر غير مطلوب)

detect.bt

  • bpftrace ≥ 0.12
  • صلاحيات الجذر (مطلوبة لتتبع BPF)
root@kitploit:~
# Ubuntu/Debian
sudo apt install bpftrace

# RHEL/CentOS/Fedora
sudo dnf install bpftrace

# Amazon Linux
sudo yum install bpftrace

# SUSE
sudo zypper install bpftrace

# Alpine
sudo apk add bpftrace

التخفيف

1. التصحيح (المفضل)

قم بتحديث حزمة نواة توزيعتك إلى إصدار يتضمن الالتزام الرئيسي a664bf3d603d، الذي يعكس تحسين algif_aead الموضعي لعام 2017 بحيث لا يمكن لصفحات ذاكرة التخزين المؤقت أن تنتهي في قائمة scatterlist الوجهة القابلة للكتابة. معظم التوزيعات الرئيسية تقوم الآن بتوفير الإصلاح.

2. تعطيل algif_aead (أثناء انتظار التصحيح)

يمكن تجاوز blacklist باستخدام modprobe algif_aead صريح. توجيه install .../bin/false يتجاوز أمر التثبيت بالكامل، مما يجعل كل محاولة تحميل تفشل:

root@kitploit:~
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.conf
sudo rmmod algif_aead 2>/dev/null || true

ما الذي يكسر هذا — تقريبًا لا شيء

الأنظمة الفرعية في صف "لا" تستخدم واجهة برمجة التشفير داخل النواة مباشرة — لا تمر أبدًا عبر AF_ALG. يعود الأداء إلى مكتبات التشفير العادية في مساحة المستخدم، وهو ما تستخدمه تقريبًا كل الأشياء الأخرى بالفعل.

للتحقق مما إذا كان أي شيء على نظامك يستخدم AF_ALG بنشاط قبل تعطيله:

root@kitploit:~
lsof | grep AF_ALG
ss -xa | grep alg

3. الحظر عبر seccomp (الحاويات، بيئات العزل، CI)

امنع إنشاء socket(AF_ALG, ...) لأحمال العمل غير الموثوقة بغض النظر عن حالة التصحيح. أضف AF_ALG (العائلة 38) إلى قائمة الحظر seccomp الخاصة بك، أو استخدم سياسة AppArmor/SELinux تقيد استدعاءات socket للعمليات غير المميزة.

4. المراقبة باستخدام detect.bt

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


بيئة الاختبار (اختياري)

يقوم run-vm.sh بأتمتة إنشاء جهاز افتراضي Ubuntu 24.04 QEMU للاختبار في بيئة خاضعة للتحكم. يعمل exploit.py و detect.bt مباشرة على أي مضيف ضعيف — QEMU غير مطلوب.

متطلبات المضيف

التبعيةملاحظات
qemu-system-x86_64 + KVMراجع أوامر التثبيت أدناه
wget أو curlتنزيل صورة السحابة
cloud-image-utilsتوليد صورة البذور (يمكن لـ Docker أن يحل محلها على المضيفات غير Debian)

تثبيت QEMU

root@kitploit:~
# Ubuntu/Debian
sudo apt install qemu-system-x86 cloud-image-utils wget

# Fedora/RHEL
sudo dnf install qemu-system-x86 wget

# Arch
sudo pacman -Sy qemu

# Alpine
sudo apk add qemu-system-x86 qemu-ui-gtk wget

التشغيل

root@kitploit:~
sh run-vm.sh

القائمة التفاعلية

root@kitploit:~
1. بدء/إنشاء الجهاز الافتراضي
2. الاتصال عبر SSH
3. رفع الملفات إلى الجهاز الافتراضي  (exploit.py, detect.bt)
4. تشغيل الاستغلال داخل الجهاز الافتراضي
5. تشغيل detect.bt داخل الجهاز الافتراضي
6. التحقق من حالة الجهاز الافتراضي
7. إيقاف الجهاز الافتراضي
8. تنظيف ملفات الجهاز الافتراضي
0. خروج

بيانات اعتماد الجهاز الافتراضي

الحقلالقيمة
المستخدمubuntu
كلمة المرورcve123
منفذ SSH2222

المراجع

  • التقرير الفني — xint.io
  • تحليل ترميز الحمولة — تفصيل hex → zlib → ELF → shellcode
  • crypto/af_alg.c — مصدر النواة
  • mm/splice.c — مصدر النواة

الترخيص

هذا المشروع مرخص بموجب رخصة جنو العمومية العامة الإصدار 3.0 أو الأحدث. راجع LICENSE للنص الكامل.

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

تنزيل الأداة
الحقلالقيمة
معرّف CVECVE-2026-31431
النوعتصعيد صلاحيات محلي (LPE)
درجة CVSS v3.17.8 عالية — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (المصدر: kernel.org)
أنظمة النواة الفرعيةcrypto/af_alg.c, mm/splice.c
ناقل الهجوممحلي — يتطلب حساب مستخدم غير مميز
السبب الجذريalgif_aead يقبل sendfile() عبر مقبس AEAD دون فرض دلالات النسخ عند الكتابة على صفحة ذاكرة التخزين المؤقت المعينة قبل اكتمال نقل splice()
التوزيعةإصدار النواةالبنية
Ubuntu 24.04 LTS6.17.0-1007-awsx86_64
Amazon Linux 20236.18.8-9.213.amzn2023x86_64
RHEL 10.16.12.0-124.45.1.el10_1x86_64
SUSE 166.12.0-160000.9-defaultx86_64
Raspberry Pi OS (Pi 5)6.12.75+rpt-rpi-2712aarch64
البنيةالمتغيرات
x86_64—
aarch64—
riscv64—
ppc64le—
armarmv5l, armv6l, armv7l
x86 32-biti386, i486, i586, i686
MIPS 64-bitmips64, mips64el
LoongArchloong64, loongarch64
s390x—
البتاستدعاء النظامالمؤشر
0x1socket(AF_ALG, SOCK_SEQPACKET)تم إنشاء مقبس AF_ALG
0x2setsockopt(SOL_ALG, ...)تم تكوين عملية التشفير
0x4sendmsg(MSG_MORE) + splice()تمت محاولة استبدال صفحة ذاكرة التخزين المؤقت
متأثر؟النظام الفرعي/حالة الاستخدام
لاdm-crypt/LUKS, kTLS, IPsec/XFRM, TLS داخل النواة
لاOpenSSL, GnuTLS, NSS البنيات الافتراضية
لاSSH, تشفير keyring النواة
ربماOpenSSL مع تمكين محرك afalg صراحة
ربمامسارات تفريغ التشفير المدمجة أو التطبيقات التي تربط مقابس aead/skcipher/hash مباشرة