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

No Gravatar

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 !

Laissez une réponse