
Давайте захватим нашу загрузочную цепочку - 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 - Bug Tales : Life and Death in the Sahara
[!CAUTION] Даже если SoC уязвим, это не значит, что вы можете его эксплуатировать! Если ваш SoC указан здесь, НЕ храните никаких секретов на устройстве с ним. Cellebrite, MSAB и Oxygen Forensics могут расшифровать пользовательские данные на устройствах с такими SoC благодаря этой 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