
Vamos sequestrar nossa cadeia de inicialização - CVE-2021-30327
Um exploit de BootROM para dispositivos Qualcomm lançados entre 2016 e 2019.
Com o SoC MSM8998 (Nazgul), o comando 0x13 (SAHARA_RESET_STATE_MACHINE_ID) foi adicionado. O comando chamava boot_sahara_entry, que deveria reinicializar a Sahara. A falha é que cada chamada a ela diminui o ponteiro de pilha em 0x60 e não há proteção de pilha. Com chamadas suficientes, esgotamos o espaço disponível da pilha (0x3000), corrompemos a memória além da pilha e fazemos com que os buffers de pilha se sobreponham a algumas das tabelas de ponteiros de função globais. secboot_verify_cert_signature lerá o módulo e a assinatura no formato BIGINT para buffers de pilha. Como crypto_ftbl->ModExp foi sobrescrito pelos buffers, secmath_BIGINT_modexp saltará para o nosso shellcode a partir do módulo.
Mais informações podem ser encontradas em HEXACON2023 - Bug Tales : Life and Death in the Sahara
[!CAUTION] Mesmo que o SoC seja vulnerável, isso não significa que você pode explorá-lo! Se o seu SoC estiver listado aqui, NÃO armazene nenhum segredo em um dispositivo com ele. Cellebrite, MSAB e Oxygen Forensics conseguem descriptografar os dados do usuário em Dispositivos com tais SoCs, graças a este 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