OnePlus Nord 2 ha una vulnerabilità che garantisce l'accesso root alla shell in pochi minuti su un bootloader bloccato, senza cancellazione dei dati

OnePlus Nord 2 presenta una vulnerabilità che consente a un utente malintenzionato di ottenere accesso illimitato alla shell root. Continua a leggere per saperne di più!

Molti di noi qui a XDA-Developers hanno iniziato a navigare nei forum per la prima volta quando stavamo cercando di farlo rootare i nostri dispositivi Android. A quei tempi, le persone spesso si affidavano ai metodi "root con un clic": app o script contenenti payload che prendono di mira le vulnerabilità note di escalation dei privilegi del firmware esistente per ottenere il root accesso. Con miglioramenti e modifiche alla crittografia, alle autorizzazioni e alla gestione relativa alla privacy, i moderni dispositivi Android sono relativamente al sicuro da tali vettori di attacco, ma rimarrà sempre spazio per sfrutta E vulnerabilità.

OnePlus potrebbe aver consolidato il suo nome tra i principali OEM Android, ma i suoi telefoni lo sono nessun estraneo A difetti di sicurezza. Questa volta, l'azienda ha lasciato senza patch una vulnerabilità piuttosto interessante (leggi: preoccupante) sul

OnePlus Nord2 dal suo rilascio. Sebbene lo sfruttamento della scappatoia richieda l'accesso fisico al dispositivo, l'aggressore può farlo in modo efficace ottenere una shell root senza restrizioni prima ancora che l'utente possa inserire le proprie credenziali. In particolare, il nuovo rilascio Edizione Pac-Man del Nord 2 è influenzato anch'esso.

Sfondo

Al giorno d'oggi, quando si parla di avere accesso root su uno smartphone Android, la gente di solito pensa a patchando l'immagine di avvio stock con Magisk prima e poi lampeggiando l'immagine con patch sul dispositivo di destinazione dopo lo sblocco del bootloader. In questo modo, l'utente finale può avere accesso supervisionato al binario "su" tramite un'app di gestione. Un altro paio approcci sperimentali esistono, ma raramente raccolgono un utilizzo così diffuso.

Quando si tratta di pre-produzione, però, lo scenario è completamente diverso. Durante la preparazione del firmware di un dispositivo, gli ingegneri devono avere attivati ​​vari parametri di registrazione, incluso l'accesso root. Anche su a userdebug costruire, Android Debug Bridge Daemon (adbd) viene eseguito come root, in modo che si possa avere accesso privilegiato alla shell per scopi di debug. Quando il firmware è pronto per la spedizione, tutti questi parametri di debug devono essere disattivati ​​prima di implementarlo.

Ma cosa succede se ti dimentichi di farlo? Vedremo, poiché le versioni ufficiali di OxygenOS per OnePlus Nord 2 presentano un tale difetto.

OnePlus Nord 2 – Vulnerabilità della root shell

Alcuni OEM come Samsung offrono funzionalità di sideloading dei pacchetti di aggiornamento nel recupero delle scorte sui dispositivi al dettaglio. In tal caso, il adbd Il binario viene eseguito con un privilegio significativamente elevato durante il sideload, ma si chiude da solo non appena termina il processo di aggiornamento. Oltre a ciò, non è consentito l'accesso ADB in un ambiente di ripristino fornito dall'OEM.

OnePlus non consente più agli utenti di eseguire il flashing di un pacchetto ZIP di aggiornamento tramite il ripristino delle scorte tramite sideload ADB. Supponendo che tutto il resto sia configurato come dovrebbe, l'ambiente di ripristino di un normale dispositivo OnePlus dovrebbe essere al sicuro dagli aggressori che forniscono qualsiasi tipo di payload utilizzando ADB. Sfortunatamente, non tutto va secondo i piani nel caso del OnePlus Nord 2.

Come risulta, chiunque può generare una shell di debug Android con privilegio root all'interno dell'ambiente di ripristino di OnePlus Nord 2. Apparentemente una delle impostazioni critiche di debug è arrivata alle build di produzione, il che porta a questo problema tecnico.

Sfruttare il difetto di OnePlus Nord 2

Tutto quello che devi fare è riavviare OnePlus Nord 2 in modalità di ripristino. Un utente malintenzionato può prendere il dispositivo e utilizzare una semplice combinazione di pulsanti hardware per forzarlo ad accedere alla modalità di ripristino. In realtà, non è necessario accedere al menu di ripristino vero e proprio, poiché la sezione vulnerabile viene prima. Il merito va al membro senior XDA AndroPlus per mettere in evidenza l'esistenza di questo problema tecnico nell'ottobre 2021.

  1. Mentre il telefono è spento, premi contemporaneamente il volume verso il basso e i pulsanti di accensione finché non vedere il logo OnePlus con un minuscolo banner "MODALITÀ DI RECUPERO" nell'angolo in basso a sinistra dello schermo.
  2. Successivamente, dovresti vedere la schermata di selezione della lingua. Non è necessario andare avanti, poiché possiamo avviare l'accesso ADB direttamente da qui.
  3. Ora collega il telefono ad un PC (o Mac) utilizzando il cavo USB. Se utilizzi Windows, puoi visualizzare una nuova interfaccia di debug USB Android in Gestione dispositivi. Potrebbe anche essere necessario installare un file adatto Driver USB Android prima che Windows possa riconoscere il nuovo dispositivo. Gli utenti Linux e macOS, invece, possono utilizzare il file lsusb comando per rilevare la presenza della nuova interfaccia hardware.
  4. Considerando che hai già l'ultima versione di ADB e avvio rapido utilità installate sul tuo PC/Mac, avvia un'istanza del prompt dei comandi/PowerShell/Terminale ed esegui il seguente comando:
    adb devices
    Dovrebbe elencare il Nord 2 in modalità di ripristino. Anche questo è particolarmente interessante, poiché qui la richiesta di autorizzazione ADB standard non è necessaria. Potresti ricevere un errore "dispositivo non autorizzato", ma cancellando il database delle chiavi RSA ADB esistente del PC host e riavviando il server ADB dovresti eventualmente consentirti di ottenerne l'autorizzazione.
  5. Ora istruisci adbd per eseguire come root:
    adb root
    Questo comando potrebbe richiedere molto tempo e probabilmente riceverai un errore di timeout. Comunque, adesso adbd dovrebbe essere eseguito come root.
  6. Infine, verifica il livello di privilegio della shell utilizzando il seguente comando:
    adb shell whoami

L'entità del difetto

I potenziali abusi di questa vulnerabilità della sicurezza sono spaventosi. Con un attacco riuscito a OnePlus Nord 2, un utente malintenzionato può scaricare ogni partizione del dispositivo. Di conseguenza, l’intera partizione dati, compresi i file archiviati nelle directory di dati privati ​​delle applicazioni, solitamente inaccessibili, è accessibile all’aggressore. Nel caso in cui la partizione dei dati risultasse crittografata (a causa dell'impostazione di un PIN o di una password da parte dell'utente), il dump potrebbe comunque essere utile per l'analisi forense.

Non solo, puoi inviare un eseguibile a /data/local/tmp ed eseguilo da lì. Si tratta di un classico vettore di attacco, che può essere utile per eseguire il chainloading di un altro exploit. Inoltre, poiché ora puoi chiamare il setprop utility come root per modificare vari valori prop, puoi tecnicamente dirottare alcune delle variabili privilegiate specifiche dell'OEM. Ultimo ma non meno importante, anche se non hai sbloccato le opzioni sviluppatore, il telefono richiederà automaticamente l'accesso al debug USB dopo aver invocato ADB in ripristino e riavvio nel normale ambiente Android, il che significa che l'ambito della vulnerabilità non è limitato solo alla sezione di ripristino soltanto.

Tieni presente che non puoi installare i file APK utilizzando ADB nell'ambiente di ripristino poiché l'utilità Gestione pacchetti non è accessibile lì.

Come verificare se il tuo OnePlus Nord 2 è interessato? (Suggerimento: lo è)

Come accennato in precedenza, puoi sfruttare questa vulnerabilità sia sull'edizione normale che su quella speciale Pac-Man di OnePlus Nord 2. In poche parole, se inserisci una shell di radice (saprai quando il simbolo della shell cambia da $ A #), allora saprai che il difetto è presente.

Abbiamo ottenuto con successo l'accesso alla shell root su ultimo firmware pubblico indiano ed europeo OxygenOS per il dispositivo, che significa ogni singola unità OnePlus Nord 2 disponibile è vulnerabile al momento della stesura di questo articolo.


Qual è il prossimo?

Daremo seguito a questo argomento non appena saranno disponibili ulteriori informazioni. OnePlus ha fornito la seguente dichiarazione sulla questione:

Trattiamo molto seriamente la privacy e la sicurezza. Stiamo dando priorità a questa questione e condivideremo un aggiornamento non appena avremo maggiori informazioni.

Anche se tutto ciò sembra spaventoso, tieni presente che un utente malintenzionato dovrà comunque accedere fisicamente al telefono per ottenere l'accesso alla shell root. Fino a quando OnePlus non distribuirà un aggiornamento che corregge la vulnerabilità, prova a tenere il tuo OnePlus Nord 2 lontano dagli estranei. Anche se non abbiamo riscontrato alcun caso di utilizzo dannoso, non si può escludere tale possibilità poiché la vulnerabilità è diffusa da almeno 2 mesi.