OnePlus Nord 2 har en sårbarhet som ger root-shell-åtkomst inom några minuter på en låst bootloader, utan att radera data

click fraud protection

OnePlus Nord 2 har en sårbarhet som gör att en angripare kan få obegränsad åtkomst till rotskalet. Läs vidare för att veta mer!

Många av oss här på XDA-Developers började ursprungligen surfa på forumen för första gången när vi var ute efter att rota våra Android-enheter. På den tiden förlitade sig folk ofta på "ettklicksrot"-metoder: Appar eller skript som innehöll nyttolaster som riktar sig mot kända sårbarheter med eskalering av rättigheter för den befintliga firmwaren för att få root tillgång. Med förbättringar och ändringar av kryptering, behörigheter och integritetsrelaterad hantering är moderna Android-enheter relativt säkra från sådana attackvektorer, men det kommer alltid att finnas utrymme för utnyttjar och sårbarheter.

OnePlus kan ha cementerat sitt namn bland de stora Android OEM, men det är dess telefoner ingen främling till säkerhetsbrister. Den här gången har företaget lämnat en ganska intressant (läs: oroande) sårbarhet olappad på OnePlus Nord 2 sedan den släpptes. Även om utnyttjandet av kryphålet kräver fysisk åtkomst till enheten, kan angriparen effektivt

få ett obegränsat rotskal innan användaren ens kan ange sina referenser. Särskilt den nyligen släppta Pac-Man-utgåvan av Nord 2 påverkas också.

Bakgrund

Nuförtiden, när vi pratar om att ha root-åtkomst på en Android-smarttelefon, brukar folk tänka på patcha stock boot-bilden med Magisk först och sedan blinka den korrigerade bilden till målenheten efter upplåsning av bootloader. På så sätt kan slutanvändaren ha övervakad åtkomst till "su"-binären via en managerapp. Ett par andra experimentella tillvägagångssätt finns, men de samlar sällan lika mycket vanlig användning.

När det kommer till förproduktion är scenariot dock helt annorlunda. Medan de förbereder den fasta programvaran för en enhet måste ingenjörerna ha olika loggningsparametrar aktiverade, inklusive root-åtkomst. Även på en userdebug bygga, Android Debug Bridge Daemon (adbd) körs som root, så att man kan ha privilegierad skalåtkomst för felsökningsändamål. När den fasta programvaran är klar för leverans måste alla dessa felsökningsparametrar stängas av innan den rullas ut.

Men vad händer om du glömmer att göra det? Vi kommer att se, eftersom de officiella OxygenOS-släppen för OnePlus Nord 2 kommer med ett sådant fel.

OnePlus Nord 2 -- Root Shell sårbarhet

Vissa OEM-tillverkare som Samsung erbjuder sidladdningskapacitet för uppdateringspaket i sin lageråterställning på detaljhandelsenheter. I så fall adbd binär körs med en avsevärt hög behörighet under sidladdning, men den stänger av sig själv så snart uppdateringsprocessen är klar. Utöver det är det ingen ADB-åtkomst tillåten i en OEM-försedd återställningsmiljö.

OnePlus tillåter inte längre användare att flasha ett ZIP-uppdateringspaket genom sin lageråterställning via ADB-sideload. Förutsatt att allt annat är konfigurerat som det ska, bör en vanlig OnePlus-enhets återställningsmiljö vara säker från angripare som levererar någon form av nyttolast med ADB. Tyvärr går inte allt enligt planerna i fallet med OnePlus Nord 2.

Som det visar sig, vem som helst kan skapa ett Android-felsökningsskal med root-privilegium i återställningsmiljön för OnePlus Nord 2. En av de kritiska felsökningsinställningarna tog sig uppenbarligen till produktionsbyggnaderna, vilket leder till detta fel.

Utnyttja felet på OnePlus Nord 2

Allt du behöver göra är att starta om OnePlus Nord 2 till dess återställningsläge. En angripare kan ta enheten och använda en enkel kombination av hårdvaruknappar för att tvinga den att gå till återställningsläge. I själva verket finns det inget behov av att nå den faktiska återställningsmenyn, eftersom den sårbara delen kommer före det. Kredit går till XDA Senior Member AndroPlus för pekar ut existensen av denna glitch redan i oktober 2021.

  1. Medan telefonen är avstängd trycker du ned volymen och strömknapparna samtidigt tills du se OnePlus-logotypen med en liten "ÅTERSTÄLLNINGSLÄGE"-banner längst ned till vänster på skärmen.
  2. Därefter bör du se språkvalsskärmen. Inget behov av att gå vidare, eftersom vi kan initiera ADB-åtkomst direkt härifrån.
  3. Anslut nu telefonen till en PC (eller Mac) med USB-kabeln. Om du använder Windows kan du se ett nytt Android USB-felsökningsgränssnitt dyker upp i Enhetshanteraren. Du kan också behöva installera en lämplig Android USB-drivrutin innan Windows kan känna igen den nya enheten. Linux- och macOS-användare, å andra sidan, kan använda lsusb kommando för att upptäcka närvaron av det nya hårdvarugränssnittet.
  4. Med tanke på att du redan har den senaste versionen av ADB och Fastboot verktyg installerade på din PC/Mac, starta en Command Prompt/PowerShell/Terminal-instans och kör följande kommando:
    adb devices
    Den bör lista Nord 2 i återställningsläge. Detta är också särskilt intressant, eftersom den vanliga ADB-auktoriseringsprompten inte behövs här. Du kan få ett felmeddelande om "otillåten enhet", men att radera värddatorns befintliga ADB RSA-nyckeldatabas och starta om ADB-servern bör så småningom tillåta dig att få den auktoriserad.
  5. Instruera nu adbd att köra som root:
    adb root
    Detta kommando kan ta lång tid och du kommer förmodligen att få ett timeout-fel. Ändå nu adbd ska köras som root.
  6. Slutligen, verifiera privilegienivån för skalet med följande kommando:
    adb shell whoami

Omfattningen av bristen

De potentiella missbruken av denna säkerhetssårbarhet är skrämmande. Med en framgångsrik attack på OnePlus Nord 2 kan en angripare dumpa varje partition av enheten. Som ett resultat är hela datapartitionen – inklusive filer som lagras i de vanligtvis otillgängliga privata datakatalogerna för applikationer – tillgänglig för angriparen. Om datapartitionen kom ut som krypterad (på grund av att användaren ställt in en PIN-kod eller lösenord), kan dumpningen fortfarande vara användbar för kriminalteknisk analys.

Inte bara det, du kan skjuta en körbar fil till /data/local/tmp och kör den därifrån. Detta är en klassisk attackvektor, som kan vara användbar för att kedjeladda en annan exploatering. Dessutom, eftersom du nu kan ringa till setprop verktyg som root för att ändra olika prop-värden, kan du tekniskt kapa några av de privilegierade OEM-specifika variablerna. Sist men inte minst, även om du inte har utvecklaralternativ upplåsta, kommer telefonen automatiskt att fråga om USB-felsökningsåtkomst efter att du anropar ADB i återställning och omstart till den vanliga Android-miljön, vilket innebär att sårbarhetens omfattning inte är begränsad till bara återställningssektionen endast.

Observera att du inte kan installera APK-filer med ADB i återställningsmiljön på grund av att verktyget Package Manager inte är tillgängligt där.

Hur kontrollerar du om din OnePlus Nord 2 är påverkad? (Tips: Det är det)

Som nämnts tidigare kan du utnyttja denna sårbarhet på både den vanliga och den speciella Pac-Man-utgåvan av OnePlus Nord 2. I ett nötskal, om du anger ett rotskal (du vet när skalsymbolen ändras från $ till #), då vet du att felet är närvarande.

Vi har framgångsrikt fått tillgång till root-skal på senaste offentliga indiska och europeiska OxygenOS-firmware för enheten, som betyder varenda OnePlus Nord 2-enhet där ute är sårbar vid tidpunkten för att skriva denna artikel.


Vad kommer härnäst?

Vi kommer att följa upp detta ärende när mer information blir tillgänglig. OnePlus lämnade följande uttalande om frågan:

Vi tar integritet och säkerhet på största allvar. Vi prioriterar detta ärende och vi kommer att dela en uppdatering så snart vi har mer information.

Även om allt detta verkar skrämmande, kom ihåg att en angripare fortfarande kommer att behöva fysiskt komma åt telefonen för att få åtkomst till root-skalet. Tills OnePlus rullar ut en uppdatering som korrigerar sårbarheten, försök att hålla din OnePlus Nord 2 borta från främlingar. Även om vi inte har stött på några fall av skadlig användning, kan man inte utesluta en sådan möjlighet eftersom sårbarheten har funnits i naturen i minst 2 månader nu.