Compétition, Event

Hack The Game Writeup – BSides Algiers 2k15

bsides algiers

Une édition très riche en épreuves, des challenges allant du plus facile au plus difficile, préparés par Asma DIB, Sabrina AMROUCHE, Sofiane TALMAT et Hamza TAHMI.

Web, Cryptographie, Reverse Engeneering, Forensic, mixés à quelques challenges réalistes dont le fameux “Hack The Game” resté sans solution à la fin de cette compétition.

Essayons de voir ensemble la solution à ce challenge.

Pour commencer, deux éléments nous ont été fournis : le client d’un jeu en ligne ainsi qu’un fichier pcap contenant les requêtes échangés entre le client de l’administrateur et le serveur de jeu.

le but de ce challenge était de récupérer le mot de passe de l’administrateur, se connecter au serveur et envoyer un packet “FL” qui permettait de récupérer le flag.

Screenshot from 2015-04-21 17:03:37

Screenshot from 2015-04-21 17:05:58

Screenshot from 2015-04-21 17:07:24

En créant un compte “user:user” et en se connectant sur le serveur (plusieurs fois) on arrive à remarquer ceci :

Screenshot from 2015-04-21 17:18:56

Screenshot from 2015-04-21 17:18:20

Screenshot from 2015-04-21 17:19:15

À chaque connexion, une nouvelle chaine est envoyée par le serveur, nous remarquons également que la chaine qui représente le mot de passe crypté est différente à chaque login, nous pouvons donc déduire que la chaine après le “HC” est la clé qui est utilisée par le client afin de crypter le mot de passe avant son envoi au serveur.

Essayons de fouiner dans le code source du client afin de trouver la routine qui permet de crypter le mot de passe :

en utilisant “flare

Screenshot from 2015-04-21 18:55:41

après une petite recherche dans le fichier “loader.flr” (ctrl + f : crypt) voici la fonction qui s’occupe du cryptage du mot de passe :

 

un petit script permettant de cracker le mot de passe de l’admin est nécessaire :

Mot de passe admin  : “D0fusBA2k14”

Maintenant il nous reste plus qu’à nous connecter avec les identifiants “admin:D0fusBA2k14” et envoyer le packet “FL” pour récupérer le flag :

Flag{c4f6ac9a053d8c1fa0e695b102fdadaf}

Standard

One thought on “Hack The Game Writeup – BSides Algiers 2k15

Leave a Reply