Sbloccare i dispositivi Android con la forza bruta
Al giorno d'oggi, anche persone che non si occupano di DFIR sanno che tentare di indovinare manualmente un passcode sconosciuto non è l'approccio più veloce, ma che perdere permanentemente l'accesso al dispositivo e ai suoi dati è il risultato più comune. I produttori di dispositivi e gli sviluppatori software hanno fatto un lavoro eccellente nella protezione dei dati degli utenti. E anche se non ci fossero limiti ai tentativi di accesso, forzare manualmente un PIN Android con migliaia e milioni di combinazioni possibili chiaramente non è un'opzione.
Quindi, come sbloccare un dispositivo Android per scopi forensi? Trovare vulnerabilità che permettano di entrare nel sistema, aggirare le restrizioni (almeno in parte) e avviare un attacco brute force automatizzato.
Più facile a dirsi che a farsi.
I dispositivi Android sono estremamente diversi. Sebbene condividano caratteristiche di sicurezza comuni, non esiste una soluzione universale. Le soluzioni disponibili mirano a gruppi specifici di modelli di chipset, ecco perché ogni metodo di brute force per password Android in Belkasoft X viene fornito con il proprio flusso di lavoro — a seconda se stai gestendo dispositivi basati su MediaTek, Kirin o Unisoc.
Breve introduzione al brute force della schermata di blocco Android
La maggior parte dei dispositivi Android che arrivano oggi nei laboratori forensi hanno dati utente crittografati. Le chiavi di crittografia utilizzate per proteggerli vengono estratte nell'Ambiente di Esecuzione Fidato (TEE) dopo l'avvio del dispositivo e l'inserimento del passcode da parte dell'utente. Queste chiavi si basano su chiavi specifiche del dispositivo e chiavi derivate dal passcode della schermata di blocco dell'utente.
Gli attacchi brute force forensi sfruttano vulnerabilità specifiche del chipset, come lo sfruttamento di vulnerabilità nel processo di avvio quali ROM di boot non sicure o modalità di debug. Nello specifico, Belkasoft X può interrompere la catena di boot sicuro, ottenere l'esecuzione di codice a basso livello ed estrarre le chiavi necessarie per forzare il passcode dal TEE. Questo attacco brute force funziona offline—evitando il normale throttling di Android (ritardo nell'elaborazione dati o limiti di tentativi). La velocità di indovinamento del passcode dipende dalla complessità della funzione di derivazione delle chiavi e dalla capacità computazionale della workstation forense digitale.
Questo processo non interagisce con i dati utente estratti dal dispositivo, quindi la probabilità di alterazione delle informazioni o perdita di dati è minore.
Caratteristiche del brute force Unisoc
I processori economici di Unisoc (precedentemente Spreadtrum) si trovano in molti dispositivi Android economici. Alcuni di questi modelli SoC hanno vulnerabilità che consentono l'esecuzione di codice nella BootROM quando si avvia il dispositivo in Modalità Download Spreadtrum (SPD) tramite USB. Belkasoft X utilizza queste vulnerabilità per essere in grado di eseguire il proprio codice nelle fasi di avvio più precoci, estrarre il contenuto delle chiavi di crittografia e forzare i passcode offline. I difetti della BootROM non possono essere corretti tramite aggiornamenti software (perché sono nella memoria di sola lettura), quindi i SoC interessati rimangono insicuri per sempre.
Questo metodo brute force fa parte del flusso di lavoro di acquisizione Spreadtrum ed è facile da eseguire e relativamente veloce. Devi solo installare alcuni driver, mettere il dispositivo Unisoc in modalità SPD e avviare il processo.
Caratteristiche del brute force MediaTek (MTK)
I SoC MediaTek alimentano molti tipi di dispositivi Android (specialmente telefoni di fascia media come Xiaomi, Vivo, Oppo). Molti di questi dispositivi non hanno un elemento sicuro dedicato e si affidano solo al TEE per la sicurezza—e crucialmente, la BootROM di MTK ha vulnerabilità note che aprono la porta agli attacchi brute force. Nello specifico, consente di caricare ed eseguire codice non firmato prima che venga implementato il boot sicuro.
Belkasoft X fornisce un flusso di lavoro di acquisizione che può entrare nel processo di avvio di molti dispositivi basati su chipset MTK. Come i dispositivi basati su Unisoc, scarica l'immagine fisica del dispositivo e il contenuto di crittografia in modo che il processo brute force possa essere eseguito offline.
Per forzare con successo MTK, devi installare driver per la capacità di comunicazione a basso livello con MTK e quindi mettere il dispositivo in modalità BootROM (o modalità Preloader per alcuni dispositivi). L'intero processo coinvolge alcuni passaggi prerequisiti aggiuntivi e richiede più attenzione del brute force Unisoc, ma è comunque relativamente facile da eseguire e funziona abbastanza velocemente.
Caratteristiche del brute force Kirin
I chipset HiSilicon Kirin, utilizzati principalmente nei dispositivi Huawei e Honor, presentano una situazione leggermente diversa. I telefoni flagship di Huawei spesso vengono forniti con sicurezza robusta (inclusa la loro propria implementazione TEE e nei modelli più recenti anche un elemento sicuro integrato per i pagamenti). A differenza di MTK o Unisoc, non sono stati divulgati pubblicamente molti exploit BootROM per Kirin. Invece, gli strumenti DFIR utilizzano la modalità ingegneria specifica del dispositivo di Huawei e le vulnerabilità del bootloader.
Per forzare un dispositivo basato su Kirin, devi metterlo in modalità Download USB (chiamata anche modalità porta COM), che abilita la comunicazione USB con il dispositivo e quindi fornisce accesso ai componenti necessari per gli attacchi brute force. L'attivazione di questa modalità richiede qualche sforzo manuale: devi aprire il dispositivo, trovare il punto di test e cortocircuitarlo usando pinzette a punta fine.
Belkasoft X attualmente supporta brute force e acquisizione dati per dispositivi che funzionano su chipset Kirin 970 e 980. Questo processo funziona offline, rendendolo abbastanza veloce e sicuro. Il flusso di lavoro di acquisizione dipende dal fatto che il dispositivo abbia ricevuto alcune patch di sicurezza o meno. Alcuni modelli non riescono a connettersi tramite USB, alcuni necessitano del cavo Harmony TCP per avviare la comunicazione USB, e alcuni si connettono direttamente tramite USB-C. Belkasoft X ti dirà cosa fare.
Considerazioni finali: Non arrenderti sulle prove bloccate!
Quasi ogni dispositivo ha vulnerabilità hardware o software. I dispositivi economici e vecchi, spesso usati come telefoni usa e getta, sono solitamente più vulnerabili al brute force e all'acquisizione, mentre i dispositivi Android di alta qualità sono solitamente costruiti come fortezze (questo è un gioco di parole).
Trovare exploit non è facile e richiede tempo per la ricerca e l'implementazione; ecco perché molti metodi brute force mirano solo a modelli di telefoni e tablet più vecchi. Ma comunque, non dovremmo arrenderci sulle prove bloccate!
Immagina: ottieni un telefono bloccato da un sospetto non collaborativo. È un modello nuovo, completamente aggiornato e difficile da craccare. Ma poi, durante l'indagine viene trovato un altro dispositivo—un vecchio telefono che il sospetto ha abbandonato anni fa. Anche quello è bloccato, ma questa volta il tuo strumento DFIR (forse Belkasoft X) lo supporta. Ecco il punto: le persone spesso usano la stessa password per anni, a volte decenni. Quindi, c'è una forte possibilità che la password del vecchio dispositivo sia la stessa del nuovo dispositivo.
Pazienza, creatività e gli strumenti giusti possono trasformare un vicolo cieco in un successo. Controlla i modelli di dispositivi supportati da Belkasoft X: https://belkasoft.com/brute. Forse uno di loro sta raccogliendo polvere su uno scaffale nella tua collezione di prove?