
Dirottiamo la nostra bootchain - CVE-2021-30327
Un exploit BootROM per i dispositivi Qualcomm rilasciati tra il 2016 e il 2019.
Con il SoC MSM8998 (Nazgul), è stato aggiunto il comando 0x13 (SAHARA_RESET_STATE_MACHINE_ID). Il comando
chiamava boot_sahara_entry, che dovrebbe reinizializzare Sahara. Il difetto è che ogni chiamata
diminuisce il puntatore dello stack di 0x60 e non c'è alcuno stack guard. Con un numero sufficiente di chiamate, si esaurisce lo spazio
di stack disponibile (0x3000), si corrompe la memoria oltre lo stack e si fa sì che i buffer dello stack si sovrappongano ad alcune tabelle globali di puntatori
a funzione. secboot_verify_cert_signature legge il modulo e la firma in formato BIGINT in buffer sullo stack.
Poiché crypto_ftbl->ModExp viene sovrascritto dai buffer, secmath_BIGINT_modexp salterà nel nostro shellcode a partire dal modulo.
Maggiori informazioni sono disponibili su HEXACON2023 - Bug Tales : Life and Death in the Sahara
[!CAUTION] Anche se il SoC è vulnerabile, non significa che tu possa sfruttarlo! Se il tuo SoC è elencato qui, NON memorizzare segreti su un dispositivo che lo monta. Cellebrite, MSAB e Oxygen Forensics sono in grado di decrittare i dati utente sui dispositivi con tali SoC, grazie a questa 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
Questa è la CVE che Katana sfruttaHa segnalato la CVE-2021-30327 a QualcommHa aiutato con lo sniffing di questo exploitMi ha dato uno strumento che sfruttava esattamente questa vulnerabilitàBase dello script