
Temproot para Bravia TV mediante CVE-2019-2215.
Temproot para TV Bravia mediante CVE-2019-2215.
Demostración de un ataque de escalada de privilegios de solo lectura/escritura en memoria del kernel que resulta en un shell root temporal.
Funciona en dispositivos Sony Bravia TV que ejecutan el firmware Android 8 (PKG6.0724) con la versión del kernel 4.9.51.
Para que esta herramienta funcione en otros dispositivos y/o kernels afectados por la misma vulnerabilidad, es necesario encontrar y cambiar algunos offsets. Como se menciona en el rastreador de errores de Project Zero, esto no es terriblemente difícil.
Esta herramienta y su código fuente se ponen a disposición únicamente con fines documentales y educativos.
USAR ESTA HERRAMIENTA PUEDE DAÑAR SU DISPOSITIVO. NO LO INTENTE A MENOS QUE SEPAS LO QUE ESTÁS HACIENDO.
# 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