Pubblicato un nuovo aggiornamento per ps5-payload-gdbsrv, il payload sviluppato dal deveper John Törnblom ci permette di eseguire un server GDB sulla console PlayStation 5.
Questo semplice server GDB può essere eseguito su di una console PlayStation 5 sbloccata tramite BD-J o gli entry point WebKit, mentre potrebbe risultare particolarmente utile per il debugging.
Utilizzando un server GDB, gli sviluppatori possono avviare, interrompere e ispezionare lo stato di esecuzione di un programma, esaminare variabili, impostare breakpoint, e così via, il tutto da remoto.
Questa nuova versione introduce la possibilità di impostare le variabili d’ambiente (envp
) e la directory di lavoro (cwd
) dei payload, oltre a supportare l’attacco a processi arbitrari.
Nota: Il server accetta connessioni sulla porta 2159
mentre è stato testato con gdb-15.
Quick-Start
Per distribuire ps5-payload-gdbsrv
, lanciare prima ps5-payload-elfldr
, poi caricare il payload eseguendo i seguenti comandi:
john@localhost:~$ export PS5_HOST=ps5 john@localhost:~$ wget -q -O - https://github.com/ps5-payload-dev/gdbsrv/releases/download/v0.1/Payload.zip | gunzip -c -d | nc -q0 $PS5_HOST 9021
Successivamente, lanciare un nuovo terminale e debuggare il payload eseguendo la seguente serie di comandi:
john@localhost:ps5-payload-dev/gdbsrv$ export PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk john@localhost:ps5-payload-dev/gdbsrv$ export PS5_HOST=ps5 john@localhost:ps5-payload-dev/gdbsrv$ cd sample john@localhost:ps5-payload-dev/gdbsrv/sample$ make test
Problemi Noti
- I simboli delle librerie dinamiche sony non vengono caricati correttamente al momento.
- Una coppia di argomenti passati all’ELF è allocata sull’heap, quindi gdb potrebbe segnalare errori quando si cerca di risolvere gli argomenti di
_start()
.
Segnalazione Bug
Se si incontrano problemi con ps5-payload-gdbsrv
, si prega di aprire un issue su GitHub. Se si prevede di inviare pull request che influiscono su più di qualche riga di codice, si consiglia di aprire un issue prima di iniziare a lavorare sulle modifiche.
Questo permetterà di discutere adeguatamente la soluzione prima di impegnare tempo e sforzi.
Changelog
- Impostate le variabili d’ambiente (
envp
) e la directory di lavoro (cwd
) dei payload. - Supportare l’attacco a processi arbitrari.
Download: ps5-payload-gdbsrv v0.3
Download: Source code ps5-payload-gdbsrv v0.3
Fonte: github.com