Il developer hammer-83 ha recentemente rilasciato un interessante aggiornamento per PS5 JAR Loader, un progetto che sfrutta le vulnerabilità scoperte nel livello BD-J del firmware PS5 fino alla versione 7.61 per consentire l’esecuzione di file JAR sulla console.
Questa soluzione semplifica notevolmente il processo di testing del codice sperimentale, permettendo di masterizzare il loader su un disco BD-R una sola volta e poi di aggiornare il codice senza ulteriori operazioni di scrittura.
L’aggiornamento integra l’exploit Byepervisor, che include numerosi miglioramenti e ottimizzazioni. Tra le principali novità, è stato inoltre aggiunto il supporto per le mappature pmap di FreeBSD e la randomizzazione degli indirizzi dmap, migliorando così la sicurezza.
Le strutture proc e mtx sono state mappate, e l’API dei puntatori ha subito vari miglioramenti: ora, se si verifica un errore di memoria durante la lettura del kernel, viene generata un’eccezione per una gestione più sicura e stabile.
Inoltre, sono state aggiunte le mappature di libkernel per innescare la modalità riposo della console, e il payload Byepervisor ora supporta i firmware 1.xx e 2.xx.
Procedura di Utilizzo
Per iniziare, bisogna compilare il progetto e masterizzare i contenuti del file system generato nella cartella assembly/target/assembly-2.1.0
su un disco BD-RE.
Gli utenti possono opzionalmente compilare il progetto con l’opzione -Dloader.logger.host=[Logging server IP]
per trasmettere l’output a un server remoto.
Dopo aver inserito il disco nella console PlayStation 5 ed eseguito JAR Loader, è possibile inviare payload alla console tramite il comando: java -jar <payload.jar> <IP della PS5>
Payload inclusi
L’aggiornamento fornisce diversi payload predefiniti, tra cui:
- Server FTP (in ambiente sandbox) per l’accesso ai file della PS5.
- Un gioco di tennis in miniatura per dimostrazioni e test.
- Un programma che stampa le proprietà di sistema.
- Uno strumento che esegue il dump dell’attuale classpath della JVM, incluso il modulo java.base (non garantito su tutti i firmware).
Inoltre, l’aggiornamento include le implementazioni dell’exploit UMTX, fornite da flat_z, Cryptogenic, e cheburek3000, che consentono l’accesso in lettura/scrittura al kernel.
Queste implementazioni variano in termini di performance e stabilità, offrendo diverse opzioni agli sviluppatori.
Kernel Dumper e Utilizzo del Payload Byepervisor
Il kernel dumper migliorato permette di eseguire il dump del kernel una volta ottenuta la lettura/scrittura. Se Byepervisor è stato eseguito prima, il tool invierà le sezioni text e data del kernel; altrimenti, verrà inviato solo il segmento data.
Per ricevere il dump del kernel, è sufficiente utilizzare netcat su un computer, connesso alla PlayStation 5 sulla porta 5656.
Changelog
- Aggiunte le mappature pmap da FreeBSD e supporto per la randomizzazione dell’indirizzo dmap.
- Aggiunte le mappature delle strutture proc e mtx.
- Vari miglioramenti all’API dei puntatori. In particolare, se si verifica un errore di memoria durante la lettura del kernel, ora verrà generata un’eccezione.
- Aggiunte le mappature di libkernel per attivare la modalità riposo.
- Payload Byepervisor per i firmware 1.xx e 2.xx.
- Modificato il kernel dumper per eseguire il dump del segmento text se accessibile.
- Aggiunti gli offset per tutti i firmware.
Download: Source code PS5 JAR Loader
Fonte: github.com