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
zenfone9-root — Temporärer Root (uid 0) auf einem bootloader-gesperrten ASUS Zenfone 9 über CVE-2025-21479 + ein perf-basiertes Physical-Address-Leak. GPLv3. | Kitploit
Tools/GitHubGitHub/ramenfast/zenfone9-root
Android-SicherheitPrivilege EscalationSpeicherforensikSchwachstellenanalyseExploitationReverse EngineeringMobile SicherheitHardware-SicherheitPapers & ForschungBinary-Exploitation
GitHubramenfast/zenfone9-root
vor 3h 28mNoch 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

zenfone9-root

Temporärer Root (uid 0) auf einem bootloader-gesperrten ASUS Zenfone 9 über CVE-2025-21479 + ein perf-basiertes Physical-Address-Leak. GPLv3.

Repository anzeigen

zenfone9-root — temporärer Root auf einem bootloader-gesperrten ASUS Zenfone 9

Forschungscode und Notizen, um temporären Root (uid 0) auf einem ASUS Zenfone 9 (AI2202) zu erlangen, dessen Bootloader nicht entsperrt werden kann — weil ASUS sein Entsperr-Tool eingestellt, den OEM-Entsperr-Schalter aus den Entwickleroptionen entfernt hat und fastboot oem unlock / flashing unlock auf aktueller Firmware hart verweigert.

Dies ist keine Bootloader-Entsperrung und es wird nichts geflasht. Es ist ein Laufzeit-Root: eine Kette geräteseitiger Primitive, die damit endet, dass der aufrufende Prozess Root-Credentials hält. Ein Neustart löscht es.

Verifiziert auf: ASUS Zenfone 9 (AI2202), Android 14, Build 34.0304.2004.145, SPL 2024-07-05, Kernel 5.10.205-android12-9-00029-g3f12df86bfdb-ab11799032, SM8475 / Adreno 730, Bootloader gesperrt.

Autorisierung / Umfang. Alles hier läuft gegen ein Gerät, das der Betreiber besitzt, über eine autorisierte ADB-Verbindung. Kein Herstellerserver wird angegriffen, kein Signaturschlüssel oder Unlock-Token wird umgangen, und nichts wird in irgendeine Partition geschrieben. Das für die Entwicklung verwendete Telefon ist ein Ersatzgerät, gesichert und offline gehalten. Teste auf Hardware, die du besitzt und deren Verlust du dir leisten kannst.

Die Kette

Das Ergebnis ist uid 0 im SELinux-Kontext u:r:kernel:s0 (es erbt die SID von init_cred), also effektiv uneingeschränkt. SELinux muss für diesen Schritt Permissive sein — unter Enforcing wird der Prozess stattdessen getötet, weil der Credential-Austausch den SELinux-Hook umgeht.

Schnellstart

Setze zuerst ZF9_SERIAL auf deine Geräteseriennummer (alle Skripte lesen sie):

root@kitploit:~
export ZF9_SERIAL=<your-device-serial>
root@kitploit:~
# 0. one-time: build and push the device binaries (needs an Android NDK)
#    see scripts/ for the exact clang invocations used
adb push cheese_pa call_capset /data/local/tmp/

# 1. full cycle: SELinux -> permissive, patch, run a command as root, restore everything
scripts/root-now.sh id
scripts/root-now.sh sh        # root shell

Das Skript stellt stets den ursprünglichen Kernel-Text und den SELinux-Zustand wieder her (trap-geschützt) und verifiziert die Wiederherstellung durch Rücklesen.

Aktueller Status — ehrlich

  • Root ist bewiesen. Verifizierter Beleg: uid=0(root) gid=0(root) context=u:r:kernel:s0, capset(NULL,NULL) -> 0.
  • Erneutes Anwenden ist noch nicht vollständig zuverlässig. Das zugrunde liegende Primitiv ist ein Race (das TTBR0-Update gegen den Befehl, der es verwendet): Verliert man es, verursacht das einen GPU-Seitenfehler, und KGSL drosselt dann diesen Kontext (gpu fault threshold exceeded 3 faults in 3000 msecs), wonach weitere Befehle mit EPERM fehlschlagen. Beobachteter Patch-Erfolg variiert zwischen 13/13 und 2/13 Dwords über verschiedene Läufe.
  • Halte die GPU beschäftigt. Das Primitiv raced gegen einen GPU-Kontextwechsel: Derselbe 13-Dword-Patch verifizierte 0-2/13 Dwords bei einer untätigen GPU und 11-13/13 mit laufender screenrecord-Last. Die Skripte starten ihre eigene Last für jede Operation (auch Reads racen), führen aber niemals die Interna dieser Tools blank aus.
  • Eine teilweise gepatchte Funktion ist gefährlich (ein capset-Aufrufer kann Müll ausführen). Die Skripte schreiben die Einstiegsinstruktion zuletzt, verifizieren jedes Dword und stellen bei Fehlschlag wieder her — aber wenn ein Lauf degradiert, reboote, bevor du es erneut versuchst.
  • Keine Persistenz, keine Bootloader-Entsperrung. Custom-ROMs bleiben ohne ASUS unmöglich.

Sicherheitsregeln, die es wert sind, beibehalten zu werden: vor jedem Schreiben lesen, immer wiederherstellen, was gepatcht wurde, niemals einen injizierten Seitentabelleneintrag aktiv lassen, keinen sicheren/TZ-physischen Speicher berühren (er ist fatal) und rebooten, um einen degradierten Zustand wiederherzustellen. ROADMAP.md enthält die vollständige Liste der Fallstricke mit den Belegen für jeden.

Repository-Layout

root@kitploit:~
ROADMAP.md      durable handoff: verified constants, procedure, gotchas, open paths
STATUS.md       current state + verification receipts
src/            pa_leak.{c,h} · cheese.c · cheese_pa.c (workhorse: PROBE/POKE/SELFTEST/ROOT modes)
                call_capset.c · host_kallsyms.c (offline symbol resolver)
scripts/        root-now.sh · patch-dwords.sh · demo-root.sh · verify-backup.sh
tools/          btf_offsets.py

Firmware-Images, OTA-Pakete und Gerätelogs werden bewusst nicht eingecheckt (siehe .gitignore).

Danksagungen

  • zhuowei/cheese — der CVE-2025-21479 Proof of Concept, auf dem dieser Port aufbaut, plus sein kallsyms-Parser.
  • Qingizi7/cve-2025-21479_iqooneo8 — Laufzeit-Root- Kette auf demselben SoC (SM8475), die die Machbarkeit belegte.
  • Project Zero: Attacking the Qualcomm Adreno GPU — die ursprüngliche KGSL/SMMU-Forschung und ioctl-Definitionen.
  • Qualcomm June 2025 security bulletin — der Microcode-Fix, dem dieses Gerät um ~11 Monate vorausgeht (ASUS hat den Support eingestellt, also wird er nie landen).

Lizenz

GPLv3 — siehe LICENSE.

Tool herunterladen
StufeWas sie tutWo
1CVE-2025-21479 (Adreno KGSL): Ein SDS-Paket wird fälschlich als Ringbuffer-Paket klassifiziert, wodurch Userland CP_SMMU_TABLE_UPDATE ausgeben und die TTBR0 der GPU auf eine vom Angreifer gewählte physische Adresse zeigen lassen kannsrc/cheese.c
2Leak der physischen Adresse: perf_event_paranoid = -1 in diesem Build, sodass ein Hardware-Watchpoint auf einer Seite, die uns gehört, PERF_SAMPLE_PHYS_ADDR zurückgibt — die physische Adresse dieser Seite. Ersetzt das pagemap-Leak, auf das sich Upstream stützte (PFNs sind hier genullt)src/pa_leak.{c,h}
3Beliebiges physisches Lesen/Schreiben: Erstelle die gefälschte Seitentabelle an einer bekannten physischen Adresse (aus Stufe 2), sodass kein Spray-Lotteriespiel und keine wilden Walks nötig sindsrc/cheese_pa.c
4Root: Kernel-Symbole offline aus dem Firmware-Image auflösen, den KASLR-Slide auf dem Gerät ableiten, __do_sys_capset mit einem commit_creds(&init_cred)-Stub patchen, capset() aufrufensrc/call_capset.c, scripts/