OnePlus je pomotoma vnaprej namestil aplikacijo, ki deluje kot stranska vrata za korenski dostop

click fraud protection

OnePlus je pustil na mestu inženirsko testno aplikacijo Qualcomm, ki deluje kot stranska vrata za omogočanje korenskega dostopa na OnePlus 3, 3T in 5.

Posodobitev: OnePlus je izdal uradni odgovor do zadeve. V prihajajoči posodobitvi bodo odstranili korensko funkcijo ADB iz EngineerMode.

Minilo je nekaj več kot mesec dni, odkar so ugotovili, da OnePlus zbira osebne podatke za analitiko. Podjetje je hitro obrnilo smer in v posodobitvi je obljubilo, da bo bolj pregledno, tako da bo uporabnikom jasno dalo možnost zavrnitve analitike OxygenOS. Čeprav se je ta debakel medtem razrešil, nocoj dviguje svojo grdo glavo še en. Uporabnik na Twitterju z imenom "Elliot Alderson" (poimenovan po glavnem junaku priljubljene televizijske serije Gospod Robot) je odkril, da OnePlus pomotoma pustil na mestu aplikacijo za diagnostično testiranje izdelal Qualcomm. Po dekompilaciji te aplikacije je odkril, da je lahko izkoriščajo za dodelitev korenskega dostopa – dejansko delujejo kot stranska vrata.

Aplikacija se imenuje "EngineerMode" in je v bistvu sistemska aplikacija, ki jo je izdelal Qualcomm in zagotovljena proizvajalcem originalne opreme, kot je OnePlus, da lahko proizvajalci originalne opreme enostavno preizkusijo vse komponente strojne opreme napravo. Aplikacija je vnaprej nameščena na vseh napravah OnePlus 3, OnePlus 3T in OnePlus 5 in je zlahka dostopna prek katerega koli zaganjalnika dejavnosti, saj so vse dejavnosti aplikacije izvožene.

Mi pravzaprav pred nekaj meseci zakrili obstoj te aplikacije, vendar takrat nismo imeli pojma, za kaj bi ga lahko uporabili. Uporabnik Twitterja je dekompiliral aplikacijo (njen vir je bil objavljen na spletu tukaj) in našli zanimivo dejavnost, imenovano DiagEnabled. Zlasti ena metoda je izstopala znotraj dejavnosti: escalatedUp. Ta metoda sprejme logično vrednost (true/false) in niz. Niz je geslo, ki ga metoda preveri, preden nastavi sistemske lastnosti persist.sys.adbroot in oem.selinux.reload_policy do 1.

Prva sistemska lastnost je še posebej zanimiva, saj uporabniku omogoča zagon ADB kot root. To takoj odpre možnost pridobitve polnega korenskega dostopa do telefona – vse brez odklepanja zagonskega nalagalnika. Torej, kako natančno pripravite aplikacijo EngineerMode, da nastavi te sistemske lastnosti na '1'?

@fs0c131y je moral poiskati pravilno geslo za pošiljanje namena, da bi posredoval logiko v zgoraj objavljeni metodi. Iskanje tega gesla pa ni preprosta naloga. Dekompiliral je knjižnico, ki je odgovorna za generiranje gesla (imenovano libdoor.so), in ugotovil, kje se nahaja zgoščena vrednost gesla: /data/backup/fpwd. Geslo se ustvari iz različnih lastnosti gradnje, kot je npr ro.product.model in ro.product.brand in ne bi bilo lahko izvesti obratnega inženiringa.

Na srečo s pomočjo David Weinstein in Zdaj varno na Twitterju je odkril geslo, ki ga potrebuje EngineerMode za stopnjevanje ADB na root privilegije.

Vse kar morate storiti je, da pošljete namen v tej obliki:

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

kjer je com.android.engineeringmode/.qualcomm. DiagEnabled je ime komponente dejavnosti DiagEnabled, ki jo izkoriščamo, "code" pa je ime niza in "angela" je ustrezna vrednost gesla.

@fs0c131y pravi, da bo objavite prijavo kmalu, ki bo poslal to namero za dvig ADB v root privilegije, popravek zagonske slike za onemogočanje dm-verity in namestitev su binarnih datotek. Bodite pozorni na forume XDA, ko bo ta korenska aplikacija objavljena.

Za končne uporabnike to pomeni, da lahko preprosto rootajte svoj OnePlus 3, OnePlus 3T in OnePlus 5, ne da bi kdaj odklenili zagonski nalagalnik. Ta izkoriščanje pa zlonamerni aplikaciji ne dovoljuje, da bi si podelila korenski dostop, tako da ste varni pred izkoriščanjem, razen če ima nekdo fizični dostop do vaše naprave za nastavitev ADB.

Če se želite zaščititi pred tem izkoriščanjem ne glede na to, lahko odstranite aplikacijo od trenutnega uporabnika ki bo preprečil pošiljanje namena v aplikacijo EngineerMode. Samo uporabite naslednji ukaz v ADB:

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

Seveda se to še vedno šteje za izkoriščanje in upamo, da bo OnePlus to kmalu popravil. Vse, kar bi resnično morali storiti, je odstraniti to aplikacijo iz prihodnjih gradenj.


Posodobitev 1: Geslo je 'angela'

Uporabnik @fs0c131y je na svoji strani Twitter objavil posodobitev z geslom, ki ga potrebujete za dostop do zakoreninjene lupine ADB. To geslo je ...angela. Za tiste, ki ne gledate gospoda Robota, Angela je ime enega od protagonistov. Predvidevam, da mora biti pri Qualcommu veliko oboževalcev gospoda Robota.

Če v ADB vnesete ukaz, ki sem ga objavil zgoraj, boste opazili, da ADB takoj prekine povezavo in se strežnik znova zažene. Ponovno vnesite ADB in opazili boste, da je zdaj zakoreninjena lupina.


Posodobitev 2: Kako je bilo geslo pridobljeno

Varnostno podjetje Now Secure je objavilo objavo v spletnem dnevniku, v kateri je podrobno opisano, kako so izpeljali geslo, potrebno za to root exploit. Njihovo celotno objavo lahko preberete tukaj.


3. posodobitev: prizadetih je več naprav

Ta najnovejša novica ne bi smela biti presenečenje, vendar se zdi, da to izkoriščanje vpliva na več naprav. To je zato, ker je aplikacija EngineerMode aplikacija Qualcomm, zato je možno, da so jo drugi proizvajalci originalne opreme pustili vnaprej nameščeno na svojih napravah. Doslej so se uporabniki obrnili na @fs0c131y na Twitterju, da bi potrdili, da je aplikacija nameščena na nekatere naprave Asus Zenfone in Xiaomi. Preprosto lahko preverite, ali ima vaša naprava to aplikacijo, tako da greste v nastavitve in vidite, katere aplikacije so nameščene.


Posodobitev 4: Rooting vaše naprave

Z uporabo nekaj ukazov prek ukoreninjene lupine ADB je zdaj mogoče potisnite dvojiško datoteko su na svojo napravo. S tem lahko nato namestite aplikacijo za upravljanje korenin, kot je SuperSU, in nato prosto dodelite korenski dostop drugim aplikacijam. Vse brez odklepanja zagonskega nalagalnika!


Posodobitev 5: OnePlus se odzove

OnePlus se je uradno odzval na situacijo. V blog objava, podjetje ponavlja, da je to izkoriščanje mogoče uporabiti le, če ima napadalec fizični dostop do naprave in je omogočil odpravljanje napak USB. Da bi omogočil odpravljanje napak USB, napadalec potrebuje tudi PIN/geslo vaše naprave. Tako nobena aplikacija ali oseba ne more zlahka izkoristiti root backdoor, vendar bo OnePlus kljub temu obravnaval skrbi uporabnikov z odstranitvijo te funkcije iz aplikacije EngineerMode.