LE BLOG DE RICK Chasseurs de succès Linux Random wu Flux Atom

Par Rick dans wu le 22/08/2025.


Hero CTF 2023

Ce billet de blog devait être publié en 2023. Plus de 2 ans plus tard, le voilà (vaut mieux tard que jamais honk honk). J'espère que l'absence des captures d'écrans n'est pas un problème.

Give my money back

Ce flag contient un vrai virus, on va le manipuler avec attention.

Une fois l'archive zip ouverte, on voit un fichier avec nom étrange. Après un coup de file pour pouvoir en connaitre la nature, on peut l'ouvrir rapidement après la compilation de l'outil nécessaire. Il s'agit d'une archive cab, propre à Windows.

À l'intérieur, on trouve un fichier description.txt qui ne contient rien d'intéressant (peut-être des logs ?) et un fichier VBS. Le VBS est une version du langage Basic développé par M$.

En le lisant, on voit que le contenu a été obfuscé (nom de variables DÉGUEULASSES et comme le VBS s'en fout de la casse, on a des noms qui changent tout le temps) et on remarque aussi un gros bloc de calcul. En lisant le reste du code, on voit que ce bloc est découpé avant d'être traduit en une chaine de caractères qui est ensuite évalué (= exécuté). On peut alors faire un tout petit script en python pour pouvoir traduire ce bloc et lire le code source.

# pour des raisons de lisibilités, le bloc de calcul est remplacé ici par le
# mot "bloc".
strange_string = "bloc"

ret = ""
for c in strange_string.split('*'):
    ret += chr(int(eval(c)))
print(ret)

Une fois ce script exécuté, on voit un bloc plus lisible de VBS qui est triviale. On repère rapidement l'email de l'attaquant ainsi que le dernier fichier envoyé (qui est une référence subtile au titre, default_wallet).

Un bon petit chall, pas trop compliqué et qui change des binaires habituels !