PS4 jailbreak homebrew

12.12.2021 - PlayStation 4 ist in firmware 9.00 offen für jeden code💩

 

vorab: kramt man nun die alte PS4 wieder raus, um auf firmware 9.00 zu updaten, so sollte man das UNBEDINGT OFFLINE und per USB-Stick erledigen. Online ist immer neuer als fw v9.00 und somit das Jailbreak nicht mehr nutzbar!

Den Crackern hinter den Pseudonymen SpecterDev, ChendoChap, Znullptr und laureeeeeee ist es zu verdanken, dass es nun nach langem Warten auch endlich einen Jailbreak für die PS4 in der fast aktuellsten Version 9.00 (Mitte September) gibt. (neuer ist derzeit nur 9.03 vom 1. Dezember)  - auch für die PS5 lässt das hoffen, da Teile der firmwares identisch sind.

Die vier Coder publizierten den einsatzbereiten Kernel-Exploit für die PS4 vollumfänglich unter dem Namen „pOOBs4“, so dass es nun jedem möglich ist, homebrew-code und Raubkopien auf der Konsole zu starten. „pOOBs4" basiert auf einem Fehler im Dateisystem, den zuvor Andy Nguyen alias "TheFloW" fand und veröffentlichte. Besonders interessant ist das, weil er dafür über das Sony-eigene BugBounty Programm "HackerOne" 10.000,- US$ kassierte, was zum release der firmware 9.03 führte. Offiziell verbessert 9.03 im Vergleich zu 9.00 lt. Sony nur die Stabilität der PS4. Mehr war im changelog des Updates nicht zu lesen. Gleiches gilt für das firmware-Pendant der PS5. In Wirklichkeit wird mit 9.03 der filesystem-bug behoben.

Um die Schwachstelle im Dateisystem für das Einschleusen des entsprechenden Codes, der dann wiederum auf der PS4 über ein Netzwerkinterface Kommandos empfangen und ausführen kann, auszunutzen, ist deswegen ein USB-Speichermedium mit passendem Inhalt notwendig.

Sobald die PS4 dann auf port 9020 lauscht und auf payloads wartet, kann darüber das Jailbreak GoldHEN 2.0b von SiSTR0 ins System geladen werden. Das Senden von payloads kann dabei über diverse Clients von einem Linux-, Windows-PC oder auch einem Android Gerät erfolgen. Aber es geht auch einfacher. Unter http://ct-soft.de/ps4 findet sich ein Jailbreak WebKit, welches nur vom Webbrowser auf der PS4 aufgerufen werden muss.

Zuvor erstellt man sich am PC einen USB-Stick mit dem Inhalt der Imagedatei exfathax.img (4MB) und dem kostenlosen tool 'Win32 Disk Imager 1.0' (11.9MB). Dann ruft man die Seite http://ct-soft.de/ps4 im Webbrowser der PS4 auf. Nach ca. 30 Sekunden wird man aufgefordert, den USB-Stick in die Konsole zu stöpseln. Man steckt ihn in den USB 3.0 port und wartet auf eine Fehlermeldung bzgl. nicht unterstütztem Dateisystem (oben links als Benachrichtigung). Dann drückt man OK und entfernt den USB-Stick wieder. In diesem Moment erfolgt der payload an port 9020 der PS4 von unserem Webserver und es erscheint die nächste Benachrichtigung, dass GoldHEN 2.0b geladen ist. Das bedarf weniger als einer Minute und ist auch schon alles.

 

Nun kann man jede Software als .PKG-Datei über ein externes USB-Speichermedium laden und installieren. Alternativ gibt es homebrews, die den Empfang von .PKG packages übers LAN ermöglichen oder die PS4 als FTP-Server bereitstellen, um diese hochzuladen. Wichtig ist, dass diese PKG-Dateien nicht signiert sind. Da den packages eine echte PlayStation-Signatur fehlt, spricht man dabei von "fake packages". Im Netz finden sich unzählige Quellen. Besonders zu empfehlen sind die beiden homebrews PS4-Xplorer und PS4 Temperature v1.05 von Lapy05575948. Mit letzterem lässt sich die Einschalttemp. der Lüfter setzen und die PS4 somit besser kühlen. Empfohlen ist ein Wert zwischen 58 und 60°C.

 

Unerlässlich ist, dass man die PS4 davon abhält sich weiter, als firmware version 9.00 zu updaten, da die Lücke im Dateisystem seit v9.03 gepatched ist. Zwar kann man die autom. Updates auf der PS4 deaktivieren, sich alleine darauf zu verlassen, reicht u.U. aber nicht, solange das LAN-Kabel steckt oder die PS4 mit dem W-LAN verbunden ist. Es empfieht sich, die Sony-Update-Server über url-Sperrlisten (wie diese) in der FritzBox oder über proxies wie Pi-hole zu blocken.

Eine weitere Alternative ist, das Exploit WebKit selbst zu hosten und sich gar nicht auf das Internet zu verlassen. Dazu empfiehlt sich die Verwendung eines ESP8266, welcher auch direkt von der PS4 über USB mit Strom versorgt wird. Den dafür passenden ESP8266 CH340G 12E bekommt man z.B. bei AliExpress schon für 5,- EUR inkl. Versand. Der Programmierer Leeful hat mit seiner firmware binary "leeful900v4.bin" [mirror v3] [CT-version directdownload] für den ESP8266 ganze Arbeit geleistet. Ist der ESP einmal geflasht, kann er wie folgt adressiert werden:

DNS: 10.13.37.1
SSID:CT-sOFT PS4

/ oder...

SSID:leeful900v4

/ oder...

SSID:leeful900v3

Wifi Passwort jeweils: 123456789

(Der integrierte DNS-Server dient dabei dazu, das WebKit nicht nur über den Browser aufrufen zu können, sondern auch über das integrierte Sony Online Handbuch.)

 

Für unter 10,- EUR finden sich bei AliExpress auch, auf alle drei Bauarten der PS4 abgestimmte, USB-Hubs mit denen man die zwei USB-ports auf 4 oder 5 erweitern kann (absolut zu empfehlen):

PS4 fat
PS4 slim
PS4 pro

 

 

 

 

 

Aufbau OHNE manuelles Ein- Ausstöpseln des USB-Sticks ("auto USB")

Als Erweiterung des ESP8266 bietet sich z.B. diese Schaltung an, mithilfe derer man das Ein- und Ausstecken des USB-flashspeichers automatisieren kann. Hierfür kann unsere firmware mit "autoUSB" genutzt werden [directdownload].

SSID: "CT-sOFT PS4+" Passwort: "123456789" IP: 11.11.11.11

Man benötigt dafür dann auch nur einen freien USB-port an der PS4. Der ESP8266 fungiert auch hier als W-LAN AccessPoint, als DHCP-, DNS- und als Webserver. Gespeist wird er über die 5V des USB-ports. Zusätzlich schaltet er den USB-flashspeicher, welcher mit am USB-port der PS4 hängt, an oder aus, indem über den Transistor die Datenleitung(+) zu, oder abgeschaltet wird. (Dies entspricht dem Ein- bzw. Ausstecken des USB-Sticks.) Hier empfiehlt sich, den ESP8266 "D1 Mini Pro v1 mit WiFi" und mit 4MB Speicher oder einen 100% kompatiblen zu nutzen. (Die preiswerteste Bezugsquelle ist wie immer AliExpress, s. link) Die 4MB Speicher sind Mindestvoraussetzung. Zusätzlich benötigt man einen BC548 Transistor (Beta A, B oder C - ich nutze B) und einen Widerstand mit 1K Ohm. Alternativ könnte man die Schaltung über ein Reed Relais realisieren. Es finden sich im Netz auch Schaltungen in denen versucht wird die Masse des USB-Sticks zu schalten. In dieser Schaltung werden zwei Widerstände genutzt. Diese Schaltung mit 2 Widerständen funktioniert nicht!