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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Copyfail-sh — تنفيذ بلغة Bash لأداة copyfail (CVE-2026-31431) | Kitploit
أدوات/GitHubGitHub/nonameuserosint-hue/copyfail-sh
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالشيل كوداختبار الاختراقالفريق الأحمراستغلال الملفات الثنائية
GitHubnonameuserosint-hue/copyfail-sh

Copyfail-sh

تنفيذ بلغة Bash لأداة copyfail (CVE-2026-31431)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

copyfail-sh

لا سباق. لا إزاحات. لا ملف ثنائي مُجهّز تثق به بشكل أعمى.

تنفيذ بلغة bash لثغرة CVE-2026-31431 (Copy Fail). يترجم السكربت أداة مساعدة صغيرة بلغة C بشكل مضمّن في وقت التشغيل. تتولى طبقة bash تحديد بنية المعالج وفك ضغط الحمولة واختيار الهدف؛ بينما تقوم طبقة C بالتفاعل الفعلي مع النواة (مقابس AF_ALG وsplice وsendmsg) التي لا يمكن لـ bash الوصول إليها وحدها.

انظر copy.fail للتحليل التقني الكامل.

كيف يعمل (باختصار)

الخلل موجود في algif_aead، واجهة مقابس AF_ALG من نوع AEAD في النواة. تحسين موضعي (in-place) من عام 2017 يتيح لصفحات page cache أن تصل إلى scatterlist الوجهة القابل للكتابة في عملية فك تشفير authencesn. أطعمها المدخلات الصحيحة عبر splice() وستحصل على كتابة حتمية بمقدار 4 بايتات في page cache لأي ملف قابل للقراءة، بما في ذلك ثنائيات setuid التي لا تملكها.

استبدل محتوى /usr/bin/su بالشيل كود بمقدار 4 بايتات في كل مرة، ثم شغّله لتحصل على شل بصلاحيات الجذر. لا نافذة سباق، لا رموز خاصة بالنواة، لا إعادة محاولات.

الاستخدام

root@kitploit:~
chmod +x copyfail.sh

# Check if the system is vulnerable before doing anything
./copyfail.sh -c

# Run the exploit (must be non-root)
./copyfail.sh

# Specify a different setuid target
./copyfail.sh -t /usr/bin/passwd

# List all setuid-root candidates on the system
./copyfail.sh -s

استعادة su بعد الحصول على شل

تستبدل الأداة محتوى page cache في الذاكرة فقط، والملف على القرص لا يُمسّ. تكفي إعادة التشغيل لاستعادة كل شيء. إذا أردت التنظيف فورًا:

root@kitploit:~
# Inside your root shell
/usr/bin/su --version   # still works from disk if page cache is evicted
# Or just reboot

إذا استخدمت -t مع هدف آخر غير su، فالأمر نفسه. التأثير على page cache فقط، والقرص نظيف.

المتطلبات

  • لينكس (النواة من 4.11 إلى 7.0، انظر أدناه)
  • gcc لترجمة الأداة المساعدة الداخلية بلغة C
  • python3 لفك ضغط حمولة الشيل كود (سطر واحد فقط، لا حاجة لأي حزم)
  • وحدات النواة: algif_aead وauthencesn وhmac وcbc

إذا لم تكن الخوارزمية متاحة:

root@kitploit:~
sudo modprobe algif_aead authencesn hmac cbc

تتضمن بعض التوزيعات ملف حظر في /etc/modprobe.d/ كحل مؤقت. احذفه إذا كان موجودًا:

root@kitploit:~
sudo rm /etc/modprobe.d/disable-algif{_,-}aead.conf 2>/dev/null

النوى المتأثرة

root@kitploit:~
floor:    torvalds/linux 72548b093ee3   August 2017, v4.14
                                        (AF_ALG iov_iter rework that introduced
                                         the file-page write primitive via splice
                                         into the AEAD scatterlist)

ceiling:  torvalds/linux a664bf3d603d   April 2026, mainline
                                        (reverts the 2017 in-place optimization;
                                         source and destination scatterlists are
                                         now separate, page-cache pages can no
                                         longer end up as writable crypto output)

بين هذين الالتزامين: كل توزيعة رئيسية لم تطبّق backport للإصلاح. تم تأكيد أن Ubuntu وRHEL وSUSE وAmazon Linux وDebian جميعها قابلة للثغرة وقت الإفصاح. بدأت إصلاحات backport من التوزيعات بالوصول حوالي 2026-04-29. للتحقق من نواة معينة، ابحث عن a664bf3d603d (أو backport الخاص بتوزيعتك) في سجل التغييرات.

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

البنيةالحالة
x86_64✓
aarch64✓
i386 / i686✓
armv7l✓

التخفيف

بشكل دائم: حدّث نواة نظامك.

حل مؤقت (يحظر مقبس AF_ALG؛ ولا يؤثر على IPsec/XFRM التي تستخدم واجهة kernel crypto API مباشرة):

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

الحاويات: أضف ملف تعريف seccomp يمنع إنشاء مقابس AF_ALG، واضبط allowPrivilegeEscalation: false في سياق أمان Pod. يؤدي هذا إلى تفعيل no_new_privs، الذي يمنع النواة من احترام بتات setuid عند execve().

مقارنة مع التنفيذات الأخرى

لن تفوز نسخة bash في عدد التبعيات، لكنها سكربت واحد يمكنك قراءته من أوله إلى آخره قبل تشغيله. تُنشأ الأداة المساعدة بلغة C وتُترجم في وقت التشغيل من heredoc، ولا توجد كتلة ثنائية منفصلة تحتاج تدقيقًا مستقلًا.

المراجع

  • copy.fail - الموقع الرسمي والشرح
  • مدونة Xint.io - غوص تقني معمّق
  • إصلاح النواة - a664bf3d603d
  • CVE-2026-31431 - NVD
  • إفصاح oss-security
  • badsectorlabs/copyfail-go - تنفيذ بلغة Go (تُؤخذ منه حمولات الشيل كود)
  • xeloxa/copyfail-exploit - تنفيذ بلغة Python

شكر وتقدير

  • Taeyang Lee & Theori / Xint Code - اكتشاف الثغرة وإثبات المفهوم الأصلي (PoC)

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

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

تنزيل الأداة
PythonGoBash
التبعياتpython3لا شيء (ثنائي ثابت)gcc + python3
ثنائي مُجهّز مسبقًالانعملا
ملف واحدنعملانعم
خطوة ترجمةلالانعم (داخلية، تلقائية)