OnePlus a preinstalat accidental o aplicație care acționează ca o ușă din spate pentru accesul rădăcină

click fraud protection

OnePlus a lăsat în loc o aplicație de testare de inginerie Qualcomm care acționează ca o ușă în spate pentru a acorda acces root pe OnePlus 3, 3T și 5.

Actualizare: OnePlus a emis un răspuns oficial la chestiune. Ei vor elimina funcția rădăcină ADB din EngineerMode într-o actualizare viitoare.

A trecut puțin peste o lună de când s-a descoperit că OnePlus colectează informații de identificare personală pentru analiză. Compania a inversat rapid cursul și, într-o actualizare, compania a promis să fie mai transparentă, oferind în mod clar utilizatorilor opțiunea de a renunța la analiza OxygenOS. Deși această dezamăgire s-a rezolvat de atunci, un altul își ridică capul urât în ​​seara asta. Un utilizator de pe Twitter care poartă numele „Elliot Alderson„ (numit după personajul principal al popularului serial de televiziune Mr. Robot) a descoperit că OnePlus lăsat accidental pe loc o aplicație de testare a diagnosticului realizat de Qualcomm. După ce a decompilat această aplicație, a descoperit că poate fi exploatat pentru a acorda acces root—acționând efectiv ca o ușă în spate.

Aplicația se numește „EngineerMode” și este în esență o aplicație de sistem realizată de Qualcomm și furnizate OEM-urilor precum OnePlus pentru ca OEM-urile să testeze cu ușurință toate componentele hardware ale dispozitiv. Aplicația este preinstalată pe toate dispozitivele OnePlus 3, OnePlus 3T și OnePlus 5 și poate fi ușor accesibilă prin orice lansator de activități, deoarece toate activitățile aplicației sunt exportate.

Noi de fapt a acoperit existența acestei aplicații în urmă cu câteva luni, dar la acea vreme nu aveam idee la ce ar putea fi folosit. Utilizatorul Twitter a decompilat aplicația (sursa acesteia a fost postată online Aici) și am găsit o activitate interesantă numită DiagEnabled. În special, în cadrul activității s-a remarcat o metodă: escalatedUp. Această metodă acceptă o valoare booleană (adevărat/fals) și un șir. Șirul este o parolă care este verificată de metodă înainte de a seta proprietățile sistemului persist.sys.adbroot și oem.selinux.reload_policy la 1.

Prima proprietate a sistemului este deosebit de interesantă, deoarece permite utilizatorului să ruleze ADB ca root. Acest lucru deschide imediat posibilitatea de a obține acces complet root pe telefon - totul fără a debloca bootloader-ul. Deci, cum faceți exact ca aplicația EngineerMode să seteze aceste proprietăți ale sistemului la „1”?

@fs0c131y trebuia să găsească parola corectă pentru a trimite intenția pentru a trece logica în metoda postată mai sus. Găsirea acestei parole nu este însă o sarcină simplă. El a decompilat biblioteca responsabilă de generarea parolei (numită libdoor.so) și a găsit unde se află hash-ul parolei: /data/backup/fpwd. Parola este generată din diferite proprietăți de construcție, cum ar fi ro.product.model și ro.product.brand și nu ar fi ușor să faci inginerie inversă.

Din fericire cu ajutorul David Weinstein și Acum Securizat pe Twitter, el a descoperit parola necesară EngineerMode pentru a escalada ADB la privilegiile root.

Tot ce trebuie să faceți este să trimiteți o intenție în acest format:

adb shell am start -n com.android.engineeringmode/.qualcomm.DiagEnabled --es "code""angela"

unde com.android.engineeringmode/.qualcomm. DiagEnabled este numele componentei activității DiagEnabled pe care o exploatăm, iar „code” este numele șirului și „angela” este valoarea relevantă a parolei.

@fs0c131y afirmă că o va face publica o aplicație în curând, aceasta va trimite această intenție de a ridica ADB în privilegii de rădăcină, de a corecta imaginea de pornire pentru a dezactiva dm-verity și de a instala su-binarele. Fiți cu ochii pe forumurile XDA pentru când această aplicație root este postată.

Ce înseamnă asta pentru utilizatorii finali este că poți Rodați cu ușurință OnePlus 3, OnePlus 3T și OnePlus 5 fără a debloca niciodată bootloader-ul. Această exploatare nu permite unei aplicații rău intenționate să-și acorde acces rădăcină, deci dacă cineva nu are acces fizic la dispozitivul dvs. pentru a configura ADB, atunci sunteți ferit de exploatare.

În cazul în care doriți să vă protejați de această exploatare indiferent, puteți dezinstalați aplicația de la utilizatorul actual ceea ce va împiedica trimiterea intenției către aplicația EngineerMode. Folosiți următoarea comandă în ADB:

adbshellpmuninstall-k--user 0 com.android.engineermode

Desigur, acest lucru este încă considerat un exploit și sperăm ca OnePlus să corecteze acest lucru în curând. Tot ce ar trebui să facă este să elimine această aplicație din versiunile viitoare.


Actualizare 1: Parola este „angela”

Utilizatorul @fs0c131y a postat o actualizare pe pagina sa de Twitter cu parola de care aveți nevoie pentru a intra într-un shell ADB înrădăcinat. Acea parola este...angela. Pentru cei dintre voi care nu vă uitați la Mr. Robot, Angela este numele unuia dintre protagoniști. Cred că trebuie să fie mulți fani Mr. Robot la Qualcomm.

Dacă introduceți comanda pe care am postat-o ​​mai sus în ADB, veți observa că ADB se deconectează imediat și serverul repornește. Introduceți din nou ADB și veți observa că acum este un shell înrădăcinat.


Actualizarea 2: Cum a fost obținută parola

Firma de securitate Now Secure a publicat o postare pe blog în care detaliază modul în care au obținut parola necesară pentru ca acest exploit să aibă loc. Puteți citi postarea lor integrală aici.


Actualizare 3: Mai multe dispozitive afectate

Această ultimă știre nu ar trebui să fie o surpriză, dar mai multe dispozitive par să fie afectate de acest exploit. Acest lucru se datorează faptului că aplicația EngineerMode este o aplicație Qualcomm, deci este posibil ca alți producători OEM să o lase preinstalată pe dispozitivele lor. Până acum, utilizatorii au contactat @fs0c131y pe Twitter pentru a confirma că aplicația este instalată pe unele dispozitive Asus Zenfone și Xiaomi. Puteți verifica cu ușurință pentru a vedea dacă dispozitivul dvs. are această aplicație accesând Setări și văzând ce aplicații sunt instalate.


Actualizare 4: Rootarea dispozitivului

Folosind câteva comenzi prin shell-ul ADB înrădăcinat, acum este posibil împingeți binarul su pe dispozitivul dvs. Folosind aceasta, puteți apoi să instalați o aplicație de manager de rădăcină, cum ar fi SuperSU, apoi să acordați acces rădăcină la alte aplicații. Toate fără a debloca bootloader-ul!


Actualizare 5: OnePlus răspunde

OnePlus a răspuns oficial la situație. Într-o postare pe blog, compania reiterează că această exploatare poate fi utilizată numai dacă un atacator are acces fizic la dispozitiv și a activat Depanarea USB. Pentru a activa Depanarea USB, atacatorul are nevoie și de codul PIN/parola dispozitivului dvs. Astfel, backdoor-ul rădăcină nu este ușor de exploatat de către nicio aplicație sau persoană, dar, cu toate acestea, OnePlus va răspunde preocupărilor utilizatorilor prin eliminarea acestei funcționalități din aplicația EngineerMode.