
Ein WebKit-Exploit, der CVE-2018-4441 nutzt, um RCE auf PS4 6.20 zu erlangen.
Dieses Repository enthält einen Proof-of-Concept (PoC) RCE-Exploit, der die PlayStation 4 mit Firmware 6.20 unter Ausnutzung von CVE-2018-4441 angreift. Der Exploit etabliert zunächst ein beliebiges Lese-/Schreib-Primitiv sowie einen Leak beliebiger Objektadressen in wkexploit.js. Anschließend richtet er ein Framework zum Ausführen von ROP-Ketten in index.html ein und bietet standardmäßig zwei Hyperlinks zum Ausführen von Test-ROP-Ketten – einen zum Aufrufen des sys_getpid()-Syscalls und den anderen zum Aufrufen des sys_getuid()-Syscalls, um die PID bzw. die Benutzer-ID des Prozesses zu erhalten.
Jede Datei enthält oben einen Kommentar mit einer kurzen Erklärung, was die Datei enthält und wie der Exploit funktioniert. Die Entdeckung des Bugs geht an lokihardt von Google Project Zero (p0). Der Bug-Report ist hier zu finden.
Hinweis: Der Bug wurde im Firmware-Update 6.50 behoben.
Dateien alphabetisch geordnet:
index.html – Enthält Post-Exploit-Code, vom arb. R/W zur Code-Ausführung.rop.js – Enthält ein Framework für ROP-Ketten.syscalls.js – Enthält eine (unvollständige) Liste von Systemaufrufen für Post-Exploit-Zwecke.wkexploit.js – Enthält den Kern des WebKit-Exploits.p.launchchain() für die Code-Ausführung muss möglicherweise ausgetauscht werden.syscalls.js nur eine kleine Anzahl von Systemaufrufen enthält.Richten Sie einen Webserver ein, der diese Dateien auf localhost hostet, z. B. mit xampp oder einem beliebigen anderen Programm. Alternativ können Sie sie auch auf einem Server hosten. Sie können auf der PS4 darauf zugreifen, indem Sie entweder:
Ein gefälschtes DNS-Spoofing durchführen, um die Handbuchseite auf die Exploit-Seite umzuleiten, oder
Den Webbrowser verwenden, um zur Exploit-Seite zu navigieren (nicht immer möglich).
Ich habe den Exploit geschrieben, aber ich habe die Schwachstelle nicht gefunden. Wie oben erwähnt, wurde der Bug (CVE-2018-4441) von lokihardt von Google Project Zero (p0) entdeckt und über den öffentlichen Chromium-Bug-Tracker offengelegt.
Chromium Bug Report – Die Schwachstelle.
Phrack: Attacking JavaScript Engines by saelo – Ein Lebensretter. Ohne dieses göttliche Paper wäre das Ausnutzen etwa 1500x schwieriger gewesen.
lokihardt – Die Schwachstelle
st4rk – Hilfe beim Exploit
qwertyoruiop – WebKit-Schule
saelo – Phrack-Paper