Pikalinkit
- Edellytykset
- Kuinka hyödyntää mitä tahansa Samsung Galaxy -laitetta päästäksesi järjestelmän kuoreen
- Todentaminen
- Johtopäätös
Google julkaisee jokaisen kuukauden ensimmäisenä maanantaina Android-tietoturvatiedote. Se paljastaa kaikki Android-käyttöjärjestelmän eri osien suojaushaavoittuvuudet sekä Googlen itsensä tai muiden kolmansien osapuolien siihen lähettämät Linux-ytimen ja niiden korjaustiedostot Päivämäärä. Suurilla OEM-valmistajilla, kuten Samsungilla, on oma näkemyksensä Androidista, joten he päättävät sisällyttää omat korjaustiedostonsa ja päivityksensä myös tietoturvapäivityksiin.
Näin sanottuna on melko vaikeaa huolehtia jokaisesta porsaanreiästä. Hyökkäysvektoreita on lukuisia, ja joskus voit luoda oman hyväksikäyttöketjusi niiden perusteella aiemmin tunnettu haavoittuvuus vain siksi, että sinulla on uusi tapa kiertää jokin niistä suojatoimia. Tämä on juuri XDA: n vanhempi jäsen K0mraid3 teki neljä vuotta vanhan haavoittuvuuden, jonka ansiosta hän sai pääsyn kaikkiin Samsung Galaxy -laitteisiin - mukaan lukien uusimpiin lippulaiva - laitteisiin. Vaikka se ei ole sama kuin
jolla on pääkäyttäjän oikeudet, se on riittävän korkea paikallinen oikeuksien eskalaatio.Haavoittuvuuden ensisijainen sisääntulokohta on Samsung Text-To-Speech (paketin nimi: com.samsung. SMT), esiladattu järjestelmäsovellus, joka löytyy jokaisesta Samsung Galaxy -laitteesta. Ajatuksena on päivittää sovelluksen asennettu versio tiettyyn haavoittuvaan koontiversioon (v3.0.02.2 tarkemmin) ja pakota se sitten lataamaan kirjasto, joka puolestaan avaa komentotulkin, jolla on järjestelmäoikeudet (UID 1000).
Jos haluat tietää lisää hyväksikäytöstä, muista tarkistaa se XDA: n johtava tekninen toimittaja Adam Conwayn selittäjä. Hän puhui K0mraid3:lle ymmärtääkseen tämän hyväksikäytön koko laajuuden ja sen toimivuuden.
- Toistan vielä, että tämä ei ole pääkäyttäjän (UID 0) käyttöoikeus, mutta järjestelmän kuoren käyttöoikeus on tarpeeksi tehokas suorittamaan joukon muuten rajoitettuja binaareja.
- K0mraid3:n proof of concept vaatii apu-APK: n, ja sinun on suoritettava se vähintään kerran ennen hyväksikäyttöketjun käynnistämistä.
- Yksi käyttöliittymä, eli Samsungin mukautetun Android-skin sisäänrakennetut virransäästörutiinit voivat olla hankalia, koska ne voivat haitata TTS-sovelluksen, apu-APK: n ja kuoren välistä viestintää. Siksi suosittelemme, että asetat sovellusten virransäästöprofiiliksi etukäteen "Rajoittamaton".
Edellytykset
- Lataa hyväksikäytön esikäännetty versio osoitteesta XDA foorumin ketju tai alla linkitetty virallinen GitHub-arkisto: K0mraid3s System Shell Exploit
- Pura arkisto jostain ja sinun pitäisi löytää Samsung Text-To-Speech APK: n haavoittuva versio (samsungTTSVULN2.apk), apusovellus (Komraid3s_POC_Vx.x.apk) ja Windows-suoritustiedosto nimeltä systemhell-vx.x.exe.
- Varmista, että uusin versio ADB on asennettu PC-/Mac-/Chromebook-tietokoneellesi. Muista myös asenna/päivitä Samsungin USB-ajurit jos olet Windows-käyttäjä.
Kuinka hyödyntää mitä tahansa Samsung Galaxy -laitetta päästäksesi järjestelmän kuoreen
Manuaalinen menetelmä
- Liitä kohde Galaxy -laite tietokoneeseesi USB-virheenkorjauksen ollessa päällä, varmista, että ADB löytää sen, ja asenna sitten apusovellus.
adb install Komraid3s_POC_Vx.x.apk
- Kuten aiemmin mainittiin, avaa apusovellus ainakin kerran ennen kuin siirryt seuraavaan vaiheeseen.
- Työnnä nyt Samsung TTS -sovelluksen haavoittuva versio hakemistoon /data/local/tmp ja muuta sen käyttöoikeuksia:
adb push samsungTTSVULN2.apk /data/local/tmp
adb shell chmod 777 /data/local/tmp/samsungTTSVULN2.apk
- Käynnistä laite uudelleen. Heti kun olet aloitusnäytöllä, suorita seuraava komento korvataksesi Samsung TTS -sovelluksen jo asennetun version haavoittuvalla:
adb shell pm install -r -d -f -g --full --install-reason 3 --enable-rollback /data/local/tmp/samsungTTSVULN2.apk
- Jos kaikki menee oikein, sinun pitäisi nähdä "Onnistuminen" -viesti konsolissa.
- Avaa kohdelaitteessa oleva komentotulkki avaamalla toinen pääteikkuna ja suorittamalla adb-kuori, suorita Netcat-binaari ja kuuntele tulevaa yhteyttä 9997-portissa seuraavalla komennolla:
adb shell nc -lp 9997
- Tässä vaiheessa meidän on suoritettava tietty Samsung TTS -sovelluksen toiminto, joka avaa järjestelmäkuoren meille.
- Käytä kolmannen osapuolen sovellusta, kuten Tämä luodaksesi pikakuvakkeen "com.samsung. SMT/.gui. DownloadList” -toimintaa.
- Voit myös käyttää Androidin omaa aktiviteettihallintaa (am) tehdäksesi saman. Siinä tapauksessa voit suorittaa sen ADB: n kautta (adb shell am start -n com.samsung. SMT/.gui. DownloadList) tai käytä pääteemulaattorisovellusta puhelimessasi/tabletissasi, kuten Termux, ja suorita seuraava komento:
am start -n com.samsung.SMT/.gui.DownloadList
- Vaihda takaisin ensimmäiseen kuoreen, ja sinun pitäisi nähdä uusi kehote, jossa on järjestelmä (UID 1000) -oikeudet.
Automatisoitu menetelmä
Asioiden helpottamiseksi K0mraid3 tarjoaa myös helppokäyttöisen GUI-sovelluksen useimpien tehtävien automatisoimiseksi. Muista, että GUI-sovellus on vain Windows-käyttöinen, joten jos olet Linux-/macOS-käyttäjä, on parempi pysyä manuaalisessa menetelmässä.
- Liitä kohde Galaxy -laite tietokoneeseesi USB-virheenkorjauksen ollessa päällä, varmista, että ADB löytää sen, ja asenna sitten apusovellus.
adb install Komraid3s_POC_Vx.x.apk
- Kuten aiemmin mainittiin, avaa apusovellus ainakin kerran ennen kuin siirryt seuraavaan vaiheeseen.
- Kun ADB löytää kohdelaitteen, suorita isäntätietokoneessa Systemhell-vx.x.exe.
- Napsauta "START SHELL" -painiketta. Sovellus päivittää automaattisesti Samsung TTS -sovelluksen ja yrittää avata järjestelmän kuoren.
- Saatat nähdä puhelimessasi/tabletissasi TTS-sovelluksen, joka kehottaa sinua lataamaan äänidatan. Sinun ei tarvitse olla vuorovaikutuksessa näiden vaihtoehtojen kanssa, koska niillä ei ole mitään tekemistä hyväksikäytön kanssa.
- Jos sovellus jumiutuu tai ei avaa shell-ikkunaa jonkin ajan kuluttua, sulje se, käynnistä Galaxy-kohdelaite uudelleen ja aloita alusta.
- Galaxy Store -sovellus voi automaattisesti päivittää ja/tai nollata TTS-sovelluksen virransäästöprofiilin taustalla, joten muista tarkistaa se ennen kuin aloitat prosessin alusta.
Todentaminen
Kun sinulla on shell-käyttöoikeus, voit tarkistaa käyttöoikeustason jollakin alla olevista komennoista:
-
whoami
- Lähdön tulee olla "järjestelmä"
-
id -u
- Tulosteen tulee olla "1000"
Johtopäätös
Tyypillinen tapa päästä pääkäyttäjän oikeuksiin Android-laitteella on avata ensin käynnistyslatain, jonka avulla voit käynnistää kolmannen osapuolen binaaritiedostoja. Koska Androidin suojausmalli pohjimmiltaan hajoaa rootin kanssa, tämä vaihe on tarkoituksellisesti poistanut käytöstä yhden laitteen tärkeimmistä suojausominaisuuksista, joka Tästä syystä käyttäjän on nimenomaisesti annettava sen tapahtua ottamalla tyypillisesti käyttöön Developer Options -valinnan vaihto ja antamalla sitten lukituksen avauskomento käynnistyksenlataaja. Kun käynnistyslataimen lukitus on avattu, käyttäjä voi tuoda järjestelmään superkäyttäjäbinaarin ja myös pääkäyttäjän hallintasovelluksen (kuten Magisk) valvomaan, millä prosesseilla on pääsy pääkäyttäjään.
Yllä mainitun järjestelmän kuoren hyväksikäytön avulla käyttäjän ei kuitenkaan tarvitse avata käynnistyslataimen lukitusta saadakseen laajennetun käyttöoikeuden. Vaikka se on kaukana pääkäyttäjästä, "järjestelmä"-käyttäjä kykenee käyttämään useita matalan tason osioita (esim. nimellä /efs), käynnistää erilaisia palvelu- ja virheenkorjaustyökaluja ja muuttaa monia suojattuja tukiarvoja - kaikki ilman edes laukaisua Knox. Nämä esimerkit koskevat vain muutamia tapoja; pahantahtoinen toimija voi yhdistää tämän muihin haavoittuvuuksiin ja keksiä ilkeämpiä toimia.
Meidän on odotettava ja katsottava, kuinka Google ja Samsung käsittelevät skenaariota. Joka tapauksessa sinun pitäisi luultavasti poistaa käytöstä tai poistaa Samsung Text-To-Speech -sovellus toistaiseksi.