OnePlus Nord 2 are o vulnerabilitate care acordă acces la shell rădăcină în câteva minute pe un bootloader blocat, fără a șterge datele

Mulți dintre noi aici la XDA-Developers au început să răsfoiască forumuri pentru prima dată când căutam să rootați dispozitivele noastre Android. Pe atunci, oamenii se bazau adesea pe metode de „rădăcină cu un singur clic”: aplicații sau scripturi care conțineau încărcături utile care vizează vulnerabilitățile cunoscute de nivel de privilegiu ale firmware-ului existent pentru a obține acces root. Cu îmbunătățiri și modificări aduse criptării, permisiunilor și gestionării confidențialității, dispozitivele moderne Android sunt relativ imune la acești vectori de atac, dar va exista întotdeauna loc pentru Exploatările și vulnerabilități.

Este posibil ca OnePlus să-și fi cimentat numele printre cei mai importanți producători OEM de Android, dar telefoanele sale sunt nici un străin La erori de securitate. De data aceasta, compania a lăsat o vulnerabilitate destul de interesantă (citiți: deranjantă) nepatărită pe OnePlus Nord 2 de la lansarea sa. Deși exploatarea vulnerabilității necesită acces fizic la dispozitiv, atacatorul poate în mod eficient obțineți un shell rădăcină nerestricționat înainte ca utilizatorul să-și poată introduce acreditările. În special, noua versiune North Pac-Man Edition 2 este de asemenea afectat.

fundal

În zilele noastre, când se vorbește despre a avea acces root pe un smartphone Android, oamenii se gândesc de obicei la corectează imaginea de boot cu Magisk mai întâi și apoi afișarea intermitentă a imaginii corectate către dispozitivul țintă după deblocarea bootloader-ului. În acest fel, utilizatorul final poate avea acces supravegheat la binarul „su” printr-o aplicație de management. Unii alții abordări experimentale există, dar rareori îmbină atât de multe utilizări tradiționale.

Totuși, în ceea ce privește pre-producția, povestea este complet diferită. Când pregătesc firmware-ul pentru un dispozitiv, inginerii ar trebui să activeze diverse setări de înregistrare, inclusiv accesul root. Chiar și pe a userdebug a construi, demonul Android Debug Bridge (adbd) rulează ca root, astfel încât cineva să aibă acces privilegiat la shell în scopuri de depanare. Când firmware-ul este gata de livrare, toate aceste setări de depanare ar trebui să fie dezactivate înainte de a-l implementa.

READ  Lipsa globală de cipuri este parțial responsabilă pentru liniile lungi ale lui Final Fantasy XIV

Dar dacă uiți să o faci? Vom vedea, ca oficial OxygenOS versiunile pentru OnePlus Nord 2 vin cu un astfel de defect.

OnePlus Nord 2 – Vulnerabilitatea rădăcinilor

Unii producători OEM precum Samsung oferă pachete de actualizare de încărcare laterală în recuperarea stocurilor pe dispozitivele de vânzare cu amănuntul. În acest caz, adbd binary rulează cu privilegii considerabil ridicate la încărcare laterală, dar se închide imediat ce procesul de actualizare este încheiat. În afară de asta, nu există ADB acces autorizat într-un mediu de recuperare furnizat de OEM.

OnePlus nu mai permite utilizatorilor să flash un pachet ZIP de actualizare prin recuperarea stocului său prin încărcare laterală ADB. Presupunând că totul este configurat așa cum ar trebui, mediul de recuperare pentru un dispozitiv OnePlus standard ar trebui să fie ferit de atacatorii care livrează orice tip de sarcină utilă folosind ADB. Din păcate, nu totul merge așa cum a fost planificat în cazul lui OnePlus Nord 2.

După cum se dovedește, oricine poate crea un shell de depanare Android cu privilegii de root în mediul de recuperare OnePlus Nord 2. Se pare că una dintre setările critice de depanare și-a făcut drum spre versiunile de producție, ducând la această problemă.

Exploați defectul de pe OnePlus Nord 2

Tot ce trebuie să faceți este să reporniți OnePlus Nord 2 în modul de recuperare. Un atacator poate lua dispozitivul și poate folosi o simplă combinație de butoane hardware pentru a-l forța în modul de recuperare. De fapt, nu este nevoie să accesați meniul de recuperare real, deoarece secțiunea vulnerabilă vine înainte. Creditul revine membrului senior al XDA AndroPlus pentru A arăta Existența acestui bug datează din octombrie 2021.

  1. Când telefonul este oprit, apăsați simultan butoanele de volum și de pornire până când vedeți sigla OnePlus cu un banner minuscul „MOD RECUPERARE” în ​​colțul din stânga jos al ecranului.
    Modul de recuperare OnePlus Nord 2
  2. Apoi ar trebui să vedeți ecranul de selecție a limbii. Nu este nevoie să mergem mai departe, deoarece putem iniția accesul ADB direct de aici.
    Selectarea limbii de recuperare OnePlus Nord 2
  3. Acum conectați telefonul la un PC (sau Mac) folosind cablul USB. Dacă utilizați Windows, este posibil să vedeți o nouă interfață de depanare USB Android în Managerul de dispozitive. De asemenea, poate fi necesar să instalați un Driver USB Android înainte ca Windows să poată recunoaște noul dispozitiv. Utilizatorii Linux și macOS, pe de altă parte, pot folosi lsusb comandă pentru a detecta prezența noii interfețe hardware.
    Interfață adb de recuperare OnePlus Nord 2
  4. Deoarece aveți deja cea mai recentă versiune a ADB și Fastboot utilitare instalate pe PC/Mac, lansați o instanță Command Prompt/PowerShell/Terminal și rulați următoarea comandă:
    adb devices

    Ar trebui să listeze Nord 2 în modul de recuperare. Acest lucru este, de asemenea, deosebit de interesant, deoarece promptul standard de autorizare ADB nu este necesar aici. Este posibil să primiți o eroare „dispozitiv neautorizat”, dar ștergerea bazei de date a cheilor ADB RSA existente de pe computerul gazdă și repornirea serverului ADB ar trebui să vă permită în cele din urmă să o permiteți.

  5. Acum educați adbd pentru a rula ca root:
    adb root

    Această comandă poate dura mult timp și probabil veți primi o eroare de timeout. Cu toate acestea, acum adbd ar trebui să fie rulat ca root.

    OnePlus Nord 2 adbd ca root

  6. În cele din urmă, verificați nivelul de privilegii shell folosind următoarea comandă:
    adb shell whoami

    OnePlus Nord 2 adb shell whoami

Întinderea vinei

Potențialele abuzuri ale acestei gauri de securitate sunt înfricoșătoare. Cu un atac de succes asupra OnePlus Nord 2, un atacator poate goli toate partițiile de pe dispozitiv. Prin urmare, întreaga partiție de date, inclusiv fișierele stocate în directoare de date private care sunt în general inaccesibile pentru aplicații, sunt accesibile atacatorului. În cazul în care partiția de date este criptată (deoarece utilizatorul a setat un PIN sau o parolă), descărcarea poate fi totuși utilă pentru analiza criminalistică.

Nu numai atât, puteți împinge un executabil către /data/local/tmp și rulează-l de acolo. Acesta este un vector de atac clasic, care poate fi util pentru încărcarea în lanț a unui alt exploit. În plus, așa cum puteți numi acum setprop utilitar ca rădăcină pentru a schimba diferite valori de prop, puteți deturna din punct de vedere tehnic unele dintre variabilele privilegiate specifice OEM. Nu în ultimul rând, chiar dacă nu ați deblocat opțiunile de dezvoltator, telefonul vă va cere automat accesul la depanarea USB după invocarea ADB în timpul recuperării și repornirea în mediul Android standard, ceea ce înseamnă că sfera vulnerabilității nu este limitat doar la o singură secțiune de recuperare.

Rețineți că nu puteți instala fișiere APK folosind ADB în mediul de recuperare, deoarece utilitarul Package Manager nu este accesibil acolo.

Cum să verificați dacă OnePlus Nord 2 este afectat? (Sugestie: este)

După cum am menționat anterior, puteți exploata această vulnerabilitate atât pe ediția obișnuită, cât și pe cea specială Pac-Man a OnePlus Nord 2. Pe scurt, dacă introduceți un shell rădăcină (veți ști când simbolul shell-ului se schimbă de la $ La #), atunci veți ști că defecțiunea este prezentă.

Am reușit să obținem acces la shell rădăcină pe cel mai recent firmware public indian și european OxygenOS pentru dispozitiv, care înseamnă fiecare unitate OnePlus Nord 2 este vulnerabilă la momentul scrierii acestui articol.


Si dupa?

Vom urmări această problemă pe măsură ce vor fi disponibile mai multe informații. OnePlus a furnizat următoarea declarație în această privință:

Luăm foarte în serios confidențialitatea și securitatea. Noi acordăm prioritate acestei probleme și vom trimite o actualizare de îndată ce vom avea mai multe informații.

Purtătorul de cuvânt al OnePlus

Deși toate acestea sună înfricoșător, rețineți că un atacator va trebui totuși să acceseze fizic telefonul pentru a obține acces la shell-ul rădăcină. Până când OnePlus lansează o actualizare care remediază vulnerabilitatea, încercați să țineți OnePlus Nord 2 departe de străini. Deși nu am întâlnit niciun caz de utilizare rău intenționat, o astfel de posibilitate nu poate fi exclusă, deoarece vulnerabilitatea este în sălbăticie de cel puțin 2 luni.

Faci un comentariu sau dai un răspuns?

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *