Home News Rivelato l’exploit nel webKit per il firmware 6.20 della PlayStation 4...

[Scena PS4] Rivelato l’exploit nel webKit per il firmware 6.20 della PlayStation 4 e PlayStation 4 Pro

1115
5

Il developer SpecterDev ha rivelato un exploit nel webKit RCE sul firmware 6.20 della PlayStation 4 e PlayStation 4 Pro mantenuto segretato fino ad oggi, questo significa che il recente aggiornamento del firmware pubblicato da Sony ha patchato irrimediabilmente l’exploit.

L’exploit sul webKit si basa su di un attacco RCE (Remote Code Execution) che dovrebbe permetterci di attivare l’esecuzione di codice arbitrario nel contesto del browser al fine di ottenere informazioni sensibili, aggirare le restrizioni di sicurezza o causare determinate condizioni.

La repository contiene l’exploit RCE proof-of-concept (PoC) destinato alle console PlayStation 4 e PlayStation 4 Pro montanti firmware 6.20 e che sfruttano una vulnerabilità presente in CVE-2018-4441.

L’exploit stabilisce innanzitutto una primitive di lettura/scrittura arbitraria e una perdita di indirizzo dell’oggetto arbitraria in wkexploit.js.

Verrà quindi configurato un framework per eseguire catene ROP in index.html e per impostazione predefinita fornirà due collegamenti ipertestuali per eseguire catene ROP di test – una per eseguire le syscall sysc_getpid() e l’altra per eseguire le syscall sysc_getuid() per ottenere rispettivamente il PID e l’user ID del processo.

Ogni file contiene un commento in alto che fornisce una breve spiegazione di cosa contiene il file e di come funziona l’exploit. Il merito della scoperta del bug va a lokihardt del team Google Project Zero (p0). Il bug report può essere trovato qui.

[stextbox id=’info’]Nota: Questo exploit è stato corretto nell’aggiornamento del firmware 6.50.[/stextbox]

File

File in ordine alfabetico per nome;

  • index.html: Contiene il codice post-exploit, che va da arb. R/W -> in esecuzione del codice.
  • rop.js – Contiene un framework per le catene ROP.
  • syscalls.js – Contiene un elenco (incompleto) delle chiamate di sistema da utilizzare per le cose post-exploit.
  • wkexploit.js – Contiene il cuore dell’exploit WebKit.

Note

  • Questa vulnerabilità è stata corretta con il firmware 6.50!
  • Questo exploit fornisce solo l’esecuzione del codice in userland. Questo non è un jailbreak né un exploit del kernel, è solo la prima metà.
  • Questo exploit ha come target il firmware 6.20. Dovrebbe funzionare anche sui firmware più bassi, tuttavia è necessario eseguire il porting dei gadget e potrebbe essere necessario sostituire il metodo p.launchchain() per l’esecuzione del codice.
  • Nei miei test l’exploit as-is è piuttosto stabile, ma può diventare meno stabile se si aggiungono un sacco di oggetti e simili all’interno dell’exploit. Questo è uno dei motivi per cui syscalls.js contiene solo un piccolo numero di chiamate di sistema.

Guida

  • Basta configurare un server web su localhost utilizzando xampp o qualsiasi altro programma e posizionare i file all’interno di una directory, è quindi possibile accedere all’indirizzo locale IPv4 del computer (cercatelo tramite il comando ipconfig nel prompt dei comandi) e accedere all’exploit.

Crediti per la vulnerabilità

  • Ho scritto l’exploit tuttavia non ho trovato la vulnerabilità, come menzionato sopra il bug (CVE-2018-4441) è stato trovato da lokihardt del team Google Project Zero (p0) ed è stato divulgato tramite il bug tracker pubblico di Chromium.

Risorse

Ringraziamenti

  • lokihardt – La vulnerabilità.
  • st4rk – Aiuto con l’exploit.
  • qwertyoruiop – Istruzioni per il WebKit.
  • saelo – Phrack paper.

Potrete scaricare l’exploit webKit RCE da questo indirizzo. Se invece riuscite ad eseguire il browser web della console potrete scegliere di navigare su: https://www.biteyourconsole.net/crypto/index.html