OnePlus przypadkowo wstępnie zainstalował aplikację, która działa jak backdoor umożliwiający dostęp do konta root

click fraud protection

OnePlus pozostawił inżynieryjną aplikację testową Qualcomm, która działa jak backdoor zapewniający dostęp do roota w OnePlus 3, 3T i 5.

Aktualizacja: OnePlus wydał plik oficjalna odpowiedź do tej sprawy. W nadchodzącej aktualizacji usuną funkcję root ADB z EngineerMode.

Od odkrycia, że ​​OnePlus zbiera dane, minął nieco ponad miesiąc dane osobowe do celów analitycznych. Firma szybko zmieniła kurs i w aktualizacji obiecała większą przejrzystość, wyraźnie dając użytkownikom możliwość rezygnacji z analiz OxygenOS. Chociaż ta klęska została już zażegnana, dziś wieczorem kolejna podnosi swój okropny łeb. Użytkownik Twittera występujący pod pseudonimem „Elliota Aldersona" (nazwany na cześć głównego bohatera popularnego serialu telewizyjnego Pan Robot) odkrył, że OnePlus przypadkowo pozostawił aplikację do testów diagnostycznych wykonane przez Qualcomma. Po dekompilacji tej aplikacji odkrył, że tak może być wykorzystywane do przyznania dostępu do konta root, skutecznie działając jako backdoor.

Aplikacja nazywa się „EngineerMode” i jest w zasadzie aplikacją systemową stworzoną przez firmę Qualcomm i udostępniane producentom OEM, takim jak OnePlus, aby producenci OEM mogli łatwo przetestować wszystkie komponenty sprzętowe urządzenie. Aplikacja jest preinstalowana na wszystkich urządzeniach OnePlus 3, OnePlus 3T i OnePlus 5 i można do niej łatwo uzyskać dostęp za pośrednictwem dowolnego programu uruchamiającego aktywności, ponieważ wszystkie aktywności aplikacji są eksportowane.

Właściwie to my omawiał istnienie tej aplikacji kilka miesięcy temu, ale wtedy nie mieliśmy pojęcia, do czego można go użyć. Użytkownik Twittera dokonał dekompilacji aplikacji (jej źródło zostało udostępnione w sieci Tutaj) i znalazłem interesującą aktywność o nazwie DiagEnabled. W ramach działania wyróżniała się szczególnie jedna metoda: escalatedUp. Ta metoda akceptuje wartość logiczną (true/false) i ciąg znaków. Ciąg znaków jest hasłem sprawdzanym przez metodę przed ustawieniem właściwości systemu persist.sys.adbroot I oem.selinux.reload_policy do 1.

Pierwsza właściwość systemowa jest szczególnie interesująca, ponieważ pozwala użytkownikowi uruchomić ADB jako root. To natychmiast otwiera możliwość uzyskania pełnego dostępu do roota w telefonie – a wszystko to bez odblokowywania bootloadera. Jak więc dokładnie ustawić w aplikacji EngineerMode właściwości systemu na „1”?

@fs0c131y musiał znaleźć prawidłowe hasło do wysłania zamiaru, aby przekazać logikę w metodzie opublikowanej powyżej. Znalezienie tego hasła nie jest jednak zadaniem prostym. Zdekompilował bibliotekę odpowiedzialną za generowanie hasła (zwaną libdoor.so) i odkrył, gdzie znajdował się skrót hasła: /data/backup/fpwd. Hasło jest generowane na podstawie różnych właściwości kompilacji, takich jak ro.product.model I ro.product.brand i nie byłoby łatwo dokonać inżynierii wstecznej.

Na szczęście z pomocą Davida Weinsteina I Teraz bezpieczne na Twitterze odkrył hasło potrzebne EngineerMode w celu eskalacji ADB do uprawnień roota.

Wystarczy wysłać intencję w tym formacie:

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

gdzie com.android.engineeringmode/.qualcomm. DiagEnabled to nazwa komponentu działania DiagEnabled, które wykorzystujemy, „code” to nazwa ciągu, a „angela” to odpowiednia wartość hasła.

@fs0c131y twierdzi, że tak opublikować aplikację wkrótce to wyśle ​​zamiar podniesienia ADB do uprawnień roota, załatanie obrazu rozruchowego, aby wyłączyć dm-verity i zainstalować pliki binarne su. Obserwuj fora XDA, aby dowiedzieć się, kiedy zostanie opublikowana ta aplikacja root.

Dla użytkowników końcowych oznacza to, że możesz łatwo zrootuj OnePlus 3, OnePlus 3T i OnePlus 5 bez konieczności odblokowywania programu ładującego. Ten exploit nie pozwala jednak złośliwej aplikacji na przyznanie sobie dostępu do konta root, więc jeśli ktoś nie ma fizycznego dostępu do Twojego urządzenia w celu skonfigurowania ADB, jesteś bezpieczny przed wykorzystaniem.

Jeśli mimo wszystko chcesz uchronić się przed tym exploitem, możesz to zrobić odinstaluj aplikację od bieżącego użytkownika co zapobiegnie wysłaniu zamiaru do aplikacji EngineerMode. Po prostu użyj następującego polecenia w ADB:

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

Oczywiście nadal jest to uważane za exploit i mamy nadzieję, że OnePlus wkrótce to załata. Wszystko, co tak naprawdę musieliby zrobić, to usunąć tę aplikację z przyszłych kompilacji.


Aktualizacja 1: Hasło to „angela”

Użytkownik @fs0c131y opublikował aktualizację na swojej stronie na Twitterze, zawierającą hasło potrzebne do uzyskania dostępu do zrootowanej powłoki ADB. To hasło to...Angela. Dla tych z Was, którzy nie oglądają Pana Robota, Angela to imię jednego z bohaterów. Myślę, że w Qualcommie musi być wielu fanów Mr. Robota.

Jeśli wpiszesz polecenie, które opublikowałem powyżej w ADB, zauważysz, że ADB natychmiast się rozłącza, a serwer uruchomi się ponownie. Wejdź ponownie do ADB, a zauważysz, że jest to teraz zrootowana powłoka.


Aktualizacja 2: Jak wyprowadzono hasło

Firma zajmująca się bezpieczeństwem Now Secure opublikowała post na blogu szczegółowo opisujący, w jaki sposób uzyskała hasło potrzebne do wystąpienia tego exploita root. Pełny ich wpis można przeczytać tutaj.


Aktualizacja 3: Problem dotyczy większej liczby urządzeń

Ta najnowsza wiadomość nie powinna być zaskoczeniem, ale wydaje się, że exploit ten wpływa na więcej urządzeń. Dzieje się tak, ponieważ aplikacja EngineerMode jest aplikacją Qualcomm, więc możliwe jest, że inni producenci OEM pozostawili ją preinstalowaną na swoich urządzeniach. Do tej pory użytkownicy kontaktowali się z @fs0c131y na Twitterze, aby potwierdzić, że aplikacja jest zainstalowana niektóre urządzenia Asus Zenfone i Xiaomi. Możesz łatwo sprawdzić, czy Twoje urządzenie ma tę aplikację, przechodząc do Ustawień i sprawdzając, jakie aplikacje są zainstalowane.


Aktualizacja 4: Zrootowanie urządzenia

Teraz jest to możliwe, używając kilku poleceń w zrootowanej powłoce ADB wciśnij plik binarny su na swoje urządzenie. Korzystając z tego, możesz następnie zainstalować aplikację do zarządzania rootem, taką jak SuperSU, a następnie swobodnie przyznać uprawnienia roota innym aplikacjom. Wszystko bez odblokowywania bootloadera!


Aktualizacja 5: OnePlus odpowiada

OnePlus oficjalnie zareagował na sytuację. W post na blogufirma powtarza, że ​​tego exploita można użyć tylko wtedy, gdy osoba atakująca ma fizyczny dostęp do urządzenia i włączyła debugowanie USB. Aby włączyć debugowanie USB, osoba atakująca potrzebuje również kodu PIN/hasła urządzenia. Dlatego żadna aplikacja ani osoba nie może łatwo wykorzystać backdoora root, mimo to OnePlus rozwieje wątpliwości użytkowników, usuwając tę ​​funkcję z aplikacji EngineerMode.