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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2022-46395-qemu — مختبر قائم على QEMU لإعادة إنتاج حالة السباق (race condition) CVE-2022-46395 في مشغل GPU Arm Mali r36p0. يتضمن PoC، ونصوص بناء، وتعبئة initramfs للبحث المحلي عن الثغرات واختبار الانحدار. | Kitploit
أدوات/GitHubGitHub/gao-zuin/cve-2022-46395-qemu
تحليل الثغرات الأمنيةالاستغلالالاختبار العشوائيالتعلم والتعليماستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHubgao-zuin/cve-2022-46395-qemu

cve-2022-46395-qemu

مختبر قائم على QEMU لإعادة إنتاج حالة السباق (race condition) CVE-2022-46395 في مشغل GPU Arm Mali r36p0. يتضمن PoC، ونصوص بناء، وتعبئة initramfs للبحث المحلي عن الثغرات واختبار الانحدار.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2022-46395 مختبر QEMU r36p0

يحتوي هذا المستودع على مختبر QEMU/no-Mali لإعادة إنتاج حالة التشغيل المحمولة لـ CVE-2022-46395 ضد سلسلة برنامج تشغيل Arm Mali r36p0.

المختبر مخصص للبحث المحلي عن الثغرات واختبار الانحدار. لا يحمل حمولة تصعيد الامتيازات الخاصة بـ Pixel من الاستغلال الأصلي. في وضع LAB_QEMU، يتوقف إثبات المفهوم بعد إظهار أنه تم الوصول إلى نافذة سباق الحدث الناعم/المخزن المؤقت للمستخدم.

تخطيط المستودع

  • poc/: إثبات المفهوم CVE-2022-46395 المُكيَّف لـ QEMU. تم استبدال استدعاءات تسجيل Android والخاصية، وتم تعطيل تصحيح نص kernel Pixel تحت LAB_QEMU.
  • src/google-gpu-raviole-android13/: وحدة مصدر GPU من Pixel Google من android.googlesource.com/kernel/google-modules/gpu، فرع android-gs-raviole-5.10-android13. يحدد الملف المضمن mali_kbase/Kbuild برنامج التشغيل كـ .
r36p0-01eac0
  • scripts/: أدوات مساعدة للبناء، وتعبئة initramfs، وتشغيل QEMU، وإعادة الإنتاج بخطوة واحدة.
  • docs/: ملاحظات التحليل المحلية وتقارير إعادة الإنتاج.
  • logs/: سجلات الأدلة المختارة من عمليات التشغيل المحلية الناجحة.
  • الملفات الثنائية المُنشأة، وأرشيفات initramfs، وملفات الكائنات، ومعظم سجلات وقت التشغيل يتم تجاهلها بواسطة Git. أعد بنائها محليًا باستخدام النصوص أدناه.

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

    تم استخدام النصوص على جهاز افتراضي Linux يعمل بـ:

    • bash, make, gcc, file, cpio, gzip, modinfo
    • busybox في /bin/busybox
    • qemu-system-x86_64
    • شجرة kernel Linux 5.10 x86_64 KASAN مُعدَّة يمكنها بناء وحدات خارجية

    بشكل افتراضي، تتوقع النصوص وجود شجرة kernel وصورة الإقلاع في:

    root@kitploit:~
    ../build/linux-5.10-kasan
    ../build/linux-5.10-kasan/arch/x86/boot/bzImage
    

    يمكنك تجاوز تلك المسارات باستخدام KDIR و KERNEL_IMAGE.

    إعادة الإنتاج

    استنسخ المستودع وأدخل إليه:

    root@kitploit:~
    git clone https://github.com/Gao-Zuin/cve-2022-46395-qemu.git
    cd cve-2022-46395-qemu
    

    شغّل تدفق البناء/التعبئة/الإقلاع الكامل:

    root@kitploit:~
    MAX_ATTEMPTS=2000 ./scripts/reproduce.sh
    

    إذا كان kernel KASAN الخاص بك ليس في الدليل الافتراضي المجاور ../build:

    root@kitploit:~
    KDIR=/path/to/linux-5.10-kasan \
    KERNEL_IMAGE=/path/to/linux-5.10-kasan/arch/x86/boot/bzImage \
    MAX_ATTEMPTS=2000 \
    ./scripts/reproduce.sh
    

    استخدمت الجولة المحلية الناجحة هذا التوقيت:

    root@kitploit:~
    MAX_ATTEMPTS=2000 UNMAP_OFFSET_NS=-800000 ./scripts/reproduce.sh
    

    لمزيد من تسجيل المحاولات المفصل:

    root@kitploit:~
    MAX_ATTEMPTS=2000 VERBOSE_ATTEMPTS=1 UNMAP_OFFSET_NS=-800000 \
      ./scripts/reproduce.sh
    

    الخطوات اليدوية

    النص ذو الخطوة الواحدة يعادل:

    root@kitploit:~
    ./scripts/build_r36p0_no_mali.sh
    ./scripts/build_poc.sh
    MAX_ATTEMPTS=2000 UNMAP_OFFSET_NS=-800000 ./scripts/package_initramfs.sh
    ./scripts/run_qemu.sh
    

    متغيرات البيئة المفيدة:

    • KDIR: شجرة بناء kernel المستخدمة لتجميع mali_kbase.ko
    • KERNEL_IMAGE: صورة bzImage الممررة إلى QEMU
    • QEMU_LOG: مسار سجل الإخراج
    • QEMU_MEM: حجم ذاكرة QEMU، الافتراضي 1536M
    • QEMU_SMP: عدد وحدات المعالجة المركزية QEMU، الافتراضي 3
    • MAX_ATTEMPTS: حد إعادة محاولة إثبات المفهوم، الافتراضي 2000
    • UNMAP_OFFSET_NS: إزاحة توقيت السباق، الافتراضي -800000
    • VERBOSE_ATTEMPTS=1: طباعة تفاصيل كل محاولة
    • KASAN_UAF_MODE=1: تحميل الوحدة مع خيار فحص UAF KASAN المستخدم بواسطة scripts/reproduce_kasan_uaf.sh

    الأدلة المتوقعة

    تطبع جولة ناجحة سطورًا مثل:

    root@kitploit:~
    mali mali.0: Kernel DDK version r36p0-01eac0
    r36p0-01eac0 (UK version 11.34)
    /dev/mali0
    finished reset: 703956220 fault: 682115150 68 err 0 read 3
    qemu lab mode: CVE-2022-46395 soft-event/user-buffer race reproduced
    qemu lab mode: reproduction completed after 17 attempts
    [init] PoC status: 0
    

    سجل الأدلة المرجعي هو:

    root@kitploit:~
    logs/qemu-cve-2022-46395-r36p0-unmap-minus800us.log
    

    شرط النجاح الرئيسي هو err=0 و read=3 و fault < reset. يشير ذلك إلى أنه تم الوصول إلى نافذة السباق ضد r36p0-01eac0 في no-Mali QEMU.

    ملاحظات

    • هذا مشغل مختبر QEMU، وليس سلسلة استغلال كاملة للجهاز.
    • تعتمد المرحلة النهائية الأصلية لـ Pixel على إزاحات نص kernel ARM64 المشفرة بشكل ثابت ولا تُستخدم هنا عمدًا.
    • إذا خرج QEMU دون إعادة إنتاج السباق، فأعد التشغيل مع MAX_ATTEMPTS أعلى أو اضبط UNMAP_OFFSET_NS.
    تنزيل الأداة