
Temproot для Bravia TV через CVE-2019-2215.
Временный root для телевизоров Bravia через CVE-2019-2215.
Демонстрация атаки повышения привилегий только для чтения/записи памяти ядра, приводящей к временной root-оболочке.
Работает на телевизорах Sony Bravia под управлением прошивки Android 8 (PKG6.0724) с версией ядра 4.9.51.
Для работы этого инструмента на других устройствах и/или ядрах, затронутых той же уязвимостью, необходимо найти и изменить некоторые смещения. Как упоминается в багтрекере Project Zero, это не слишком сложно.
Этот инструмент и его исходный код предоставляются только для документальных и образовательных целей.
ИСПОЛЬЗОВАНИЕ ЭТОГО ИНСТРУМЕНТА МОЖЕТ ВЫВЕСТИ УСТРОЙСТВО ИЗ СТРОЯ. НЕ ПРОБУЙТЕ, ЕСЛИ НЕ ЗНАЕТЕ, ЧТО ДЕЛАЕТЕ.
# Скачайте Android NDK.
user@host:~$ wget https://dl.google.com/android/repository/android-ndk-r20b-linux-x86_64.zip
# Распакуйте NDK и укажите его путь как $ANDROID_NDK_HOME.
user@host:~$ unzip android-ndk-r20b-linux-x86_64.zip
user@host:~$ export ANDROID_NDK_HOME=~/android-ndk-r20b
# Клонируйте git-репозиторий `CVE-2019-2215` и перейдите в него.
user@host:~$ git clone https://github.com/LIznzn/CVE-2019-2215.git
user@host:~$ cd CVE-2019-2215
# Скомпилируйте бинарник.
user@host:~/CVE-2019-2215$ $ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang poc-bravia.c -static -o poc-bravia
# Отправьте бинарник на устройство.
user@host:~/CVE-2019-2215$ adb push ./poc-bravia /data/local/tmp/
# Используйте ADB Shell.
user@host:~/CVE-2019-2215$ adb shell
# Запустите.
BRAVIA_4K_UR1:/ $ cd /data/local/tmp
BRAVIA_4K_UR1:/data/local/tmp $ chmod 755 poc-bravia
BRAVIA_4K_UR1:/data/local/tmp $ ./poc-bravia