OnePlus forhåndsinstallerte ved et uhell en app som fungerer som en bakdør til rottilgang

OnePlus etterlot en Qualcomm engineering test-app som fungerer som en bakdør for å gi root-tilgang på OnePlus 3, 3T og 5.

Oppdatering: OnePlus har utstedt en offisielt svar til saken. De vil fjerne ADB-rotfunksjonen fra EngineerMode i en kommende oppdatering.

Det har gått litt over en måned siden OnePlus ble funnet å samle inn personlig identifiserbar informasjon for analyser. Selskapet snudde raskt kursen, og i en oppdatering lovet selskapet å være mer transparente ved å tydelig gi brukerne mulighet for å velge bort OxygenOS-analyse. Selv om den debakelen siden har løst seg, reiser en annen det stygge hodet i kveld. En bruker på Twitter som går under navnet "Elliot Alderson" (oppkalt etter hovedpersonen i den populære TV-serien Mr. Robot) har oppdaget at OnePlus ved et uhell la en diagnostisk testapplikasjon på plass laget av Qualcomm. Etter å ha dekompilert denne applikasjonen, oppdaget han at det kan være det utnyttet for å gi root-tilgang – fungerer effektivt som en bakdør.

Applikasjonen kalles "EngineerMode", og det er egentlig en systemapplikasjon laget av Qualcomm og leveres til OEM-er som OnePlus for at OEM-er enkelt skal teste alle maskinvarekomponentene til enhet. Applikasjonen er forhåndsinstallert på alle OnePlus 3-, OnePlus 3T- og OnePlus 5-enheter og kan være lett tilgjengelig gjennom en hvilken som helst aktivitetsstarter ettersom alle appens aktiviteter eksporteres.

Vi faktisk dekket eksistensen av denne søknaden for flere måneder siden, men på det tidspunktet hadde vi ingen anelse om hva den kunne brukes til. Twitter-brukeren dekompilerte applikasjonen (kilden er lagt ut på nettet her) og fant en interessant aktivitet kalt DiagEnabled. Spesielt en metode skilte seg ut innenfor aktiviteten: escalatedUp. Denne metoden godtar en boolsk verdi (true/false) og en streng. Strengen er et passord som kontrolleres av metoden før den setter systemegenskapene persist.sys.adbroot og oem.selinux.reload_policy til 1.

Den første systemegenskapen er spesielt interessant ettersom den lar brukeren kjøre ADB som root. Dette åpner umiddelbart muligheten for å få full root-tilgang på telefonen – alt uten å låse opp bootloaderen. Så hvordan får du EngineerMode-appen til å sette disse systemegenskapene til å være '1'?

@fs0c131y trengte å finne det riktige passordet for å sende inn intensjonen for å passere logikken i metoden lagt ut ovenfor. Å finne dette passordet er imidlertid ikke en enkel oppgave. Han dekompilerte biblioteket som var ansvarlig for å generere passordet (kalt libdoor.so) og fant hvor passordhashen var plassert: /data/backup/fpwd. Passordet er generert fra ulike byggeegenskaper som f.eks ro.product.model og ro.product.brand og ville ikke være lett å reversere.

Heldigvis med hjelp David Weinstein og Nå sikker på Twitter oppdaget han passordet som trengs av EngineerMode for å eskalere ADB til root-privilegier.

Alt man trenger å gjøre er å sende en hensikt i dette formatet:

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

hvor com.android.engineeringmode/.qualcomm. DiagEnabled er komponentnavnet til DiagEnabled-aktiviteten vi utnytter, og "kode" er strengnavnet og "angela" er den relevante passordverdien.

@fs0c131y sier at han vil publisere en søknad snart vil det sende denne intensjonen om å heve ADB til root-privilegier, lappe oppstartsbildet for å deaktivere dm-verity, og installere su-binærfilene. Hold et øye med XDA-foraene for når denne rotapplikasjonen blir lagt ut.

Hva dette betyr for sluttbrukere er at du kan roter enkelt OnePlus 3, OnePlus 3T og OnePlus 5 uten å låse opp bootloader. Denne utnyttelsen tillater imidlertid ikke at en ondsinnet app gir seg selv root-tilgang, så med mindre noen har fysisk tilgang til enheten din for å sette opp ADB, er du trygg mot utnyttelse.

I tilfelle du ønsker å beskytte deg mot denne utnyttelsen uansett, kan du avinstallere appen fra gjeldende bruker som vil forhindre at intensjonen sendes til EngineerMode-appen. Bare bruk følgende kommando i ADB:

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

Selvfølgelig regnes dette fortsatt som en utnyttelse, og vi håper at OnePlus retter dette snart. Alt de egentlig trenger å gjøre er å fjerne denne applikasjonen fra fremtidige bygg.


Oppdatering 1: Passordet er 'angela'

Brukeren @fs0c131y la ut en oppdatering på Twitter-siden sin med passordet du trenger for å komme inn i et rotfestet ADB-skall. Det passordet er...angela. For de av dere som ikke ser på Mr. Robot, er Angela navnet på en av hovedpersonene. Jeg antar at det må være mange Mr. Robot-fans på Qualcomm.

Hvis du skriver inn kommandoen jeg postet ovenfor i ADB, vil du legge merke til at ADB umiddelbart kobles fra og serveren starter på nytt. Skriv inn ADB igjen, og du vil legge merke til at det nå er et rotfestet skall.


Oppdatering 2: Hvordan passordet ble utledet

Sikkerhetsfirmaet Now Secure har publisert et blogginnlegg som beskriver hvordan de utledet passordet som trengs for at denne rotutnyttelsen skal skje. Du kan lese hele innlegget deres her.


Oppdatering 3: Flere enheter er berørt

Denne siste nyheten burde ikke komme som en overraskelse, men flere enheter ser ut til å være påvirket av denne utnyttelsen. Det er fordi EngineerMode-appen er en Qualcomm-app, så det er mulig at andre OEM-er la den forhåndsinstallert på enhetene deres. Så langt har brukere kontaktet @fs0c131y på Twitter for å bekrefte at applikasjonen er installert på noen Asus Zenfone- og Xiaomi-enheter. Du kan enkelt sjekke om enheten din har denne applikasjonen ved å gå til Innstillinger og se hvilke apper som er installert.


Oppdatering 4: Rooting av enheten din

Ved å bruke noen få kommandoer gjennom det rotfestede ADB-skallet er det nå mulig skyv su-binæren på enheten din. Ved å bruke det kan du deretter installere en root manager-app som SuperSU og deretter fritt gi root-tilgang til andre apper. Alt uten å låse opp bootloaderen!


Oppdatering 5: OnePlus svarer

OnePlus har offisielt svart på situasjonen. I en blogg innlegg, gjentar selskapet at denne utnyttelsen bare kan brukes hvis en angriper har fysisk tilgang til enheten og har aktivert USB-feilsøking. For å aktivere USB-feilsøking, trenger angriperen også enhetens pin/passord. Dermed er ikke rotbakdøren lett å utnytte av noen app eller person, men likevel vil OnePlus adressere brukernes bekymringer ved å fjerne denne funksjonaliteten fra EngineerMode-appen.