Hamac (Intro) - FCSC 2022

Hamac (Intro) - FCSC 2022

Fichiers du challenge Principe:
Un brute-force d'un hash via John The Ripper

Hamac — FCSC2022

Le challenge

Le challenge contient un fichier hamac.py dont output.txt est la sortie (fichiers disponibles ici). Le but est de retrouver le password.

Comme on reverse le script python, il faut le lire de base en haut. output.txt contient la sortie d'un chiffrement AES standard, dont le mot de passe est le SHA256 du password que l'on cherche. On ne pourra donc pas brute-forcer la clef AES. Mais on peut brute-forcer le mot de passe.

Brute force

On isole le hash du output.txt et on brute-force (pour le fun, je l'ai aussi fait via PHP). Résultat: omgh4xx0r

Le challenge nous a parlé de "rockyou": cela nous donne le dictionnaire à utiliser pour le brute force.

Déchiffrement

Le déchiffrement peut alors se faire via openssl où l'IV est pris de output.txt, K est le sha256 du mot de passe echo -n 'omgh4xx0r'|sha256sum et cypher.raw est cat cypher.txt|xxd -rp

Attention en calculant le SHA256 de K via echo car cette commande insère automatiquement un retour à la ligne 0x0A, qui sera aussi hashé! D'où le flag -n

Et on a notre flag FCSC{5bb0780f8af31f69b4eccf18870f493628f135045add3036f35a4e3a423976d6}

On peut aussi utiliser un code python (voir les fichiers de résolution) pour déchiffrer le flag à partir du mot de passe trouvé

On aurait aussi pu hasher en SHA256 tous les mots de passes de rockyou, puis les utiliser en brute force pour casser le cypher AES. Mais brute-forcer un hash est plus rapide que brute forcer de l'AES (ce qui a d'ailleurs moyennement de sens), donc, j'ai brute-forcé le hash.

Brute-forcer de l'AES n'a pas de sens car AES sera toujours déchiffrable quelque soit le mot de passe utilisé. En revanche, ce qui aura été déchiffré n'aura pas de sens (et ne sera pas la même chose que le texte original) si la clef AES n'est pas la bonne.

Fichiers du challenge

↩ Retour à la liste des challenges

⇇ Retour à l'accueil