My tailor is rich (Crypto) - FCSC 2022

My tailor is rich (Crypto) - FCSC 2022

Fichiers du challenge Principe:
Inverser un mauvais algo de hashage maison pour trouver 8 collisions avec une valeur arbitraire

Le challenge

Un algorithme de hashage nous est donné…
…et on va devoir trouver 8 mots de passe (différents) qui donnent ce hash (fichiers disponibles ici)

J'ai vérifié que le challenge renvoie bien des hashs différents d'un appel à l'autre: si les hashs étaient constants, un gros brute-force offline aurait peut-etre suffit

Reverse

J'ai d'abord voulu monter une rainbow table, par flemme de faire le reverse engineering, mais finalement, ca n'a pas marché et j'ai donc dû trouver comment simplifier l'algo donné par le challenge

D'abord, on met l'algo un peu à plat en virant la boucle
On simplifie, ce qui se fait drastiquement bien
Encore
J'ai transformé ca en un code PHP, parce que j'aime bien PHP
Et j'obtiens un algo de reverse (moche, mais osef)

Le reverse se fait caractère par caractère, puisqu'ils ne s'influencent pas mutuellement, ce qui en fait un très mauvais algorithme de hashage!

Réussite locale!

En réitérant l'exécution 8 fois, on obtient 8 hashs différents

Livraison

Bon, comme d'habitude, ma plus grosse galère consiste à livrer le payload…

Donc, j'ai bêtement copié/collé rapidement le hash fourni par le challenge (EV68EL0T) dans mon script, puis copié/collé les valeurs (6xfhd275 2xfhh275…) que mon script me donne.

Et hop, flag!
FCSC{515dd8416571401f2f0bf039e9adeec0cb9c51f4430923baa9fcb3fa13e14091}

Donc, n'inventez pas vos propres algos de hashage!

Fichiers du challenge

↩ Retour à la liste des challenges

⇇ Retour à l'accueil