Home Homebrew Rilasciato Y2JB v1.2: l’exploit PS5 di Gezine diventa modulare e compatibile...

[Scena PS5] Rilasciato Y2JB v1.2: l’exploit PS5 di Gezine diventa modulare e compatibile con tutti i firmware

717
19

Pubblicato un nuovo aggiornamento per Y2JB, l’exploit userland che sfrutta una vulnerabilità nell’app YouTube per PlayStation 5 per ottenere esecuzione di codice a livello utente sulle console retail.

La nuova build introduce miglioramenti significativi alla stabilità e alla compatibilità, rendendo il tool funzionante su quasi tutti i firmware conosciuti dela console PlayStation 5.

Durante la discussione tecnica che ha accompagnato l’annuncio, Gezine e altri sviluppatori noti nella scena, tra cui autechre, AlAzif e sleirsgoevy, hanno approfondito il funzionamento interno dell’exploit e discusso possibili evoluzioni del progetto.

Sleirsgoevy ha spiegato che il processo d’installazione di kstuff lega la sua esecuzione al primo core disponibile del processore, caricando 16 istanze separate per CPU, una scelta che ha definito non ottimale ma funzionale.

EchoStretch ha confermato che, grazie a queste modifiche, l’exploit ora è operativo praticamente su ogni versione del firmware, un traguardo importante per la comunità.

Gezine ha poi pubblicato una lunga lista di ringraziamenti, citando figure di spicco della scena come zecoxao, TheFlow, flat_z, john-tornblom, LM e altri membri della community PS5 R&D, che hanno contribuito con codice, riferimenti o test tecnici.

Nella conversazione successiva su Discord, gli sviluppatori hanno affrontato anche l’aspetto più teorico e architetturale di Y2JB.

Gezine ha rivelato di aver adottato un approccio modulare e firmware-agnostico, evitando l’uso di offset specifici per garantire massima compatibilità e facilità di manutenzione, un principio appreso dagli errori del precedente exploit BD-JB su PS4.

Il suo obiettivo ora è quello di portare i binari ELF più utili in ambiente JavaScript, in modo da poterli eseguire all’interno di altre web app PS5 come Netflix o Prime Video, ampliando così le possibilità di ricerca e sviluppo.

Durante la discussione, autechre e AlAzif hanno approfondito la struttura del codice, il caricamento asincrono dei file JavaScript e le problematiche di compatibilità legate ai diversi engine WebKit e alle versioni del firmware.

Gezine ha ammesso di non avere grande esperienza con le tecnologie web, preferendo soluzioni semplici e universali che “funzionano su tutto”, scelta condivisa da altri sviluppatori per evitare che gli exploit diventino instabili o troppo legati a versioni specifiche del browser interno della PS5.

È emersa anche la volontà di introdurre un approccio più modulare e potenzialmente basato su TypeScript, pur mantenendo la compatibilità con versioni firmware più datate.

Infine, la discussione si è spostata su aspetti più leggeri e didattici: Gezine ha confessato di non sapere nemmeno cosa fosse un “viewport” HTML, ricevendo da autechre una spiegazione dettagliata sul suo ruolo nel design responsive delle interfacce.

Questo scambio, seppur informale, riflette il carattere collaborativo e sperimentale della scena di sviluppo legata agli exploit PlayStation, dove la condivisione di conoscenze tra esperti di ambiti diversi – dalla sicurezza informatica al web engineering – resta fondamentale per l’evoluzione dei progetti.

Requisiti minimi

  • PS5 su firmware 4.03 o superiore (testato fino a 12.02; non funziona su <4.03 o firmware futuri non patchati).
  • App YouTube versione 1.03 (PKG USA).
  • PC con USB 3.0+ (per backup/ripristino).
  • Per PS5 jailbroken: Accesso FTP (es. tramite GoldHEN).
  • Strumenti: Browser per DNS, chiavetta USB formattata exFAT/FAT32.

Esecuzione

Questa guida integra le istruzioni dal README ufficiale, ed è divisa in due procedure: per console già jailbroken (facile, no reset) e non jailbroken (più invasiva, con reset).

Procedura 1

Setup su PS5 già jailbroken (via FTP)

Questa variante è per developer/tester con jailbreak esistente (es. via Lua, BD-JB o WebKit). Non richiede reset e permette test rapidi.

  1. Preparare l’Ambiente:
    • Assicurarsi che la PS5 sia jailbroken e con FTP attivo (es. tramite payload GoldHEN).
    • Installare l’app YouTube 1.03 USA:
      • Andare sul PSN Store > Cambiare la regione in USA (se non lo è).
      • Cercare “YouTube” e installare la versione esatta 1.03 (verificare in Impostazioni > Archiviazione > App). Se aggiornata, disinstarla e reinstallarla manualmente via PKG.
    • Sul PC, scaricare il payload Y2JB dalla repo ufficiale: GitHub – Gezine/Y2JB (clonare o scaricare l’archivio ZIP; cercare il file splash.html modificata).

Configurare la rete per intercettare le richieste

  • Per forzare il caricamento locale: Impostare un DNS personalizzato sulla PS5.
    • Andare su Impostazioni > Rete > Impostazioni Avanzate > DNS.
    • Impostare DNS Primario: 127.0.0.2 (localhost per loopback) o utilizzare un server DNS locale (es. Pi-hole o tool come Acrylic DNS Proxy sul PC).
    • Bloccare domini YouTube: Aggiungere regole per reindirizzare *.youtube.com a 127.0.0.1 (utilizzare il file hosts sul PC se in rete locale).
  • Disconnettersi da internet: Impostazioni > Rete > Disconnetti. Questo previene update automatici o crash remoti.

Caricare i file via FTP

  • Avviare il server FTP sulla PS5.
  • Sul PC, utilizzare un client FTP come FileZilla e impostare:
    • Host: IP della PS5.
    • Porta: 2121 (default per PS5 FTP).
    • Utente/Password: root / vuoto o come configurato.
  • Navigare alla directory: /mnt/sandbox/PPSA01651_000/download0/ (PPSA01651 è l’ID USA per YouTube 1.03; verificarlo con ls via FTP).
  • Sostituire il file splash.html originale con quello presente nella repository Y2JB.
    • Comando FTP: put splash.html /mnt/sandbox/PPSA01651_000/download0/splash.html.
  • Chiudere il server FTP e riavviare la PS5.

Eseguire l’exploit

  • Avviare l’app YouTube.
  • L’exploit si triggera automaticamente sul caricamento splash screen (dovrebbe crashare dopo 5-10 secondi se riuscito).
  • Per verificare: Utilizzare tool come ps5-payloads o console output (se debug attivo) per vedere l’esecuzione del codice. Caricare un payload test (es. alert() JS o Lua loader da codebase Remote Lua Loader).
  • Se non crasha: Riprovare con DNS pulito o verificare i file. Tasso di successo ~80% su firmware stabili.

Procedura 2

Questa è per utenti end-user senza jailbreak. Richiede un backup pre-modificato con l’exploit integrato, per forzare un reset di fabbrica al ripristino. Eseguire un backup prima di tutto!

Setup su PS5 non jailbroken (Via backup USB + Reset)

Preparare il backup modificato

  • Scaricare il backup PoC ufficiale: Y2JB POC Backup (archivio zip con file di sistema modificati, incluso il file splash.html).
  • Estrarre l’archivio su PC. Il backup include l’app YouTube 1.03 USA con l’exploit pre-installato.
  • Formattare una chiavetta USB >128GB in exFAT (utilizzare Disk Management su Windows o Disk Utility su Mac).
  • Copiare il contenuto del backup nella root della USB: Struttura /PS5/BACKUP/[file.bin] (seguire il formato Sony).

Eseguire un backup dei propri dati (Obbligatorio)

  • Su PS5: Impostazioni > Sistema > Backup e Ripristino > Backup Dati PS5.
  • Salvare su un dispositivo USB separato o sul cloud del PlayStation Plus (scaricare dopo il reset).
  • Nota: Questo non salva l’exploit; è solo per i propri file.

Configurare la rete (opzionale ma raccomandato)

  • Stessi passaggi della Procedura 1: Impostare DNS 127.0.0.2 e disconnettersi da internet.
  • Questo blocca l’update YouTube durante il test.

Ripristinare il backup (Reset di Fabbrica)

  • Inserire il dispositivo USB con il backup Y2JB nella PS5 spenta.
  • Accendere tenendo premuto il tasto power fino al secondo beep (modalità Safe Mode).
  • Selezionare l’opzione 6: Ripristinare Impostazioni Predefinite o seguire la guida Sony per il backup:
    • Impostazioni > Sistema > Backup e Ripristino > Ripristina PS5.
    • Scegliere “Ripristina da USB” e selezionare il file backup.
  • Il processo impiegherà circa 10-30 minuti: La PS5 si resetta, reinstalla l’OS e carica l’app YouTube modificata. Tutti i dati saranno cancellati.
  • Al riavvio, configurare la console come nuova (saltare il login PSN).

Eseguire l’exploit

  • Aprire l’app YouTube (pre-installata dal backup).
  • Trigger automatico: Crash dopo pochi secondi indica successo (esecuzione codice userland).
  • Verifica: Se si ha accesso debug (post-reset limitato), controllare il log. Altrimenti, integrare con tool esterni via USB.

Invio dei payload

Nota: il Remote JS Server non gira sempre sulla porta 50000. Nella maggior parte dei casi userà la porta 50000, ma raramente potrebbe usare una porta diversa — questo non è un bug.

I payload possono essere inviati usando payload_sender.py con Python installato.

Utilizzo

python payload_sender.py <host> <file>
python payload_sender.py <host> <port> <file>

Esempio

python payload_sender.py 192.168.1.100 helloworld.js
python payload_sender.py 192.168.1.100 50000 helloworld.js
python payload_sender.py 192.168.1.100 9020 payload.bin

Payload Lapse

Compatibilità firmware: Funziona solo fino al firmware 10.01.

Dopo che il payload Lapse ha avuto successo, è necessario inviare l’HEN o un altro binario ELF alla porta 9021. Puoi usare qualsiasi tool TCP per l’invio dei payload, ad esempio:

  • netcat
  • payload_sender.py

Esempio

python payload_sender.py 192.168.1.100 9021 hen.bin

Risoluzione problemi comuni

ProblemaCausa possibileSoluzione
No Crash su YouTubeFile splash.html non sostituito o app sbagliataVerificare ID PPSA01651 via FTP; reinstallare l'app 1.03 USA.
Errore DNS/LoopbackRete non configurataUtilizzare 127.0.0.2 come DNS; testare con ping youtube.com sul PC.
Reset Non Rileva USBFormato USB erratoUtilizzare exFAT; struttura /PS5/BACKUP/. Seguire la guida Sony ufficiale.
Ban o Update ForzatoInternet attivoMantenere la console offline; disinstallare l'app post-test.
Compatibilità Firmware>12.02 o <4.03Aggiornare manualmente via USB (scaricare il file PUP da Sony); non superare il firmware 12.02.

Changelog

  • Aggiunta l’implementazione di lapse
  • Aggiunto elf_loader, lettura/scrittura GPU e implementazione di dlsym
  • Riorganizzato il codice per renderlo più modulare

Grazie a Rush per aver fornito il backup!

Download: Y2JB v1.2

Download: Source code Y2JB v1.2

Fonte: x.com