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
PS5-IPV6-Kernel-Exploit — Ein experimenteller WebKit-basierter Kernel-Exploit (Arb. R/W) für die PS5 auf <= 4.51FW | Kitploit
Tools/GitHubGitHub/cryptogenic/ps5-ipv6-kernel-exploit
Embedded-System-SicherheitPrivilege EscalationSchwachstellenanalyseExploitationReverse EngineeringPost-ExploitationBinary-Exploitation
GitHubcryptogenic/ps5-ipv6-kernel-exploit

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

PS5-IPV6-Kernel-Exploit

Ein experimenteller WebKit-basierter Kernel-Exploit (Arb. R/W) für die PS5 auf <= 4.51FW

Repository anzeigen
925106vor 2 JahrenVon Kitploit geprüft

PS5 3.xx / 4.xx Kernel-Exploit


Zusammenfassung

Dieses Repository enthält eine experimentelle WebKit-ROP-Implementierung eines PS5-Kernel-Exploits, die auf TheFlows IPV6 Use-After-Free (UAF) basiert, welche auf HackerOne gemeldet wurde. Die Exploit-Strategie basiert größtenteils auf TheFlows BSD/PS4-PoC mit einigen Änderungen, um das lästige PS5-Speicherlayout zu berücksichtigen (weitere Details siehe Abschnitt Forschungsnotizen). Sie etabliert eine beliebige Lese- / (semi-beliebige) Schreib-Primitive. Dieser Exploit und seine Fähigkeiten haben viele Einschränkungen, und daher ist er hauptsächlich für Entwickler gedacht, die damit herumspielen möchten, um Teile des Systems zu reverse-engineeren.

Mit den neuesten Stabilitätsverbesserungen liegt die Zuverlässigkeit bei etwa 80 %. Dieses Dokument enthält Forschungsinformationen über die PS5, und dieser Exploit wird im Laufe der Zeit weiterentwickelt und verbessert.

Wer zur PS5-Forschung/-Entwicklung beitragen möchte, kann einem Discord beitreten, den ich hier eingerichtet habe.

Der Exploit sollte jetzt folgende Firmwares unterstützen:

  • 3.00
  • 3.10
  • 3.20
  • 3.21
  • 4.00
  • 4.02
  • 4.03
  • 4.50
  • 4.51

Derzeit enthalten

  • Ermöglicht beliebiges Lesen/Schreiben und kann einen einfachen RPC-Server für Lese-/Schreibvorgänge (oder einen Dump-Server für große Lesevorgänge) ausführen (du musst deine eigene Adresse/Port in die Exploit-Datei in den Zeilen 673-677 eintragen)
  • Aktiviert das Debug-Einstellungsmenü (Hinweis: Du musst die Einstellungen vollständig verlassen und wieder aufrufen, um es zu sehen).
  • Erlangt Root-Rechte

Einschränkungen

  • Dieser Exploit erreicht Lesen/Schreiben, aber keine Codeausführung. Das liegt daran, dass wir derzeit keinen Kernel-Code für Gadgets auslesen können, da Kernel-.text-Seiten als „eXecute Only Memory (XOM)“ markiert sind. Der Versuch, Kernel-.text-Zeiger zu lesen, führt zu einem Panic!
  • Aufgrund des oben Genannten sowie des Hypervisors (HV), der den Kernel-Schreibschutz durchsetzt, kann dieser Exploit auch keine Patches oder Hooks im Kernel-Space installieren, was bedeutet, dass es vorerst keinen Homebrew-bezogenen Code gibt.
  • Die auf Clang basierende feingranulare Control Flow Integrity (CFI) ist vorhanden und wird erzwungen.
  • Supervisor Mode Access Prevention/Execution (SMAP/SMEP) kann aufgrund des HV nicht deaktiviert werden.
  • Die Schreib-Primitive ist etwas eingeschränkt, da die Bytes 0x10-0x14 null (oder eine gültige Netzwerkschnittstelle) sein müssen.
    • Obwohl durch neuere Arbeiten mit Pipes nun vollständiges beliebiges Lesen/Schreiben möglich ist

Verwendung

  1. Konfiguriere Fakedns über dns.conf, sodass manuals.playstation.net auf die IP-Adresse deines PCs zeigt.
  2. Führe den Fake-DNS aus: python fakedns.py -c dns.conf
  3. Führe den HTTPS-Server aus: python host.py
  4. Gehe in den erweiterten Netzwerkeinstellungen der PS5 und setze den primären DNS auf die IP-Adresse deines PCs und lasse den sekundären bei 0.0.0.0
    1. Manchmal wird das Handbuch trotzdem nicht geladen und ein Neustart ist erforderlich, warum auch immer, es ist wirklich seltsam
  5. Gehe in den Einstellungen zum Benutzerhandbuch, akzeptiere die Eingabeaufforderung zum nicht vertrauenswürdigen Zertifikat und führe es aus
  6. Optional: RPC-/Dump-Server-Skripte ausführen (Hinweis: Adresse/Port müssen in binärer Form in exploit.js eingesetzt werden).

Zukünftige Arbeiten

  • Sockets reparieren, um den Browser sauber zu verlassen (höchste Priorität)
  • Einige Daten-Patches schreiben (zweite Priorität)
    • Debug-Einstellungen aktivieren
    • Creds für uid0 patchen
    • Jailbreak mit cr_prison-Überschreibung
  • UAF-Zuverlässigkeit verbessern
  • Zuverlässigkeit der Opfer-Sockets verbessern (dritte Priorität)
  • Ein besseres / konsistenteres Leak-Ziel als kqueue verwenden (nicht länger notwendig)
  • ELF-Loader so erweitern, dass er Relocations unterstützt
    • Unterstützung für weitere Relocations und möglicherweise vollständige dynamische Bindung hinzufügen?

Verwendung des ELF-Loaders

Um den ELF-Loader zu verwenden, führe den Exploit bis zum Abschluss aus. Nach Abschluss startet er einen Server auf Port :9020. Verbinde dich und sende dein ELF über diesen Port an die PS5, und es wird ausgeführt. Vorausgesetzt, das ELF bringt den Browser nicht zum Absturz, können danach beliebig viele ELFs ausgeführt werden.

Exploit-Phasen

Dieser Exploit arbeitet in 5 Phasen und folgt größtenteils derselben Exploit-Strategie wie theflows PoC.

  1. Das anfängliche UAF auf ip6_pktopts auslösen und zwei Sockets dazu bringen, auf dieselben pktopts zu zeigen / zu überlappen (Master-Socket <-> Overlap-Spray-Socket)
  2. Die pktopts auf dem Master-Socket freigeben und sie mit einem ip6_rthdr-Spray fälschen, das eine getaggte tclass-Überlappung enthält.
  3. Infoleak-Schritt. Die pktopts/rthdr-Überlappung nutzen, um ein kqueue aus dem 0x200-Slab und pktopts aus dem 0x100-Slab zu leaken.
  4. Schritt für beliebiges Lesen/Schreiben. pktopts erneut fälschen und den Überlappungs-Socket finden, um IPV6_RTHDR als Lese-/Schreib-Primitive zu verwenden.
  5. Bereinigungs- und Patch-Schritt. Refcount auf beschädigten Sockets erhöhen, um den Browser erfolgreich zu beenden, Daten patchen, um das Debug-Menü zu aktivieren, und ucreds für uid0 patchen.
  6. ELF-Loader-Server ausführen, der ELFs annimmt und lädt/ausführt. Derzeit in Arbeit, unterstützt momentan keine Relocations.

Stabilitätshinweise

Die Stabilität dieses Exploits liegt bei etwa 30 % 80-90 % und hat zwei potenzielle Fehlerquellen. In der Reihenfolge der beobachteten absteigenden Wahrscheinlichkeit:

  1. Phase 1 schafft es nicht, das UAF zurückzugewinnen, was einen sofortigen Absturz oder eine latente Korruption verursacht, die zum Absturz führt.
  2. Phase 4 findet keinen Opfer-Socket

Forschungsnotizen

  • Es scheint basierend auf verschiedenen Tests und Dumps mit der Lese-Primitive, dass die PS5 im Vergleich zur 0x4000-Seitengröße der PS4 auf 0x1000 zurückgegangen ist.

    • Nach weiterer Forschung beträgt die Seitengröße tatsächlich weiterhin 0x4000, jedoch können aufgrund einiger verrückter Allocator-Änderungen verschiedene Slabs in derselben virtuellen Seite zugewiesen werden.
  • Außerdem scheint es bei der PS5 so, dass benachbarte Seiten selten zum selben Slab gehören, da man in benachbarten Seiten stark unterschiedliche Daten erhält. Das Speicherlayout wirkt verstreuter.

  • Wenn die PS5 einen Panic hat (zumindest im WebKit-Kontext), gibt es oft schreckliche Audioausgabe, da der Audiopuffer auf irgendeine Weise beschädigt wird.

  • Manchmal bleibt diese Audio-Korruption bis zum nächsten Start bestehen, warum auch immer.

  • Ähnlich wie die PS4 muss bei der PS5 nach einem Panic der Netzschalter an der Konsole zweimal manuell gedrückt werden, um neu zu starten.

  • Es ist normal, dass die PS5 nach einem Panic eine absurd lange Zeit zum Neustart benötigt, wenn sie vom Internet isoliert ist (leider). Erwarte eine Boot-Zeit von 3-4 Minuten.

Mitwirkende / Besonderer Dank

  • Andy Nguyen / theflow0 - Schwachstelle und Exploit-Strategie
  • ChendoChap - Verschiedene Hilfe bei Tests und Forschung
  • Znullptr - Forschung/RE
  • sleirsgoevy - Forschung/RE + Ideen für Exploit-Strategien
  • bigboss - Forschung/RE
  • flatz - Forschung/RE + Hilfe bei Patches
  • zecoxao - Forschung/RE
  • SocracticBliss - Forschung/RE
  • laureeeeeee - Hintergrundwissen über Low-Level-Systeme und Unterstützung

Dank an Tester

  • Dizz (4.50/4.51)
Tool herunterladen