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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/nonameuserosint-hue/dirtyfrag-go
تصعيد الامتيازاتالاستغلالاستغلال الملفات الثنائية
GitHubnonameuserosint-hue/dirtyfrag-go

DirtyFrag-go

تنفيذ بلغة Go لثغرة dirtyfrag (CVE-2026-43284 / CVE-2026-43500)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

dirtyfrag-go

خطأان. شيل واحد. لا كتابة على القرص.

نسخة Go من dirtyfrag (CVE-2026-43284 / CVE-2026-43500).

كيف يعمل (الخلاصة)

فئة الخطأ تكمن في نظام XFRM الفرعي في نواة لينكس. عندما يتم تمرير صفحة ملف عبر splice() إلى أنبوب (pipe) ثم إلى مقبس مشفّر بـ ESP، تقوم النواة بفك تشفير حمولة ESP في مكانها - مباشرةً إلى صفحة ذاكرة التخزين المؤقت للصفحات (page cache) الخاصة بالملف المصدر. الملف للقراءة فقط. أما ذاكرة التخزين المؤقت للصفحات فلا.

يربط dirtyfrag بين خطأين مستقلين يستغلان هذه الأولية:

CVE-2026-43284 - مسار ESP/XFRM

يُثبّت 48 SA في وضع النقل عبر NETLINK_XFRM. كل SA يُرمّز 4 بايتات من حمولة الشيلكود في حقل seq_hi لحالة إعادة التشغيل ESN الخاصة به. سلسلة vmsplice + splice تُطلق فك تشفير ESP في المكان لكل SA، فتُكتب تلك البايتات الأربعة إلى إدخال صفحة /usr/bin/su في ذاكرة التخزين المؤقت. 48 إطلاقًا، 192 بايتًا مكتوبًا، دون حالة سباق.

CVE-2026-43500 - مسار RxRPC/rxkad

يكسر 3 مفاتيح جلسة PCBC(fcrypt) دون اتصال تُنتج تسلسلات البايت المطلوبة عند فك تشفيرها. يُطلق مشغّل مقبس AF_RXRPC لكل مفتاح لتعديل الإدخال الجذري في /etc/passwd إلى root::0:0 (nullok). بعدها يقبل su - كلمة مرور فارغة.

كلا المسارين يعملان ضمن مساحة أسماء للمستخدم والشبكة (CLONE_NEWUSER | CLONE_NEWNET) لتجنب الحاجة إلى CAP_NET_ADMIN على المضيف.

الاستخدام

root@kitploit:~
go build -o dirtyfrag-go .
./dirtyfrag-go

# Force a specific path
./dirtyfrag-go --force-esp
./dirtyfrag-go --force-rxrpc

# Verbose output
./dirtyfrag-go -v

يحاول الثنائي مسار ESP أولاً. إذا لم يتم تعديل /usr/bin/su بعد ذلك، يتراجع إلى مسار RxRPC (حتى 3 محاولات). عند النجاح، يفتح شيل جذر عبر PTY جديدة.

التنظيف

يلمس الاستغلال ذاكرة التخزين المؤقت للصفحات فقط. الملفات الثنائية على القرص و/etc/passwd لا تُمس. تستعيد إعادة التشغيل كل شيء. لإخلاء الذاكرة فورًا دون إعادة تشغيل:

root@kitploit:~
echo 1 | tee /proc/sys/vm/drop_caches

المتطلبات

  • لينكس - نواة غير مُصحّحة (انظر أدناه)
  • لا أدوات خارجية ولا حمولات مبنية مسبقًا - Go خالص، ثنائي ثابت واحد
  • وحدات النواة: esp4, esp6 (مسار ESP) و/أو rxrpc (مسار RxRPC)

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

جميع النوى قبل التصحيحات:

  • CVE-2026-43284: https://lists.openwall.net/netdev/2026/05/06/112
  • CVE-2026-43500: https://lists.openwall.net/netdev/2026/05/06/114

التخفيف

root@kitploit:~
rmmod esp4 esp6 rxrpc
printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' \
  > /etc/modprobe.d/dirtyfrag.conf

مقارنةً بالأصل

بيئة تشغيل Go متعددة الخيوط منذ البداية، لذا فإن unshare(CLONE_NEWUSER) غير مسموح. تعيد نسخة Go تنفيذ نفسها كعملية فرعية مع ضبط SysProcAttr.Cloneflags، والذي يستدعي clone() قبل تهيئة بيئة تشغيل Go.

المراجع

  • V4bel/dirtyfrag - إثبات المفهوم الأصلي بلغة C
  • CVE-2026-43284 - NVD
  • CVE-2026-43500 - NVD

الاعتمادات

  • V4bel - اكتشاف الثغرة وإثبات المفهوم الأصلي
تنزيل الأداة
C (الأصل)Go
التبعيات الخارجيةلا شيءلا شيء
ملف واحدلالا
ثنائي ثابتنعمنعم
مسار RxRPCنعمنعم
مسار ESPنعمنعم
عزل مساحات الأسماءunshare()إعادة تنفيذ مع Cloneflags