OnePlus Nord 2 har en sårbarhed, der giver root shell-adgang inden for få minutter på en låst bootloader uden en datasletning

OnePlus Nord 2 har en sårbarhed, der tillader en angriber at få ubegrænset root shell-adgang. Læs videre for at vide mere!

Mange af os her hos XDA-Developers begyndte oprindeligt at browse på foraene for første gang, da vi søgte at root vores Android-enheder. Dengang stolede folk ofte på "one-click root" metoder: Apps eller scripts, der indeholdt nyttelaster, der retter sig mod kendte privilegie-eskaleringssårbarheder i den eksisterende firmware for at få root adgang. Med forbedringer og ændringer af kryptering, tilladelser og privatlivsrelateret håndtering er moderne Android-enheder relativt sikre mod sådanne angrebsvektorer, men der vil altid være plads til udnytter og sårbarheder.

OnePlus kunne have cementeret sit navn blandt de store Android OEM'er, men det er dets telefoner ingen fremmed til sikkerhedsfejl. Denne gang har virksomheden efterladt en ret interessant (læs: bekymrende) sårbarhed upatched på OnePlus Nord 2 siden udgivelsen. Selvom udnyttelse af smuthullet kræver fysisk adgang til enheden, kan angriberen effektivt

få en ubegrænset rodskal, før brugeren overhovedet kan indtaste deres legitimationsoplysninger. Især den nyligt udgivne Pac-Man udgave af Nord 2 er også påvirket.

Baggrund

I dag, når vi taler om at have root-adgang på en Android-smartphone, tænker folk normalt på patching af stock boot-billedet med Magisk først og derefter blinke det patchede billede til målenheden efter oplåsning af bootloader. På den måde kan slutbrugeren få overvåget adgang til "su"-binæren via en manager-app. Et par andre eksperimentelle tilgange eksisterer, men de samler sjældent så meget almindelig brug.

Når det kommer til præproduktion, er scenariet dog helt anderledes. Mens de forbereder firmwaren på en enhed, skal teknikerne have forskellige logningsparametre slået til, inklusive root-adgang. Selv på en brugerdebug bygge, kører Android Debug Bridge Daemon (adbd) som root, så man kan have privilegeret shell-adgang til fejlfindingsformål. Når firmwaren er klar til forsendelse, skal alle disse fejlfindingsparametre slås fra, før den rulles ud.

Men hvad sker der, hvis du glemmer at gøre det? Vi vil se, da de officielle OxygenOS-udgivelser til OnePlus Nord 2 kommer med en sådan fejl.

OnePlus Nord 2 - Root Shell-sårbarhed

Nogle OEM'er som Samsung tilbyder mulighed for sideindlæsning af opdateringspakker i deres lagergendannelse på detailenheder. I så fald adbd binært kører med et betydeligt højt privilegium under sideindlæsning, men det lukker selv ned, så snart opdateringsprocessen er færdig. Bortset fra det er der ingen ADB-adgang tilladt i et OEM-leveret gendannelsesmiljø.

OnePlus tillader ikke længere brugere at flashe en ZIP-opdateringspakke gennem sin lagergendannelse via ADB sideload. Forudsat at alt andet er konfigureret, som det skal, bør en almindelig OnePlus-enheds gendannelsesmiljø være sikkert mod angribere, der leverer enhver form for nyttelast ved hjælp af ADB. Desværre går alt ikke efter planen i tilfældet med OnePlus Nord 2.

Det viser sig, alle kan afføde en Android-fejlretningsskal med root-privilegium i gendannelsesmiljøet på OnePlus Nord 2. En af de kritiske fejlfindingsindstillinger fandt tilsyneladende vej til produktionsbygningerne, hvilket fører til denne fejl.

Udnytter fejlen på OnePlus Nord 2

Alt du skal gøre er at genstarte OnePlus Nord 2 til dens gendannelsestilstand. En angriber kan tage enheden og bruge en simpel hardwareknapkombination til at tvinge den til at gå til gendannelsestilstand. Faktisk er der ingen grund til at nå selve gendannelsesmenuen, da den sårbare sektion kommer før det. Kredit går til XDA Senior Member AndroPlus til påpege eksistensen af ​​denne fejl tilbage i oktober 2021.

  1. Mens telefonen er slukket, skal du trykke på lydstyrken ned og tænd/sluk-knapperne samtidigt, indtil du se OnePlus-logoet med et lille "RECOVERY MODE"-banner i nederste venstre hjørne af skærmen.
  2. Dernæst skal du se sprogvalgsskærmen. Ingen grund til at komme videre, da vi kan starte ADB-adgang lige herfra.
  3. Tilslut nu telefonen til en pc (eller Mac) ved hjælp af USB-kablet. Hvis du bruger Windows, kan du se en ny Android USB-fejlretningsgrænseflade dukker op i Enhedshåndtering. Du skal muligvis også installere en passende Android USB-driver før Windows kan genkende den nye enhed. Linux- og macOS-brugere kan på den anden side bruge lsusb kommando til at registrere tilstedeværelsen af ​​den nye hardwaregrænseflade.
  4. I betragtning af at du allerede har den nyeste version af ADB og Fastboot hjælpeprogrammer installeret på din pc/Mac, start en kommandoprompt/PowerShell/Terminal-instans og udfør følgende kommando:
    adb devices
    Den skal vise Nord 2 i gendannelsestilstand. Dette er også særligt interessant, da standard ADB-autorisationsprompten ikke er nødvendig her. Du får muligvis en "enhed uautoriseret" fejl, men at slette værts-pc'ens eksisterende ADB RSA-nøgledatabase og genstarte ADB-serveren skulle til sidst give dig mulighed for at få den autoriseret.
  5. Instruer nu adbd at køre som root:
    adb root
    Denne kommando kan tage lang tid, og du vil sandsynligvis få en timeout-fejl. Ikke desto mindre nu adbd skal køre som root.
  6. Til sidst skal du kontrollere privilegieniveauet for skallen ved hjælp af følgende kommando:
    adb shell whoami

Omfanget af fejlen

De potentielle misbrug af denne sikkerhedssårbarhed er skræmmende. Med et vellykket angreb på OnePlus Nord 2 kan en angriber dumpe hver partition på enheden. Som følge heraf er hele datapartitionen - inklusive filer gemt i de typisk utilgængelige private datamapper i applikationer - tilgængelig for angriberen. I tilfælde af at datapartitionen kom ud som krypteret (på grund af brugeren indstillede en PIN-kode eller adgangskode), kan dumpet stadig være nyttigt til retsmedicinsk analyse.

Ikke nok med det, du kan skubbe en eksekverbar til /data/local/tmp og køre det derfra. Dette er en klassisk angrebsvektor, som kan være nyttig til chainloading af en anden udnyttelse. Desuden, da du nu kan ringe til setprop værktøj som root til at ændre forskellige prop-værdier, kan du teknisk kapre nogle af de privilegerede OEM-specifikke variabler. Sidst men ikke mindst, selvom du ikke har udviklermuligheder låst op, vil telefonen automatisk bede om USB-fejlretningsadgang, efter du har påkaldt ADB i gendannelse og genstart til det almindelige Android-miljø, hvilket betyder, at sårbarhedens omfang ikke er begrænset til kun gendannelsessektionen kun.

Bemærk, at du ikke kan installere APK-filer ved hjælp af ADB i gendannelsesmiljøet på grund af det faktum, at Package Manager-værktøjet ikke er tilgængeligt der.

Hvordan tjekker man, om din OnePlus Nord 2 er påvirket? (Tip: Det er)

Som tidligere nævnt kan du udnytte denne sårbarhed på både den almindelige og den særlige Pac-Man-udgave af OnePlus Nord 2. I en nøddeskal, hvis du indtaster en rodskal (du ved, hvornår skalsymbolet ændres fra $ til #), så ved du, at fejlen er til stede.

Vi har med succes fået root shell-adgang på seneste offentlige indiske og europæiske OxygenOS-firmware til enheden, hvilket betyder hver eneste OnePlus Nord 2-enhed derude er sårbar på tidspunktet for skrivning af denne artikel.


Hvad er det næste?

Vi vil følge op på denne sag, når der kommer mere information. OnePlus afgav følgende erklæring om problemet:

Vi behandler privatliv og sikkerhed meget seriøst. Vi prioriterer denne sag, og vi deler en opdatering, så snart vi har mere information.

Selvom alt dette virker skræmmende, skal du huske på, at en angriber stadig skal have fysisk adgang til telefonen for at få root shell-adgang. Indtil OnePlus udruller en opdatering, der retter på sårbarheden, så prøv at holde din OnePlus Nord 2 væk fra fremmede. Selvom vi ikke er stødt på nogen tilfælde af ondsindet brug, kan man ikke udelukke en sådan mulighed, da sårbarheden har været i naturen i mindst 2 måneder nu.