Il developer EchoStretch potrebbe presto dedicarsi alla ricerca degli offset necessari per rendere il payload kstuff compatibile con il firmware 5.xx della console PlayStation 5. Questo rappresenta l’ultimo tassello mancante per consentire l’esecuzione di backup su tali firmware.
Attraverso un messaggio condiviso di recente, ha espresso l’intenzione di iniziare la ricerca nel fine settimana se il tempo lo permetterà, aggiungendo anche un appello a chiunque possegga riferimenti utili dal porting script di Sleirsgoevy, chiedendo di inviarglieli tramite messaggio privato.
EchoStretch +PS5+
"Si tengo tiempo este fin de semana , comenzaré a buscar compensaciones para 5.xx, para que kstuff funcione"
"Si alguien tiene algunas compensaciones del script de portabilidad de Sleirs , envíenmelo por DM" pic.twitter.com/Npgtjbw3Ew
— TeRex777 (@TeRex777_) February 6, 2025
Il payload kstuff riveste un ruolo chiave, in quanto consente l’esecuzione di giochi fPKG senza alterare l’hypervisor della console.
Questo approccio lo rende una soluzione meno invasiva rispetto ad altri metodi, evitando interferenze dirette con le funzioni di sicurezza del sistema.
Tuttavia, il porting su nuove versioni del firmware si rivela estremamente complesso, principalmente a causa dell’uso di uno XOM personalizzato, che rende più difficile individuare gli offset richiesti.
In seguito il developer Sleirsgoevy, punto di riferimento nella scena dell’hacking su PlayStation 5, ha suddiviso gli offset fondamentali in diverse categorie, facilitandone l’individuazione, anche attraverso il debugger frankenELF in prosper0gdb.
1. Offset dei dati del kernel
Questa categoria comprende gli offset che possono essere estratti dai dump del kernel non protetti da XOM. I principali riferimenti di questa sezione includono:
- Offset IDT (Interrupt Descriptor Table)
- Offset TSS (Task State Segment, per CPU)
- Offset PCPU (per CPU, rappresenta la base GS del kernel)
- Offset sysentvecs (sia in modalità nativa che PS4)
- crypt_singleton_array
La ricerca di questi offset si basa sull’analisi approfondita dei dump di memoria del kernel, cercando di aggirare le protezioni imposte dal sistema.
2. Offset dei testi del kernel indicati dai dati del kernel
Si tratta di riferimenti legati agli handler degli interrupt, solitamente individuabili nel dump dell’offset IDT. Per il payload ps5-kstuff, due di questi offset risultano particolarmente rilevanti:
- Xinvtlb
- Xjustreturn
3. Offset “doreti_iret”
Questo offset è di cruciale importanza per il progetto, in quanto consente di stabilire la primitiva di singlestep del kernel, necessaria per individuare altri offset fondamentali.
Tuttavia, la sua individuazione è particolarmente ostica poiché non è direttamente collegato ai dati del kernel.
4. Offset trovati dal single-stepping delle funzioni del kernel
L’analisi del single-stepping delle funzioni del kernel consente di individuare alcuni offset particolarmente utili, tra cui:
- rdmsr (Read Model-Specific Register)
- wrmsr_ret (Write Model-Specific Register con ritorno)
- Gadget “rep movsb; pop rbp; ret”, utilizzato nei programmi di tracciamento per la lettura/scrittura della memoria del kernel
Questi offset vengono identificati attraverso una meticolosa analisi delle istruzioni del kernel.
5. Offset trovati nei log di ps5-kstuff (“parasites”)
I log generati da ps5-kstuff contengono riferimenti denominati “parasites”, che possono essere utili o meno a seconda del contesto. Questi dati vengono attentamente analizzati per selezionare solo le informazioni realmente rilevanti al fine del porting.
Un successivo intervento da parte del developer zecoxao mette in evidenza una complicazione nel processo di porting di kstuff sul firmware 5.xx della PlayStation 5, rivelando che il suo contatto per le chiavi non lo aiuterà più, a causa di un errore.
Nonostante questo ostacolo, zecoxao ha già condiviso i kernel corretti con alcuni collaboratori affinché possano occuparsi del porting degli offset necessari.
L’ultimo passaggio rimasto per completare il processo è l’implementazione di MAP_SELF mmap
da parte di Sleirsgoevy, un elemento chiave per garantire il corretto funzionamento del payload kstuff sulle versioni di firmware più recenti.
Fonte: x.com