Voilà que McCaulay Hudson dévoile déjà la deuxième partie de l'article sur l'exploit Mast1c0re. Un peu plus de 2 jours après la diffusion du premier article, voilà déjà que la partie 2 vient d'arriver. Il restera encore 2 parties supplémentaires à voir débarquer.
Dans cette partie il décrit comment il parvient à exécuter du code non signé sur PS2, après avoir démontré comment modifier le fichier de sauvegarde PS2 dans la première partie.
Le développeur continue de creuser dans l'exploit de CTurt, et nous guide à travers toutes les étapes qui sont nécessaires pour être en mesure de charger les isos PS2 à partir de l'exploit, sur une PS4 ou une PS5.
Dans le post d'aujourd'hui, nous apprenons que le jeu exploité, Okage Shadow King, effectue un contrôle d'intégrité sur les données sauvegardées (avec un CRC), ce qui signifie que si vous modifiez, par exemple, le nom du joueur pour déclencher un dépassement de tampon, le contrôle d'intégrité échoue et la sauvegarde ne sera pas chargée.
Le but vous l'aurez compris de profiter de ce contrôle CRC pour modifier les données, et passer par ce contrôle, ainsi il explique comment cela est possible. Dans la seconde partie de l'article, il explique comment pointer et utiliser le shellcode au sein de ce fichier de sauvegarde qu'il conviendra de charger en mémoire.
Jusqu'à présent, nous avons compris comment modifier un fichier de carte mémoire PS2 pour importer des fichiers personnalisés, modifier des fichiers existants, calculer la valeur CRC et développer un exploit pour obtenir une exécution de code arbitraire dans l'environnement PS2. En utilisant cet exploit, nous pouvons écrire un programme C personnalisé, le compiler dans un fichier ELF, puis le charger en mémoire et appeler le point d'entrée.
Dans le prochain billet de blog "mast1c0re : Part 3 - Escaping the emulator", nous développons davantage l'exploit existant et ciblerons spécifiquement l'émulateur PlayStation 4 et PlayStation 5 pour cibler une vulnérabilité d'écriture hors limites qui conduit à l'exécution de code ROP.