„OnePlus“ netyčia iš anksto įdiegė programą, kuri veikia kaip „Backdoor to Root Access“

„OnePlus“ paliko „Qualcomm“ inžinerijos testavimo programą, kuri veikia kaip užpakalinės durys, suteikiančios pagrindinę prieigą prie „OnePlus 3“, 3T ir 5.

Atnaujinimas: „OnePlus“ išleido oficialus atsakymas prie reikalo. Būsimame atnaujinime jie pašalins ADB šakninę funkciją iš EngineerMode.

Praėjo šiek tiek daugiau nei mėnuo, kai buvo nustatyta, kad „OnePlus“ renka asmenį identifikuojanti informacija, skirta analizei. Bendrovė greitai pakeitė kursą, o atnaujinime bendrovė pažadėjo būti skaidresnė, aiškiai suteikdama vartotojams galimybė atsisakyti OxygenOS analizės. Nors nuo to laiko ši nesėkmė išspręsta, šį vakarą savo bjaurią galvą kelia kitas. „Twitter“ vartotojas, kuris vadinasi „Eliotas Aldersonas“ (pavadintas populiaraus televizijos serialo „Ponas Robotas“ pagrindinio veikėjo vardu) atrado, kad „OnePlus“. netyčia paliko diagnostikos testavimo programą sukūrė Qualcomm. Dekompiliavęs šią programą, jis atrado, kad taip gali būti išnaudojamas norint suteikti root prieigą – efektyviai veikiantis kaip užpakalinės durys.

Programa vadinama „EngineerMode“ ir iš esmės yra „Qualcomm“ sukurta sistemos programa ir teikiama originalios įrangos gamintojams, tokiems kaip „OnePlus“, kad OĮG galėtų lengvai išbandyti visus aparatinės įrangos komponentus prietaisas. Programa yra iš anksto įdiegta visuose „OnePlus 3“, „OnePlus 3T“ ir „OnePlus 5“ įrenginiuose ir gali būti lengvai pasiekiama naudojant bet kurią veiklos paleidimo priemonę, nes visa programos veikla eksportuojama.

Mes iš tikrųjų prieš kelis mėnesius apėmė šios paraiškos egzistavimą, bet tuo metu net neįsivaizdavome, kam jis gali būti naudojamas. „Twitter“ vartotojas dekompiliavo programą (jos šaltinis buvo paskelbtas internete čia) ir rado įdomią veiklą pavadinimu DiagEnabled. Visų pirma veikloje išsiskyrė vienas metodas: escalatedUp. Šis metodas priima loginę reikšmę (true/false) ir eilutę. Eilutė yra slaptažodis, kuris patikrinamas metodu prieš nustatant sistemos ypatybes persist.sys.adbroot ir oem.selinux.reload_policy iki 1.

Pirmoji sistemos ypatybė yra ypač įdomi, nes leidžia vartotojui paleisti ADB kaip root. Tai iš karto atveria galimybę įgyti visą pagrindinę prieigą prie telefono – visa tai neatrakinus įkrovos tvarkyklės. Taigi, kaip tiksliai pasiekti, kad programa EngineerMode nustatytų šias sistemos ypatybes kaip „1“?

@fs0c131y reikėjo rasti teisingą slaptažodį, kurį reikia siųsti, kad būtų galima perduoti logiką aukščiau paskelbtu metodu. Tačiau rasti šį slaptažodį nėra paprasta užduotis. Jis dekompiliavo už slaptažodžio generavimą atsakingą biblioteką (vadinamą libdoor.so) ir nustatė, kur buvo slaptažodžio maiša: /data/backup/fpwd. Slaptažodis generuojamas iš įvairių kūrimo ypatybių, pvz ro.product.model ir ro.product.brand ir nebūtų lengva pakeisti inžineriją.

Laimei su pagalba Davidas Weinsteinas ir Dabar saugus „Twitter“ tinkle jis atrado slaptažodį, reikalingą „EngineerMode“, kad ADB būtų perkeltas į root teises.

Viskas, ką reikia padaryti, tai išsiųsti ketinimą tokiu formatu:

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

kur com.android.engineeringmode/.qualcomm. DiagEnabled yra mūsų naudojamos DiagEnabled veiklos komponento pavadinimas, o „kodas“ yra eilutės pavadinimas, o „angela“ yra atitinkama slaptažodžio reikšmė.

@fs0c131y teigia, kad tai padarys paskelbti paraišką netrukus bus išsiųstas ketinimas pakelti ADB į root teises, pataisyti įkrovos vaizdą, kad būtų išjungtas dm-verity, ir įdiegti su dvejetainius failus. Stebėkite XDA forumus, kada ši šakninė programa bus paskelbta.

Tai reiškia galutiniams vartotojams, kad jūs galite lengvai įsišakniję savo „OnePlus 3“, „OnePlus 3T“ ir „OnePlus 5“ niekada neatrakindami įkrovos tvarkyklės. Tačiau šis išnaudojimas neleidžia kenkėjiškai programai suteikti sau root prieigos, taigi, jei kas nors neturi fizinės prieigos prie jūsų įrenginio, kad nustatytų ADB, esate saugūs nuo išnaudojimo.

Jei norite apsisaugoti nuo šio išnaudojimo, galite tai padaryti pašalinkite programą iš dabartinio vartotojo kuri neleis ketinimų išsiųsti į programą EngineerMode. Tiesiog naudokite šią komandą ADB:

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

Žinoma, tai vis dar laikoma išnaudojimu ir tikimės, kad „OnePlus“ greitai tai pataisys. Viskas, ką jiems tikrai reikės padaryti, tai pašalinti šią programą iš būsimų versijų.


1 atnaujinimas: slaptažodis yra „angela“

Vartotojas @fs0c131y savo Twitter puslapyje paskelbė atnaujinimą su slaptažodžiu, kurio reikia norint patekti į įsišaknijusį ADB apvalkalą. Tas slaptažodis yra...angela. Tiems iš jūsų, kurie nežiūri pono roboto, Angela yra vienos iš pagrindinių veikėjų vardas. Manau, kad „Qualcomm“ turi būti daug pono roboto gerbėjų.

Jei įvesite komandą, kurią paskelbiau aukščiau ADB, pastebėsite, kad ADB iškart atsijungia ir serveris paleidžiamas iš naujo. Dar kartą įveskite ADB ir pastebėsite, kad dabar tai yra įsišaknijęs apvalkalas.


2 naujinimas: kaip buvo gautas slaptažodis

Apsaugos įmonė „Now Secure“ paskelbė tinklaraščio įrašą, kuriame išsamiai aprašoma, kaip jie gavo slaptažodį, reikalingą šiam šakniniam išnaudojimui. Visą jų įrašą galite perskaityti čia.


3 naujinimas: paveikta daugiau įrenginių

Šios naujausios naujienos neturėtų stebinti, tačiau atrodo, kad šis išnaudojimas paveikė daugiau įrenginių. Taip yra todėl, kad „EngineerMode“ programa yra „Qualcomm“ programa, todėl gali būti, kad kiti originalios įrangos gamintojai ją paliko iš anksto įdiegtą savo įrenginiuose. Iki šiol vartotojai susisiekė su @fs0c131y „Twitter“, kad patvirtintų, jog programa yra įdiegta kai kurie Asus Zenfone ir Xiaomi įrenginiai. Galite lengvai patikrinti, ar jūsų įrenginyje yra ši programa, nuėję į nustatymus ir pažiūrėję, kokios programos yra įdiegtos.


4 naujinimas: įrenginio įsišaknijimas

Naudodami keletą komandų per įsišaknijusį ADB apvalkalą, dabar tai įmanoma stumkite su dvejetainį kodą į savo įrenginį. Naudodami tai galite įdiegti šakninės tvarkyklės programą, pvz., SuperSU, ir laisvai suteikti šakninę prieigą kitoms programoms. Visa tai neatrakinę įkrovos tvarkyklės!


5 naujinimas: „OnePlus“ atsako

„OnePlus“ oficialiai sureagavo į situaciją. A tinklaraščio straipsnis, bendrovė pakartoja, kad šį išnaudojimą galima panaudoti tik tuo atveju, jei užpuolikas turi fizinę prieigą prie įrenginio ir įgalino USB derinimą. Kad įgalintų USB derinimą, užpuolikui taip pat reikia jūsų įrenginio PIN kodo / slaptažodžio. Taigi, šakninių užpakalinių durų negali lengvai išnaudoti jokia programa ar asmuo, tačiau „OnePlus“ išspręs vartotojų problemas pašalindama šią funkciją iš „EngineMode“ programos.