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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/jprx/cve-2022-29968
تحليل الثغرات الأمنيةالاستغلالالأوراق والأبحاثالتعلم والتعليماستغلال الملفات الثنائية
GitHubjprx/cve-2022-29968

CVE-2022-29968

إثبات المفهوم لاستغلال CVE-2022-29968 من قبل Joseph Ravichandran و Michael Wang

عرض المستودع
194منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2022-29968

إثبات المفهوم لـ CVE-2022-29968 (ذاكرة غير مهيأة) في نواة لينكس، وتحديداً نظام io_uring.

تم العثور على الانهيار باستخدام Syzkaller. تم تحليل الانهيار بواسطة Joseph Ravichandran و Michael Wang. تم كتابة الإكسبلويت بواسطة Joseph Ravichandran.

وجدنا هذا الخطأ وأبلغناه كجزء من المشروع النهائي لـ 6.858 في MIT، ربيع 2022.

أي نواة بعد 3e08773c3841 ("block: switch polling to be bio based") وقبل 32452a3eb8b6 ("io_uring: fix uninitialized field in rw io_kiocb") يجب أن تكون عرضة لهذا.

تصحيح التزام

التزام التصحيح الخاص بنا

وثيقة

الوثيقة التي قدمناها للمشروع النهائي 6.858

الإكسبلويت

المتطلبات

  • نظراً لأننا بحاجة إلى رش المؤشرات إلى بنية bio وهمية، يجب أن تكون SMAP / SMEP معطلة (أو، إذا كان لديك تسرب kASLR، يمكنك استخدامه هنا)
  • يجب أن يكون /dev/sr0 قابلاً للقراءة بواسطة مستخدم غير مميز

تم الاختبار في تثبيت Busybox (بدون KVM) بذاكرة 128M:

$QEMU -m 128M -kernel $KERNEL -initrd $INITRD -nographic -append "console=ttyS0 nokaslr no_hash_pointers ftrace_dump_on_oops"

initramfs init:

root@kitploit:~
#!/bin/sh
/bin/busybox --install -s

# تركيب أنظمة الملفات المطلوبة (مفيد جداً إذا كنت تستخدم ميزات ftrace / التصحيح)
mount -t proc none /proc
mount -t sysfs sysfs /sys
mount -t tracefs nodev /sys/kernel/tracing
mount -t debugfs none /sys/kernel/debug
mkdir -p /tmp  && mount -t tmpfs tmpfs /tmp
mount -t devtmpfs none /dev

# إعداد الصلاحيات لـ sr0
chmod -R 0777 /dev/sr0

# إنشاء ملف مؤقت (مستخدم في نهج userfaultfd القديم)
# غير مطلوب للإكسبلويت العام
touch /tmp/test

# التبديل إلى مستخدم غير جذر
su attacker

# تشغيل الشل
exec sh

# تشغيل الشل (باستثناء أن ^C يعمل الآن)
#exec setsid sh -c 'exec sh </dev/ttyS0 >/dev/ttyS0 2>&1'

ملف etc/passwd الخاص بنا يحتوي على مستخدم غير جذر (attacker) ومستخدم جذر (root):

root@kitploit:~
attacker:x:1000:1000:Linux User,,,:/home/attacker:/bin/sh
root:x:0:0:root:/tmp:/bin/sh

تم تجميع النواة باستخدام make defconfig لـ x86_64 مع بعض ميزات التتبع / التصحيح الإضافية المفعلة.

تشغيله

  1. ترجمة باستخدام make
  2. ./spray
  3. ./exploit
تنزيل الأداة