OnePlus Nord 2 heeft een kwetsbaarheid die binnen enkele minuten rootshell-toegang verleent op een vergrendelde bootloader, zonder gegevens te wissen

De OnePlus Nord 2 heeft een kwetsbaarheid waardoor een aanvaller onbeperkte toegang tot de rootshell kan krijgen. Lees verder om meer te weten!

Velen van ons hier bij XDA-Developers begonnen oorspronkelijk voor het eerst op de forums te surfen toen we op zoek waren naar root onze Android-apparaten. In die tijd vertrouwden mensen vaak op ‘one-click root’-methoden: apps of scripts die payloads die zich richten op bekende escalatiekwetsbaarheden van de bestaande firmware om root te krijgen toegang. Met verbeteringen en wijzigingen op het gebied van encryptie, machtigingen en privacygerelateerde afhandeling zijn moderne Android-apparaten relatief veilig voor dergelijke aanvalsvectoren, maar er zal altijd ruimte blijven voor exploits En kwetsbaarheden.

OnePlus heeft zijn naam misschien wel gevestigd onder de grote Android-OEM's, maar zijn telefoons zijn dat wel geen vreemde naar beveiligingsfouten. Deze keer heeft het bedrijf een nogal interessante (lees: zorgwekkende) kwetsbaarheid op de computer ongepatcht gelaten

OnePlus Nord 2 sinds de release ervan. Hoewel het misbruiken van de maas in de wet fysieke toegang tot het apparaat vereist, kan de aanvaller dit effectief doen een onbeperkte rootshell verkrijgen voordat de gebruiker zelfs maar zijn inloggegevens kan invoeren. Met name de nieuw uitgebrachte Pac-Man-editie van de Nord 2 wordt ook beïnvloed.

Achtergrond

Als we het tegenwoordig hebben over root-toegang op een Android-smartphone, denken mensen daar meestal aan de stock-boot-image patchen met Magisk eerst en vervolgens het gepatchte beeld naar het doelapparaat flashen na het ontgrendelen van de bootloader. Op die manier kan de eindgebruiker gecontroleerde toegang krijgen tot het binaire bestand "su" via een manager-app. Nog een paar experimentele benaderingen bestaan, maar ze verzamelen zelden zoveel mainstream gebruik.

Als het om pre-productie gaat, is het scenario echter heel anders. Tijdens het voorbereiden van de firmware van een apparaat moeten de technici verschillende logparameters hebben ingeschakeld, inclusief root-toegang. Zelfs op een gebruikersdebug bouwen, draait de Android Debug Bridge Daemon (adbd) als root, zodat men geprivilegieerde shell-toegang kan hebben voor foutopsporingsdoeleinden. Wanneer de firmware klaar is voor verzending, moeten al deze foutopsporingsparameters worden uitgeschakeld voordat deze wordt uitgerold.

Maar wat gebeurt er als u dit vergeet? We zullen zien, aangezien de officiële OxygenOS-releases voor de OnePlus Nord 2 zo'n fout bevatten.

OnePlus Nord 2 -- Root Shell-kwetsbaarheid

Sommige OEM's, zoals Samsung, bieden sideloading-mogelijkheden voor updatepakketten in hun voorraadherstel op retailapparaten. In dat geval is de adbd binary draait met een aanzienlijk hoog privilege tijdens het sideloaden, maar sluit zichzelf af zodra het updateproces is voltooid. Verder is er geen ADB-toegang toegestaan ​​in een door OEM geleverde herstelomgeving.

OnePlus staat gebruikers niet langer toe een update-ZIP-pakket te flashen via het voorraadherstel via ADB-sideload. Ervan uitgaande dat al het andere is geconfigureerd zoals het hoort, zou de herstelomgeving van een normaal OnePlus-apparaat veilig moeten zijn tegen aanvallers die enige vorm van payload leveren met behulp van ADB. Helaas verloopt niet alles volgens plan in het geval van de OnePlus Nord 2.

Zoals het blijkt, iedereen kan een Android-foutopsporingshell met rootrechten spawnen in de herstelomgeving van de OnePlus Nord 2. Een van de kritische foutopsporingsinstellingen heeft blijkbaar zijn weg gevonden naar de productiebuilds, wat tot deze storing leidt.

Het misbruiken van de fout op de OnePlus Nord 2

Het enige wat je hoeft te doen is de OnePlus Nord 2 opnieuw op te starten naar de herstelmodus. Een aanvaller kan het apparaat pakken en een eenvoudige combinatie van hardwareknoppen gebruiken om het naar de herstelmodus te dwingen. In feite is het niet nodig om het daadwerkelijke herstelmenu te bereiken, omdat het kwetsbare gedeelte daarvoor komt. Krediet gaat naar XDA Senior Member AndroPlus voor erop wijzen het bestaan ​​van deze storing in oktober 2021.

  1. Terwijl de telefoon is uitgeschakeld, drukt u tegelijkertijd op de knoppen Volume omlaag en Aan/uit totdat u zie het OnePlus-logo met een minuscule "RECOVERY MODE"-banner in de linkerbenedenhoek van het scherm.
  2. Vervolgens zou u het taalselectiescherm moeten zien. U hoeft niet verder te gaan, omdat we vanaf hier ADB-toegang kunnen initiëren.
  3. Sluit nu de telefoon aan op een pc (of Mac) met behulp van de USB-kabel. Als u Windows gebruikt, ziet u een nieuwe Android USB-foutopsporingsinterface verschijnen in Apparaatbeheer. Mogelijk moet u ook een geschikt Android USB-stuurprogramma voordat Windows het nieuwe apparaat kan herkennen. Linux- en macOS-gebruikers kunnen daarentegen de lsusb commando om de aanwezigheid van de nieuwe hardware-interface te detecteren.
  4. Aangezien u al over de nieuwste versie beschikt ADB en Fastboot hulpprogramma's die op uw pc/Mac zijn geïnstalleerd, start een opdrachtprompt/PowerShell/Terminal-instantie en voer de volgende opdracht uit:
    adb devices
    Het zou de Nord 2 in herstelmodus moeten vermelden. Dit is ook bijzonder interessant, omdat de standaard ADB-autorisatieprompt hier niet nodig is. Mogelijk krijgt u de foutmelding 'apparaat niet geautoriseerd', maar door de bestaande ADB RSA-sleuteldatabase van de host-pc te wissen en de ADB-server opnieuw op te starten, kunt u deze uiteindelijk geautoriseerd krijgen.
  5. Geef nu instructies adbd uitvoeren als root:
    adb root
    Deze opdracht kan lang duren en u krijgt waarschijnlijk een time-outfout. Toch nu adbd zou als root moeten draaien.
  6. Controleer ten slotte het privilegeniveau van de shell met behulp van de volgende opdracht:
    adb shell whoami

De omvang van de fout

Het potentiële misbruik van dit beveiligingsprobleem is beangstigend. Bij een succesvolle aanval op de OnePlus Nord 2 kan een aanvaller elke partitie van het toestel dumpen. Als gevolg hiervan is de volledige gegevenspartitie – inclusief bestanden die zijn opgeslagen in de doorgaans ontoegankelijke privégegevensmappen van applicaties – toegankelijk voor de aanvaller. Als de gegevenspartitie versleuteld naar buiten komt (omdat de gebruiker een pincode of wachtwoord heeft ingesteld), kan de dump nog steeds nuttig zijn voor forensische analyse.

Niet alleen dat, u kunt er ook een uitvoerbaar bestand naartoe pushen /data/local/tmp en voer het vanaf daar uit. Dit is een klassieke aanvalsvector, die handig kan zijn voor het ketenladen van een andere exploit. Bovendien, aangezien u nu de setprop utility als root gebruikt om verschillende prop-waarden te wijzigen, kunt u technisch gezien enkele van de bevoorrechte OEM-specifieke variabelen kapen. Last but not least: zelfs als de ontwikkelaarsopties niet zijn ontgrendeld, zal de telefoon automatisch vragen om toegang tot USB-foutopsporing nadat u een beroep doet ADB in herstel en opnieuw opstarten naar de normale Android-omgeving, wat betekent dat de omvang van de kwetsbaarheid niet beperkt is tot alleen het herstelgedeelte alleen.

Houd er rekening mee dat u geen APK-bestanden kunt installeren met ADB in de herstelomgeving, omdat het hulpprogramma Pakketbeheer daar niet toegankelijk is.

Hoe controleer je of jouw OnePlus Nord 2 getroffen is? (Hint: dat is het)

Zoals eerder vermeld kun je deze kwetsbaarheid misbruiken op zowel de reguliere als de speciale Pac-Man editie van de OnePlus Nord 2. In een notendop: als u een root-shell invoert (u weet wanneer het shell-symbool verandert van $ naar #), dan weet je dat de fout aanwezig is.

We hebben met succes root-shell-toegang verkregen op de nieuwste openbare Indiase en de Europese OxygenOS-firmware voor het apparaat, wat betekent elke afzonderlijke OnePlus Nord 2-eenheid die er is, is kwetsbaar op het moment dat dit artikel wordt geschreven.


Wat is het volgende?

We zullen deze kwestie opvolgen zodra er meer informatie beschikbaar komt. OnePlus gaf de volgende verklaring over de kwestie:

Wij behandelen privacy en veiligheid zeer serieus. We geven prioriteit aan deze kwestie en we zullen een update delen zodra we meer informatie hebben.

Hoewel dit allemaal eng lijkt, moet je er rekening mee houden dat een aanvaller nog steeds fysieke toegang tot de telefoon nodig heeft om toegang te krijgen tot de rootshell. Totdat OnePlus een update uitrolt die de kwetsbaarheid verhelpt, probeer je OnePlus Nord 2 uit de buurt van vreemden te houden. Hoewel we geen gevallen van kwaadwillig gebruik zijn tegengekomen, kan deze mogelijkheid niet worden uitgesloten, aangezien de kwetsbaarheid nu al minstens twee maanden in het wild aanwezig is.