Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
mali-pagecache-root — TCL 50C721 (RTD1319 / Mali-G31) Root-Toolkit — autonome CVE-2022-22706-Exploit-Kette | Kitploit
Tools/GitLabGitLab/c4psu13/mali-pagecache-root
Android-SicherheitEmbedded-System-SicherheitPrivilege EscalationPersistenzmechanismenExploitationShellcodePost-ExploitationHardware- & IoT-SicherheitPayload-EntwicklungBinary-Exploitation
GitLab
2vor 1 TagNoch 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
c4psu13/mali-pagecache-root

mali-pagecache-root

TCL 50C721 (RTD1319 / Mali-G31) Root-Toolkit — autonome CVE-2022-22706-Exploit-Kette

Repository anzeigen

TCL 50C721 Rooting-Toolkit

Vollständige Root-Exploit-Kette und Post-Root-Toolkit für tethered Root, SELinux Permissive, Werbeblockierung, Debloat und automatisierte Backups auf einer TCL-Android-TV-Firmware. Dies ist firmwarespezifische Forschung und Tooling, kein universelles TCL-Root-Tool und kein unterstützter Installer.

Getesteter Umfang

ElementErfasste Testeinheit
TVTCL QLED 50C721 / BeyondTV6
FirmwareV8-R51MT02-LF1V903, Build AR10
Android / KernelAndroid 11 / 4.14.198+
SoC / GPURealtek RTD1319 / Mali-G31 (Bifrost, kbase r28p0)
Userspace32-Bit ARMv7
Gemeldeter Sicherheits-Patch2024-03-05
Historisches ErgebnisADB-Shell mit uid=0; SELinux Permissive

Nur diese Modell-/Firmware-Kombination hat ein dokumentiertes erfolgreiches Ergebnis. Die exakte SoC-Identifikation und die Mali-Treiber-Revision sind in den Originalaufzeichnungen inkonsistent; siehe Kompatibilitätsgrenzen. Bei der Vorbereitung dieses Quellcode-Release wurde kein frischer Rooting-Test durchgeführt.

Was es tut

Exploit-Kette (auto_root)

Das autonome Root-Binary (auto_root.c) erlangt uid=0 aus einem unprivilegierten App-Kontext in unter 2 Sekunden:

  1. Phase 1 — CVE-2022-22706 (Mali-GPU-Page-Cache-Schreibzugriff): Importiert ein MAP_SHARED-Mapping der __cxa_atexit-Seite von libc.so als GPU-User-Buffer über KBASE_IOCTL_MEM_IMPORT. Verwendet mremap(MREMAP_FIXED), um das Datei-Mapping zu ersetzen. Schreibt 112-Byte-Thumb-2-Shellcode über __cxa_atexit in den Page-Cache (Datei auf dem Datenträger unverändert — dm-verity-geschützt).

  2. Phase 3 — Natürlicher Trigger: Jeder neue C++-Prozess ruft während der CRT-Initialisierung __cxa_atexit() auf und führt so den Shellcode aus. Eine privilegierte Domain (audioserver, rtkm_scene) mappt die physische Seite 0x1DE7000 über /dev/rtkmem und schreibt selinux_state.enforcing = 0.

  3. Phase 4a — Direkte Credential-Modifikation: Mit SELinux Permissive wird die verkettete Liste der Kernel-task_struct über physische Speicherlesezugriffe durch /dev/rtkmem durchlaufen. Findet unseren Prozess durch Abgleich von comm[], überschreibt die cred-Struktur mit uid=0 und vollen Capabilities aus init_cred. Löscht TIF_SECCOMP, um den BPF-seccomp-Filter des zygote zu umgehen.

  4. Phase 4b — System-Härtung: Bind-mountet werbeblockierende hosts, entfernt iptables-Regeln, die Telemetrie-IPs blockieren, deaktiviert 28 Bloatware-Pakete, gewährt APP_AUTO_START für Boot-Persistenz, deaktiviert den Shellcode, setzt SELinux wieder auf Enforcing.

Eigenständige Stufen

Die beiden eigenständigen Programme (root_cve22706.c, libc_rtkmem_patch2.c) implementieren dieselbe CVE-2022-22706-Page-Cache-Schreibprimitive als separate Tethered-Root-Stufen, nützlich für manuelles ADB-Rooting und zum grundlegenden Verständnis des Exploits.

Skripte

  • scripts/root.sh — ADB-Automatisierung: verbindet mit dem TV, führt beide eigenständigen Stufen aus, verifiziert Root- und SELinux-Status.
  • scripts/post_root.sh — Post-Root-Hook, der von auto_root nach der Härtung aufgerufen wird. Erstellt vollständige Geräte-Backups: sideloaded APKs, App-Daten, WiFi-Konfiguration, alle Einstellungen, Paketlisten. Bereinigt automatisch auf die 5 neuesten Backups.

Enthalten

  • Technische Zusammenfassung: Kette, Nebenwirkungen und Grenzen der Nachweisführung.
  • Nativer Quellcode und Build-Hinweise: autonomes Root + zwei eigenständige Stufen; keine vorkompilierten Executables.
  • Kompatibilitätsgrenzen: was vor der Betrachtung eines anderen Geräts geklärt werden muss.
  • Wiederherstellungshinweise: modellspezifische historische USB-Wiederherstellung und Warnungen.
  • Kernel-Quellcode-Auszug: unterstützende Analyse, keine Build-Abhängigkeit.

Es ist kein APK oder reproduzierbares APK-Anwendungsprojekt enthalten; es gibt hier kein Install-once-Automatic-Boot-Release. Das autonome Root-Binary ist dafür ausgelegt, aus dem nativen Code einer APK aufgerufen zu werden, aber der APK-Wrapper ist nicht Teil dieses Release.

Schnellstart

# Build (requires Android NDK)
cd exploit && make

# Push to TV
adb connect <TV_IP>:5555
adb push bin/auto_root /data/local/tmp/
adb push bin/root_cve22706 /data/local/tmp/
adb push bin/libc_rtkmem_patch2 /data/local/tmp/

# Option A: Run the autonomous chain (includes hardening + backup)
adb shell /data/local/tmp/auto_root

# Option B: Manual two-stage root via script
bash scripts/root.sh <TV_IP>

Vor der Verwendung zu beachten

Nur auf Hardware verwenden, die Sie besitzen oder deren Prüfung Sie ausdrücklich autorisiert haben. Prüfen Sie zuerst alle C-Dateien und jede firmwarespezifische Annahme. Sichern Sie Daten und beschaffen Sie sich unabhängig ein bekanntes passendes Wiederherstellungsabbild und -verfahren. Setzen Sie ADB keinem nicht vertrauenswürdigen Netzwerk aus. Ein Neustart entfernt die flüchtigen Patches (Page-Cache, Bind-Mounts, iptables), aber Paket-Deaktivierungen und APP_AUTO_START bleiben bestehen.

Flashen Sie keine gepatchten Boot- oder vbmeta-Images, die auf diesem Projekt basieren. Zwei frühere Versuche führten zu Bootloops; weder eine Methode für persistentes Root noch eine universelle Wiederherstellungsgarantie wurde etabliert.

Lizenz

MIT für den gesamten Originalcode. Der Kernel-Auszug (kernel/mem.c) behält seine GPL-2.0-Lizenz und Urheberrechtshinweise. Siehe LICENSE und provenance für Namensnennung und Upstream-Referenzen.

Tool herunterladen