Il consulente e ricercatore McCaulay Hudson ha da poco pubblicato un primo script python che ci permetterebbe di generare un salvataggio sfruttabile per il gioco della PS2 Okage: Shadow King.
Ciò comporta l’esecuzione del codice del file PS2 ELF fornito quando si seleziona “RIPRISTINA GIOCO” all’interno del menu di Okage: Shadow King.
okrager – A Python command line tool to generate an Okage: Shadow King game save leading to arbitrary PS2 code execution. https://t.co/89ym4B14sq
— McCaulay (@_mccaulay) February 14, 2023
L’applicazione richiede di passare un file della scheda di memoria di input esistente (.ps2
/.card
). Successivamente, inietta lo shellcode di staging e il file ELF PS2 fornito, quindi salva il salvataggio del gioco come nuovo file di output (.ps2
/.card
).
In samples/ps2-hello-world
sono inclusi i file della scheda di memoria PS2 predefiniti per PCSX2, PS4 e PS5. Per importare il salvataggio del gioco su una PS4 con firmware basso, procedere in questo modo:
- Avviare il gioco ed eseguire un salvataggio (vedere la prima parte dell’articolo pubblicato da McCaulay Hudson riguardo la modifica dei file di salvataggio del gioco PS2).
- Installare ed eseguire Apollo Save Tool PS4 ( github.com/bucanero/apoll) -> HDD Saves -> OKAGE: Shadow King – SCUS-97129 -> Export decrypted save files -> VCM0.card.
- Aprire il client FTP e sovrascrivere
/data/apollo/<user-id>/CUSA02282_SCUS-97129
con laVCM0.card
modificata (contenuta insamples/ps2-hello-world/bin/PS4/VCM0.card
). - In Apollo -> HDD Saves -> OKAGE: Shadow King – SCUS-97129 -> Import decrypted save files -> VCM0.card.
- Caricare il gioco OKAGE: Shadow King, PREMERE IL PULSANTE START -> RIPRISTINA GIOCO -> dovreste intravedere la scritta “Hello PS4!”.
[stextbox id=’info’]Nota: Per ulteriori informazioni sul funzionamento interno di questa applicazione, vedere il post dal blog associato “mast1c0re: Part 2 – Arbitrary PS2 code execution“.[/stextbox]
Installazione
- Utilizzare il seguente comando per installare il pacchetto okrager con pip:
python -m pip install okrager
- Assicurarsi che il percorso bin locale sia nel proprio percorso. In caso contrario, aggiungerlo a
~/.bashrc
o~/.zshrc
:export PATH="$HOME/.local/bin:$PATH"
Utilizzo
usage: okrager [-h] [-c CODE] [-s1 STAGE1] [-s2 STAGE2] [-v {none,normal,debug}] input output elf
Generate an Okage Shadow King exploitation game save.
positional arguments:
input The input .ps2/.card game save file.
output The exported .ps2/.card game save file.
elf The compiled PS2 ELF filepath to inject.
optional arguments:
-h, --help show this help message and exit
-c CODE, --code CODE The game save identifier code. (Default: BASCUS-97129)
-s1 STAGE1, --stage1 STAGE1
The stage 1 shellcode to be executed.
-s2 STAGE2, --stage2 STAGE2
The stage 2 shellcode to be executed.
-v {none,normal,debug}, --verbosity {none,normal,debug}
The script output verbosity mode. (Default: normal)
Esempi
PS4/PS5
└─$ okrager VMC0.card VMC0-exploit.card program.elf
[#] Loading stagers and ELF
[#] Loading memory card
[#] Exporting BASCUS-97129
[#] Reading BASCUS-97129.psu
[#] Modifying bkmo0.dat
[#] Writing ELF
[#] Saving BASCUS-97129.psu
[#] Deleting BASCUS-97129
[#] Importing BASCUS-97129.psu
[+] Exploit wrote to save file "VMC0-exploit.card"
PCSX2
└─$ okrager Mcd001.ps2 Mcd001-exploit.ps2 program.elf
[#] Loading stagers and ELF
[#] Loading memory card
[#] Exporting BASCUS-97129
[#] Reading BASCUS-97129.psu
[#] Modifying bkmo0.dat
[#] Writing ELF
[#] Saving BASCUS-97129.psu
[#] Deleting BASCUS-97129
[#] Importing BASCUS-97129.psu
[+] Exploit wrote to save file "Mcd001-exploit.ps2"
Riferimenti
- https://s3-eu-west-1.amazonaws.com/downloads-mips/documents/MIPS_Architecture_MIPS64_InstructionSet_%20AFP_P_MD00087_06.05.pdf
- https://shell-storm.org/online/Online-Assembler-and-Disassembler/
- https://github.com/beardypig/ghidra-emotionengine
- https://github.com/ps2dev/ps2sdk
- https://github.com/ps2dev/ps2toolchain
- https://github.com/ps2dev/mymc
- https://pypi.org/project/mymcplus/
- https://git.sr.ht/~thestr4ng3r/mymcplus
- https://playstationdev.wiki/ps2devwiki/index.php/Main_Page
- https://www.copetti.org/writings/consoles/playstation-2/
Download: okrager v0.1.0
Fonte: twitter.com