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
Byepervisor — Ein PS5-Hypervisor-Exploit für 1.xx-2xx-Firmwares. | Kitploit
Tools/GitHubGitHub/ps5dev/byepervisor
Embedded-System-SicherheitPrivilege EscalationSchwachstellenanalyseExploitationReverse EngineeringSicherheitsvirtualisierungBinary-Exploitation
GitHubps5dev/byepervisor

Byepervisor

Ein PS5-Hypervisor-Exploit für 1.xx-2xx-Firmwares.

Repository anzeigen
355236vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Byepervisor


Zusammenfassung

PS5-Hypervisor-Exploit für Firmware <= 2.xx. Das Repository enthält zwei Schwachstellen und Exploit-Ketten; sie sind unabhängig voneinander und jede kann verwendet werden. Ein Exploit ist hauptsächlich nur zur Archivierung enthalten (/_old_jump_table_exploit); nur die primäre Exploit-Kette (QA-Flags-Exploit) muss verwendet werden.

Diese Forschung wurde auf der hardwear.io NL 2024 präsentiert; die Folien finden Sie hier. Der Vortrag wird in Kürze veröffentlicht.

Jump-Table-Exploit

Der erste Exploit nutzt eine Schwachstelle aus, bei der die Jump-Tabellen des Hypervisor-Codes mit dem Gast-Kernel geteilt werden, und befindet sich in /_old_jump_table_exploit/. Durch das Übernehmen des Jump-Table-Eintrags für den Hypercall VMMCALL_HV_SET_CPUID_PS4 kann eine Codeausführung im Hypervisor erreicht werden. Wir führen eine ROP-Kette aus, die Nested Paging (NPT) und Guest Mode Execute Trap (GMET) deaktiviert. Dadurch können wir eXecute Only Memory (XOM), auch bekannt als xotext, in den Page Table Entries (PTEs) des Kernels deaktivieren, um es zu dumpen, und außerdem den Schreibzugriff in den PTEs aktivieren, um den Kernel zu hooken/patchten.

Diese Methode erfordert ziemlich viele Gadgets und Offsets, was der Hauptgrund dafür ist, dass dieser Exploit nicht der primäre ist. Außerdem deaktiviert sie derzeit nur den Hypervisor auf dem Kern, auf dem die ROP-Kette läuft; auf den anderen Kernen ist der Hypervisor weiterhin aktiv und müsste ebenfalls deaktiviert werden.

QA-Flags-Exploit

Der primäre und empfohlene Exploit nutzt die Tatsache aus, dass die Quality-Assurance-Flags (QA-Flags) des Systems zwischen dem Hypervisor und dem Gast-Kernel geteilt werden. Wenn der Hypervisor initialisiert wird, prüft der Init-Code zum Aufbau der verschachtelten Seitentabellen in den QA-Flags das System-Level-Debugging-Flag (SL). Wenn dieses Flag gesetzt ist, haben die Page Table Entries (PTEs) der verschachtelten Seitentabellen das xotext-Bit für die .text-Seiten des Kernels nicht gesetzt; außerdem ist bei den .text-Seiten des Kernels das Write-Bit gesetzt.

Diese Flags werden vom Secure Loader beim Aufwachen aus dem Schlafmodus nicht neu initialisiert, der Hypervisor hingegen schon. Indem wir das SL-Flag setzen, das System in den Schlafmodus versetzen und wieder aufwachen, können wir die Seitentabellen des Gast-Kernels bearbeiten, um die .text-Seiten des Kernels les-/schreibbar zu machen, was das Dumpen des Kernels sowie Hooks/Patches ermöglicht.

Wichtige Hinweise

  • Derzeit wird für den Homebrew Enabler (HEN) nur Firmware 2.50 unterstützt; Unterstützung für andere Firmware-Versionen wird später hinzugefügt.
  • Das Exploit-Payload (byepervisor.elf) muss zweimal gesendet werden: einmal vor dem Suspendieren des Systems und einmal nach dem Aufwachen.
  • Du musst das System selbst in den Ruhemodus versetzen.
  • Der Kernel-Dump aus dem QA-Flags-Exploit enthält derzeit nicht die .data-Region des Hypervisors. Falls dir das wichtig ist, dumpe nach dem Portieren mit dem Jump-Table-Exploit oder deaktiviere zuerst Nested Paging (dies ist ein TODO).

Derzeit enthalten

  • Code zum Dumpen des Kernels (auskommentiert; das Ausführen dieses Codes wird das System zum Absturz bringen, da er so viel wie möglich dumpen wird, bevor er auf nicht zugeordneten Speicher stößt)
  • Code zum Entschlüsseln von SELFs der Systembibliotheken über TCP
  • Homebrew Enabler (HEN) für Firmware 2.50 (fself+fpkg)

Build-Hinweise

Dieses Exploit-Payload wird mit dem PS5-Payload-Dev SDK erstellt. Beachte außerdem, dass der Build für hen/ etwas Besonderes ist, da er zu einem flachen Binary kompiliert wird, das in eine Kernel-Code-Cave kopiert wird. Der gesamte Code in hen/ läuft im Supervisor-/Kernel-Modus.

Verwendung

  1. Führe die UMTX-Exploit-Kette in WebKit oder BD-J aus und starte einen ELF-Loader.
  2. Sende byepervisor.elf.
  3. Versetze das System in den Ruhemodus.
  4. Schalte das System wieder ein.
  5. Sende byepervisor.elf erneut (wenn du John Tornbloms ELF-Loader verwendest, sollte der ELF-Loader nach dem Aufwachen weiterhin Payloads akzeptieren; andernfalls muss die UMTX-Exploit-Kette erneut ausgeführt werden).

Zukünftige Arbeiten

  • Weitere Firmware-Versionen (Offsets) unterstützen
  • Dafür sorgen, dass byepervisor.elf nur einmal gesendet werden muss
  • Das System automatisch suspendieren?
  • vmcbs mit dem QA-Flags-Exploit patchen, um Hypervisor-Daten zu dumpen

Danksagungen

  • ChendoChap
  • flatz
  • fail0verflow
  • Znullptr
  • kiwidog
  • sleirsgoevy

Discord

Wer Interesse hat, zur PS5-Forschung und -Entwicklung beizutragen, kann einem von mir eingerichteten Discord hier beitreten.

Tool herunterladen