[PSVITA]Rilasciata una guida dallo sviluppatore TheFloW per cercare gli exploit sui salvataggi dei giochi PSVITA

Il 1 luglio è stata una giornata importante per tutti gli utenti con firmware 3.65,3.67 e 3.68.Il nuovo hack H-Encore è stato l’argomento più discusso di domenica,sui social e sui vari siti italiani e internazionali di scena.Questo hack sfrutta un salvataggio di una demo con la conseguente iniezione di codice personalizzato per poter avviare HENkaku sui firmware superiori a 3.60.Ancora oggi lo sviluppatore TheFloW autore di H-Encore offre la possibilità di cercare personalmente il gioco con una guida postata su Github.Per i curiosi e per i smanettoni,bisogna utilizzare un plugin(lo trovate nella guida),vitashell,vita-savemgr e un HEX editor insieme a tanta pazienza.Una traduzione in italiano è disponibile qui sotto e vi ricordo che qualche errore è presente.

Attenzione: l’articolo è solo per scopo di studio.Noi non siamo responsabili di eventuali malfunzionamenti alla vostra console

Come trovare gli exploit sui salvataggi

Dal rilascio di h-encore ci si potrebbe chiedere come sia possibile un simile punto di accesso per l’utente. È possibile perché i giochi sviluppati con un SDK di circa 3.00 o inferiore sono stati compilati come un eseguibile collegato in modo statico, quindi il suo indirizzo di caricamento è sempre lo stesso e non può essere spostato in un’altra regione, il che significa che se abbiamo un exploit in un tale gioco, possiamo tranquillamente fare ROP e non abbiamo bisogno di trattare con ASLR. Inoltre, non hanno la protezione dello stack abilitata di default, quindi lo stack smashing è il modo più semplice per attivare l’esecuzione del ROP dell’utente. Gli exploit dei salvataggi sono più potenti del WebKit exploit  in termini di syscalls disponibili. La ragione è che dopo il firmware 3.30 circa, Sony ha introdotto sceKernelInhibitLoadingModule nel loro browser, che ci ha impedito di caricare moduli aggiuntivi. Questa limitazione è cruciale, poiché questo era l’unico modo per ottenere syscalls, in quanto sono randomizzati all’avvio.

Nota che la seguente guida è scritta per le persone con poche conoscenze sullo sfruttamento.

Come sappiamo che un gioco è un eseguibile collegato in modo statico? Hanno ottenuto il valore 0xFE00 per il campo e_type nella loro intestazione ELF. Ecco come puoi vedere che tipo ha l’eseguibile:

  1. Scegli qualsiasi gioco che vuoi tentare di sfruttare.
  2. Apri il gioco in VitaShell usando Open decrypted.
  3. Fare clic sul file eboot.bin, poi triangolo e selezionare Open hex editor.
  4. Vedere quale valore è in offset 0xB0:
    • Se lo è 00 FE, è collegato staticamente, quindi potrebbe essere sfruttabile.
    • Se lo è 04 FE, è dinamicamente criptato, quindi non è sfruttabile a causa dell’ASLR.

Se si tratta in effetti di un eseguibile collegato in modo statico, è ora possibile iniziare con la fuzzing del salvata:

  1. Scarica qualsiasi editor esadecimale.
  2. Scarica e installa CrashDump Enabler .
  3. Inizia il gioco e gioca un po ‘fino a quando non sei sicuro di aver creato un salvaschermo.
  4. O utilizzare vita-savemgr o VitaShell per esportare il salvataggio. Se si utilizza VitaShell, è sufficiente navigare in ux0:user/00/savedata e utilizzare Open decrypted, quindi copiare il file salvato dalla cartella.
  5. Collega la PS Vita al tuo computer e inizia a scrivere “merda” nel file salvato con il tuo editor esadecimale. Basta scrivere un sacco di cose a in alcuni punti.
  6. Copia la copia salvata (di nuovo con Open decrypted se si utilizza VitaShell) e gioca.
  7. Ripetere tante volte finché non si verifica un crash. Se il gioco si lamenta che il salvataggio non è valido o è così, allora è perché c’è un controllo crc / hash. In tal caso, è necessario rinunciare, a meno che non si sappia come effettuare il reverse engineering.

Nel caso in cui si verifichi un arresto anomalo, verrà scritto il crashdump in ux0:data. Puoi aprire questi dump usando VitaShell e poi vedere se ci sono dei valori 0x61 o altri valori ripetitivi nei registri (assumendo che tu abbia scritto solo anel tuo salvataggio):

  • Se nel registro contiene il valore 0x61616161o qualcosa di simile, congratulazioni, hai trovato un nuovo punto di accesso utente!
  • Se BadVaddrè 0x61616161o qualcosa di simile, può anche essere sfruttabile (dipende dal fatto che si sia verificato un carico o un archivio che si è arrestato in modo anomalo).
  • Se non contiene nulla di speciale, continua con lo sfarfallio.

E ‘molto importante che nel caso in cui trovi qualcosa di utile, NON dovresti mostrare uno screenshot del crashdump che contiene un titleid / stringhe del gioco.

Fonte
Twitter

hitech

Ti è piaciuta la notizia? Supporta theheroGAC su Patreon!

theheroGAC

Nato negli anni 80 con la passione dei videogiochi e delle console.Il mio primo home computer è l'Amiga 600 regalato a 10 anni.Amo aiutare le persone in difficoltà e scrivere notizie sulle console.Studio all'università e il sito Games And Consoles è la mia passione.Per gli amici mi potete chiamare Ciccio

Ti potrebbe anche interessare

Rispondi