OnePlus je ostavio na mjestu Qualcommovu inženjersku testnu aplikaciju koja djeluje kao backdoor za odobravanje root pristupa na OnePlus 3, 3T i 5.
Ažuriranje: OnePlus je izdao službeni odgovor na stvar. Oni će ukloniti ADB root funkciju iz EngineerModea u nadolazećem ažuriranju.
Prošlo je nešto više od mjesec dana otkako je otkriveno da OnePlus prikuplja osobne podatke za analitiku. Tvrtka je brzo promijenila smjer, au ažuriranju je obećala da će biti transparentnija tako što će korisnicima jasno dati mogućnost isključivanja iz OxygenOS analitike. Iako je taj debakl u međuvremenu riješen, još jedan večeras diže svoju ružnu glavu. Korisnik na Twitteru pod imenom "Elliot Alderson" (nazvan po glavnom liku popularne televizijske serije Mr. Robot) otkrio je da OnePlus slučajno ostavio na mjestu aplikaciju za dijagnostičko testiranje napravio Qualcomm. Nakon što je dekompilirao ovu aplikaciju, otkrio je da to može biti iskorištava se za odobravanje root pristupa—učinkovito djelujući kao stražnja vrata.
Aplikacija se zove "EngineerMode" i to je u biti sistemska aplikacija koju je napravio Qualcomm i pruža se OEM-ima kao što je OnePlus kako bi OEM-ovi lako testirali sve hardverske komponente uređaj. Aplikacija je unaprijed instalirana na svim uređajima OnePlus 3, OnePlus 3T i OnePlus 5 i može joj se lako pristupiti putem bilo kojeg pokretača aktivnosti budući da se sve aktivnosti aplikacije izvoze.
Mi zapravo pokrio postojanje ove aplikacije prije nekoliko mjeseci, ali u to vrijeme nismo imali pojma za što bi se to moglo koristiti. Korisnik Twittera dekompilirao je aplikaciju (njezin izvor je objavljen na internetu ovdje) i pronašao zanimljivu aktivnost pod nazivom DiagEnabled. Posebno se istaknula jedna metoda unutar aktivnosti: escalatedUp. Ova metoda prihvaća Booleovu vrijednost (true/false) i niz. Niz je lozinka koju metoda provjerava prije nego što postavi svojstva sustava persist.sys.adbroot
i oem.selinux.reload_policy
do 1.
Prvo svojstvo sustava posebno je zanimljivo jer korisniku omogućuje pokretanje ADB-a kao root. To odmah otvara mogućnost stjecanja potpunog root pristupa na telefonu—sve bez otključavanja bootloadera. Dakle, kako točno postići da aplikacija EngineerMode postavi ova svojstva sustava na '1'?
@fs0c131y je trebao pronaći ispravnu lozinku za slanje u namjeri kako bi prenio logiku u gore objavljenoj metodi. Međutim, pronaći ovu lozinku nije jednostavan zadatak. Dekompilirao je biblioteku odgovornu za generiranje lozinke (nazvanu libdoor.so) i pronašao gdje se nalazi hash lozinke: /data/backup/fpwd
. Lozinka se generira iz različitih svojstava izgradnje kao što su ro.product.model
i ro.product.brand
i ne bi bilo lako obrnuti inženjering.
Srećom uz pomoć David Weinstein i Sada Sigurno na Twitteru je otkrio lozinku potrebnu EngineerModeu kako bi eskalirao ADB na root privilegije.
Sve što treba učiniti je poslati namjeru u ovom formatu:
adb shell am start -n com.android.engineeringmode/.qualcomm.DiagEnabled --es "code""angela"
gdje je com.android.engineeringmode/.qualcomm. DiagEnabled je naziv komponente DiagEnabled aktivnosti koju iskorištavamo, a "code" je naziv niza, a "angela" je relevantna vrijednost lozinke.
@fs0c131y kaže da hoće objaviti prijavu uskoro će poslati ovu namjeru da podigne ADB u root privilegije, zakrpa sliku za pokretanje da onemogući dm-verity i instalira su binarne datoteke. Pripazite na XDA forume kada će ova root aplikacija biti objavljena.
Za krajnje korisnike to znači da možete jednostavno rootajte svoj OnePlus 3, OnePlus 3T i OnePlus 5 bez otključavanja pokretačkog programa. Međutim, ovo iskorištavanje ne dopušta zlonamjernoj aplikaciji da si dodijeli root pristup, stoga ste sigurni od iskorištavanja, osim ako netko nema fizički pristup vašem uređaju za postavljanje ADB-a.
U slučaju da se bez obzira želite zaštititi od ovog iskorištavanja, možete deinstalirati aplikaciju trenutnog korisnika što će spriječiti slanje namjere aplikaciji EngineerMode. Samo upotrijebite sljedeću naredbu u ADB-u:
adbshellpmuninstall-k--user 0 com.android.engineermode
Naravno, ovo se još uvijek smatra eksploatacijom i nadamo se da će OnePlus to uskoro zakrpati. Sve što bi stvarno trebali učiniti je ukloniti ovu aplikaciju iz budućih verzija.
Ažuriranje 1: Lozinka je 'angela'
Korisnik @fs0c131y objavio je ažuriranje na svojoj Twitter stranici s lozinkom koja vam je potrebna za ulazak u rootanu ADB ljusku. Ta lozinka je...anđela. Za vas koji ne gledate Mr. Robot, Angela je ime jednog od protagonista. Pretpostavljam da u Qualcommu mora biti puno obožavatelja Mr. Robota.
Ako u ADB unesete naredbu koju sam objavio gore, primijetit ćete da se ADB odmah prekida i poslužitelj se ponovno pokreće. Ponovno unesite ADB i primijetit ćete da je to sada ukorijenjena ljuska.
Ažuriranje 2: Kako je lozinka izvedena
Sigurnosna tvrtka Now Secure objavila je post na blogu u kojem je detaljno opisala kako su izveli lozinku potrebnu za pojavu ovog root exploita. Ovdje možete pročitati njihov cijeli post.
Ažuriranje 3: Pogođeno je više uređaja
Ove najnovije vijesti ne bi trebale biti iznenađenje, ali čini se da je više uređaja pogođeno ovim iskorištavanjem. To je zato što je aplikacija EngineerMode aplikacija tvrtke Qualcomm, pa je moguće da su je drugi proizvođači originalne opreme ostavili unaprijed instaliranu na svojim uređajima. Do sada su korisnici kontaktirali @fs0c131y na Twitteru kako bi potvrdili da je aplikacija instalirana na neki Asus Zenfone i Xiaomi uređaji. Možete jednostavno provjeriti ima li vaš uređaj ovu aplikaciju tako da odete u Postavke i vidite koje su aplikacije instalirane.
Ažuriranje 4: Rootiranje vašeg uređaja
Koristeći nekoliko naredbi kroz ukorijenjenu ADB ljusku, sada je moguće gurnite su binarnu datoteku na svoj uređaj. Koristeći to, zatim možete instalirati root upraviteljsku aplikaciju kao što je SuperSU i zatim slobodno odobriti root pristup drugim aplikacijama. Sve to bez otključavanja vašeg bootloadera!
Ažuriranje 5: OnePlus odgovara
OnePlus je službeno reagirao na situaciju. U post na blogu, tvrtka ponavlja da se ovaj exploit može koristiti samo ako napadač ima fizički pristup uređaju i ako je omogućio USB Debugging. Kako bi omogućio USB Debugging, napadač također treba PIN/lozinku vašeg uređaja. Stoga nijedna aplikacija ili osoba ne može lako iskoristiti root backdoor, no unatoč tome OnePlus će riješiti brige korisnika uklanjanjem ove funkcije iz aplikacije EngineerMode.