OnePlus Nord 2 ma lukę, która zapewnia dostęp do powłoki roota w ciągu kilku minut przy zablokowanym bootloaderze, bez czyszczenia danych

OnePlus Nord 2 ma lukę, która pozwala atakującemu uzyskać nieograniczony dostęp do powłoki roota. Czytaj dalej, aby dowiedzieć się więcej!

Wielu z nas w XDA-Developers zaczęło przeglądać fora po raz pierwszy, kiedy tego chcieliśmy zrootuj nasze urządzenia z Androidem. W tamtych czasach ludzie często polegali na metodach „rootowania jednym kliknięciem”: aplikacjach lub skryptach zawierających ładunki, których celem są znane luki w zabezpieczeniach istniejącego oprogramowania sprzętowego związane z eskalacją uprawnień, w celu uzyskania uprawnień roota dostęp. Dzięki ulepszeniom i zmianom w szyfrowaniu, uprawnieniach i obsłudze związanej z prywatnością nowoczesne urządzenia z Androidem są stosunkowo bezpieczne przed takimi wektorami ataków, ale zawsze pozostanie miejsce na wykorzystuje I luki w zabezpieczeniach.

OnePlus mógł ugruntować swoją pozycję wśród głównych producentów OEM Androida, ale jego telefony tak nie obcy Do wady bezpieczeństwa. Tym razem firma pozostawiła niezałataną dość interesującą (czytaj: niepokojącą) lukę w zabezpieczeniach

OnePlus Nord2 od czasu jego wydania. Chociaż wykorzystanie luki wymaga fizycznego dostępu do urządzenia, atakujący może to skutecznie zrobić uzyskać nieograniczoną powłokę root, zanim użytkownik będzie mógł w ogóle wprowadzić swoje dane uwierzytelniające. Warto zauważyć, że nowo wydany Edycja Pac-Mana Nord 2 również ma to wpływ.

Tło

W dzisiejszych czasach, gdy mówimy o dostępie do roota na smartfonie z Androidem, ludzie zwykle o tym myślą łatanie podstawowego obrazu rozruchowego za pomocą Magisk najpierw, a następnie flashowanie poprawionego obrazu na urządzeniu docelowym po odblokowaniu bootloadera. W ten sposób użytkownik końcowy może mieć nadzorowany dostęp do pliku binarnego „su” za pośrednictwem aplikacji zarządzającej. Kilka innych podejścia eksperymentalne istnieją, ale rzadko cieszą się tak dużym zainteresowaniem głównego nurtu.

Jednak jeśli chodzi o przedprodukcję, scenariusz jest zupełnie inny. Przygotowując oprogramowanie urządzenia, inżynierowie muszą mieć włączone różne parametry rejestrowania, w tym dostęp do konta root. Nawet na debugowanie użytkownika zbudować, demon mostu debugowania systemu Android (adbd) działa jako root, dzięki czemu można mieć uprzywilejowany dostęp do powłoki na potrzeby debugowania. Gdy oprogramowanie sprzętowe będzie gotowe do wysyłki, przed jego wdrożeniem należy wyłączyć wszystkie parametry debugowania.

Ale co się stanie, jeśli o tym zapomnisz? Zobaczymy, ponieważ oficjalne wydania OxygenOS dla OnePlus Nord 2 mają taką wadę.

OnePlus Nord 2 — luka w zabezpieczeniach powłoki roota

Niektórzy producenci OEM, tacy jak Samsung, oferują możliwość bocznego ładowania pakietów aktualizacji podczas odzyskiwania zapasów na urządzeniach detalicznych. W takim razie adbd binary działa ze znacznie wysokimi uprawnieniami podczas ładowania bocznego, ale zamyka się automatycznie po zakończeniu procesu aktualizacji. Poza tym w środowisku odzyskiwania dostarczonym przez producenta OEM nie jest dozwolony dostęp ADB.

OnePlus nie pozwala już użytkownikom na flashowanie pakietu aktualizacji ZIP poprzez odzyskiwanie zapasów za pośrednictwem sideload ADB. Zakładając, że wszystko inne jest skonfigurowane tak, jak powinno, środowisko odzyskiwania zwykłego urządzenia OnePlus powinno być bezpieczne przed atakującymi dostarczającymi wszelkiego rodzaju ładunki za pomocą ADB. Niestety w przypadku OnePlus Nord 2 nie wszystko idzie zgodnie z planem.

Jak się okazuje, każdy może uruchomić powłokę debugowania Androida z uprawnieniami roota w środowisku odzyskiwania OnePlus Nord 2. Jedno z krytycznych ustawień debugowania najwyraźniej trafiło do wersji produkcyjnej, co prowadzi do tej usterki.

Wykorzystanie luki w OnePlus Nord 2

Wszystko, co musisz zrobić, to ponownie uruchomić OnePlus Nord 2 w trybie odzyskiwania. Osoba atakująca może przejąć urządzenie i za pomocą prostej kombinacji przycisków sprzętowych wymusić na nim przejście do trybu odzyskiwania. W rzeczywistości nie ma potrzeby sięgania do menu odzyskiwania, ponieważ sekcja zawierająca luki znajduje się wcześniej. Kredyt trafia do starszego członka XDA AndroPlus Do wskazując istnienie tej usterki już w październiku 2021 r.

  1. Gdy telefon jest wyłączony, naciśnij jednocześnie przycisk zmniejszania głośności i przycisk zasilania, aż dojdziesz do siebie zobacz logo OnePlus z maleńkim banerem „TRYB ODZYSKIWANIA” w lewym dolnym rogu ekranu.
  2. Następnie powinieneś zobaczyć ekran wyboru języka. Nie ma potrzeby iść dalej, ponieważ możemy stąd zainicjować dostęp ADB.
  3. Teraz podłącz telefon do komputera PC (lub Mac) za pomocą kabla USB. Jeśli używasz systemu Windows, w Menedżerze urządzeń pojawi się nowy interfejs debugowania USB systemu Android. Może być również konieczne zainstalowanie odpowiedniego Sterownik USB dla Androida zanim system Windows rozpozna nowe urządzenie. Z drugiej strony użytkownicy Linuksa i macOS mogą korzystać z lsusb polecenie wykrycia obecności nowego interfejsu sprzętowego.
  4. Biorąc pod uwagę, że masz już najnowszą wersję ADB i Fastboot narzędzi zainstalowanych na komputerze PC/Mac, uruchom instancję wiersza poleceń/PowerShell/Terminal i wykonaj następujące polecenie:
    adb devices
    Powinien wyświetlić Nord 2 w trybie odzyskiwania. Jest to również szczególnie interesujące, ponieważ standardowy monit o autoryzację ADB nie jest tutaj potrzebny. Może pojawić się błąd „nieautoryzowane urządzenie”, ale wyczyszczenie istniejącej bazy danych kluczy ADB RSA komputera hosta i ponowne uruchomienie serwera ADB powinno ostatecznie pozwolić na jego autoryzację.
  5. Teraz poinstruuj adbd aby uruchomić jako root:
    adb root
    Wykonanie tego polecenia może zająć dużo czasu i prawdopodobnie zostanie wyświetlony komunikat o błędzie przekroczenia limitu czasu. Niemniej jednak, teraz adbd powinien działać jako root.
  6. Na koniec sprawdź poziom uprawnień powłoki za pomocą następującego polecenia:
    adb shell whoami

Rozmiar wady

Potencjalne nadużycia tej luki w zabezpieczeniach są przerażające. Po udanym ataku na OnePlus Nord 2 osoba atakująca może zrzucić każdą partycję urządzenia. W rezultacie cała partycja danych — łącznie z plikami przechowywanymi w zazwyczaj niedostępnych prywatnych katalogach danych aplikacji — jest dostępna dla atakującego. W przypadku, gdy partycja danych została zaszyfrowana (ze względu na ustawienie przez użytkownika kodu PIN lub hasła), zrzut może nadal być przydatny do analizy kryminalistycznej.

Co więcej, możesz przesłać plik wykonywalny do /data/local/tmp i uruchom go stamtąd. Jest to klasyczny wektor ataku, który może być przydatny do ładowania łańcuchowego innego exploita. Co więcej, ponieważ możesz teraz zadzwonić do setprop jako narzędzie root do modyfikowania różnych wartości właściwości, technicznie rzecz biorąc, możesz przejąć niektóre uprzywilejowane zmienne specyficzne dla OEM. I wreszcie, nawet jeśli nie masz odblokowanych opcji programistycznych, po wywołaniu telefon automatycznie wyświetli monit o dostęp do debugowania USB ADB w trakcie odzyskiwania i restartu do zwykłego środowiska Androida, co oznacza, że ​​zakres luki nie ogranicza się tylko do sekcji odzyskiwania tylko.

Pamiętaj, że nie możesz zainstalować plików APK przy użyciu ADB w środowisku odzyskiwania, ponieważ narzędzie Menedżer pakietów nie jest tam dostępne.

Jak sprawdzić, czy problem dotyczy Twojego OnePlus Nord 2? (Wskazówka: jest)

Jak wspomniano wcześniej, lukę tę można wykorzystać zarówno w zwykłej, jak i specjalnej edycji Pac-Man OnePlus Nord 2. W skrócie, jeśli wejdziesz do powłoki głównej (będziesz wiedział, kiedy zmieni się symbol powłoki $ Do #), wtedy będziesz wiedział, że wada występuje.

Pomyślnie uzyskaliśmy dostęp do powłoki roota na najnowsze publiczne indyjskie i europejskie oprogramowanie OxygenOS dla urządzenia, co znaczy każda dostępna jednostka OnePlus Nord 2 jest podatna na ataki w chwili pisania tego artykułu.


Co dalej?

Będziemy monitorować tę sprawę, gdy pojawi się więcej informacji. OnePlus wydał w tej sprawie następujące oświadczenie:

Bardzo poważnie podchodzimy do prywatności i bezpieczeństwa. Traktujemy tę sprawę priorytetowo i udostępnimy aktualizację, gdy tylko będziemy mieli więcej informacji.

Choć wszystko to wydaje się przerażające, należy pamiętać, że osoba atakująca nadal będzie musiała fizycznie uzyskać dostęp do telefonu, aby uzyskać dostęp do powłoki roota. Dopóki OnePlus nie wprowadzi aktualizacji usuwającej lukę, staraj się trzymać OnePlus Nord 2 z dala od obcych. Chociaż nie natknęliśmy się na żadne przypadki złośliwego użycia, nie można lekceważyć takiej możliwości, ponieważ luka ta występuje już od co najmniej 2 miesięcy.