
دعنا نختطف سلسلة الإقلاع الخاصة بنا - CVE-2021-30327
استغلال BootROM لأجهزة Qualcomm التي صدرت بين 2016 و 2019.
مع SoC MSM8998 (Nazgul)، تمت إضافة الأمر 0x13 (SAHARA_RESET_STATE_MACHINE_ID). يستدعي الأمر الدالة boot_sahara_entry، التي من المفترض أن تعيد تهيئة Sahara. الخلل هو أن كل استدعاء لها يقلل مؤشر المكدس بمقدار 0x60 ولا يوجد حماية للمكدس. مع عدد كافٍ من الاستدعاءات، نستنفد مساحة المكدس المتاحة (0x3000)، ونفسد الذاكرة خارج المكدس ونجعل مخازن المكدس تتداخل مع بعض جداول مؤشرات الدوال العامة. ستقرأ secboot_verify_cert_signature المقياس والتوقيع بتنسيق BIGINT في مخازن المكدس. نظرًا لأن crypto_ftbl->ModExp تم الكتابة فوقه بواسطة المخازن، فإن secmath_BIGINT_modexp سيقفز إلى شيلكودنا من المقياس.
يمكن العثور على المزيد في HEXACON2023 - حكايات أخطاء: الحياة والموت في الصحراء
[!CAUTION] حتى لو كان المعالج SoC ضعيفًا، فهذا لا يعني أنه يمكنك استغلاله! إذا كان معالجك مدرجًا هنا، فلا تخزن أي أسرار على جهاز به. تستطيع Cellebrite وMSAB وOxygen Forensics فك تشفير بيانات المستخدم على الأجهزة المزودة بمثل هذه المعالجات، بفضل هذا الثغرة CVE.

usage: katana.py [-h] -s SOC -e EXPLOIT [-f FIREHOSE]
A PoC for the CVE-2021-30327 vulnerability in Qualcomm Sahara
options:
-h, --help show this help message and exit
-s, --soc SOC SoC model
-e, --exploit EXPLOIT
Exploit PBL (CVE-2021-30327) with a payload
-f, --firehose FIREHOSE
DevPrg image in case the payload reinitializes Sahara
This is the CVE which Katana exploitsReported CVE-2021-30327 to QualcommHelped with sniffing this exploitGave me a tool which was exploiting this exact VulnerabilityScript base