CryptoLocker
Last updated
Last updated
Categorie: Reverse - Points: 100 - Difficulté: Très simple - Solves: 250 Description: Les preneurs d'otages ne sont que des mercenaires payés pour faire le sale travail. Aucun d'entre eux n'a suffisamment d'information pour identifier les commanditaires. Une fois la situation revenue sous contrôle, Lise MITENER a récupéré son ordinateur personnel. Malheureusement, cette dernière nous indique que ces fichiers sont devenus illisibles. Visiblement, la totalité de ses documents a été chiffrée. Nos équipes ont pu retrouver l'exécutable à l'origine de cette modification, voyez s'il est possible d'en extraire des informations nous permettant de remonter la trace des commanditaires. Bien commencer : Il est fort probable que les preneurs d'otage n’ont pas été payés uniquement pour chiffrer les fichiers de madame MITENER. Les commanditaires sont surement intéressés par ses recherches, ainsi, les documents ont probablement été téléversés sur un serveur distant. Fichier :
Indice:
Le développeur a masqué l'URL et les informations d'identification dans une variable codée en dur.
Solution: Pour résoudre ce challenge il faut trouver les informations d'un "serveur" pour pouvoir retracer les preneurs d'otage. Avec l'indice en plus, nous savons clairement quoi chercher. Donc la première chose que je fais quand je dois faire du reverse, c'est de mettre le fichier sur une machine isolée (sait-on jamais) et de l'éxecuter pour voir son fonctionnement. Cela me permet de voir ce qui est demandé (input) et renvoyé par le programme. Ici lorsque nous l'exécutons, nous voyons qu'il nous demande une "clé" pour encrypter les fichiers :
Nous voyons donc maintenant comment le programme est exécuté et nous pouvons donc passer à l'étape du reverse avec le l'outil Ghidra. La phrase que nous avons recueillis plus tôt (Enter the key) va nous permettre de faire une recherche à l'aide du menu "Search > For strings" et de trouver directement le endroit où chercher :
En regardant un peu plus bas, nous pouvons voir des chaines de caractères en base64 :
dXNlcj1ib3QmcGFzc3dvcmQ9VzBya18xbl9QUjBHUnM1
-> |Base64 decode| -> user=bot&password=W0rk_1n_PR0GRs5
aHR0cHM6Ly9jY29mZmVlLmNoYWxsZW5nZS5vcGVyYXRpb24ta2VybmVsLmZyL2MyZW5jcnlwdC5weQ==
-> |Base64 decode| -> https://ccoffee.challenge.operation-kernel.fr/c2encrypt.py
Nous essayons donc d'accéder à l'URL récupérée mais il y a un souci... Nous essayons donc d'enlever la fin (encrypt.py
) et maintenant nous arrivons sur une page de connexion où nous rentrons nos infos :
Une fois connecté, nous arrivons sur un site web "vitrine" et en descendant sur ce dernier nous trouvons le flag :