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

click fraud protection

Быстрые ссылки

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

В первый понедельник каждого месяца Google публикует Бюллетень по безопасности Android. Он раскрывает все устраненные уязвимости безопасности в различных компонентах ОС Android, как а также ядро ​​Linux и его исправления, предоставленные самой Google или другими третьими лицами. дата. Крупные OEM-производители, такие как Samsung, имеют свой собственный взгляд на Android, поэтому они также предпочитают включать свои собственные исправления и обновления в обновления безопасности.

С учетом вышесказанного, довольно сложно позаботиться о каждой лазейке. Существует множество векторов атак, и иногда вы можете создать собственную цепочку эксплойтов на основе ранее известную уязвимость только потому, что у вас есть новый метод обхода одной из гарантии. Это именно то, что говорит старший участник XDA. 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. Убедитесь, что установлена ​​последняя версия АБР установлено на вашем ПК/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 (adbshell am start -n com.samsung. SMT/.gui. DownloadList) или используйте приложение-эмулятор терминала на своем телефоне/планшете, например Termux, и выполните следующую команду:
      am start -n com.samsung.SMT/.gui.DownloadList
  6. Вернитесь к первой оболочке, и вы увидите новое приглашение с системными привилегиями (UID 1000).

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

Чтобы упростить задачу, K0mraid3 также предоставляет простое в использовании приложение с графическим интерфейсом для автоматизации большинства задач. Имейте в виду, что приложение с графическим интерфейсом предназначено только для Windows, поэтому, если вы пользователь Linux/macOS, лучше придерживаться ручного метода.

  1. Подключите целевое устройство Galaxy к компьютеру с включенной отладкой по USB, убедитесь, что ADB обнаруживает его, а затем установите вспомогательное приложение.
    adb install Komraid3s_POC_Vx.x.apk
    • Как упоминалось ранее, откройте вспомогательное приложение хотя бы один раз, прежде чем переходить к следующему шагу.
  2. Когда ADB обнаружит целевое устройство, запустите systemshell-vx.x.exe на хост-компьютере.
  3. Нажмите кнопку «НАЧАТЬ 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.