Une vulnérabilité dans The Heist et comment l’exploiter

Si vous avez raté l’actualité dernièrement, MacHeist a publié un jeu pour iOS nommé The Hiest. Le bus de ce jeu est de réaliser différents casses-têtes pour déverrouiller un coffre fort. Super un coffre-fort, mais qu’y a-t-il dedans ?

Selon les rumeurs, il s’agirait d’un code pour télécharger un jeu via Steam. Plutôt intéressant non ? pour 79cts, on aura le droit à deux jeux !

Voici la vidéo de présentation du jeu, ainsi que le lien pour télécharger The Hiest sur l’AppStore.

Quel rapport avec le titre ? J’y arrive à l’instant.

Un hacker s’est amusé à lancé tcpdump, avant de valider l’ouverture du coffre. Il a pu constater une failblesse dans la sécurité et la connexion au serveur de MacHeist. Le texte est transmis en clair et la connexion n’est pas sécurisée (passer par de un https aurait été plus intelligent).

Jusque là, rien de passionnant… Sauf que durant l’échange deux paramètres sont transmis dans la chaîne : prize=%@&random=%@&signature=%@&levelData=%@. Figurez-vous que la taille de ces deux champs correspond au résultat d’un cryptage par sha256. Mouais, toujours pas avancé avec tout ça. Mais si, maintenant que l’on sait ce que l’on cherche, il n’y a plus qu’à trouver où est fait le cryptage.

Et c’est là qu’est la faille ! En effet, les clés sont générées à partir de la combinaison de l’UDID et du nom du iDevice. Il suffit donc de changer l’un des deux pour pouvoir générer une nouvelle clé.

Pour récupérer une nouvelle clé, il faudra se rendre dans le fichier des préférences de l’application qui contient un champ avec un nom très évocateur (que je ne donnerai pas pour ne pas encourager au hack). Il suffira de vider le champ pour redemander une nouvelle clé.

Il vous faudra un iDevice jailbreaké pour accéder à ces fichiers. Voici le tutoriel pour le faire pour l’iOS 4.3.3 ainsi que pour l’iOS 4.3.2.

N’oubliez pas de me suivre sur Twitter pour ne rien article des news à venir !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.