Où trouver le challenge ?

Le challenge se trouve dans ce repo github.

Résolution

Ce challenge est basé sur l'utilisation du OTP (One Time Password). Ce protocole est réputé incrackable si le mot de passe utilisé pour chiffrer ne l'est qu'une seule et unique fois.

Ici on peut voir qu'il y a plusieurs messages, si c'est message utilise le même OTP alors il sera assez simple de le cracker.

Comme nous savons que le drapeau doit suivre un format spécifique (ALEXCTF{[A-Za-z0-9_]*}), nous avons le début de la clé, qui permet de décrypter le début de chaque message !

En cherchant un peu on peut apprendre qu'une technique pour déchiffrer un OTP utilisé plusieurs fois est le "crib draging".

Pour mettre en place cette technique je vais utiliser cet outil.

Essayons avec une première phrase.

Le résultat n'est pas mal mais on se retrouve assez vite coincé, il faudrait déchiffrer les autres phrases pour pouvoir deviner le reste du message. Pour ça il va falloir les concaténer.

cat msg | tr -d '\n'; echo

Ensuite il ne reste plus qu'a suivre les indications du programme en gardant en tête que la clé est le flag que nous cherchons. Le premier crib est donc "ALEXCTF{".

Après quelques vérifications d'hypothèses on retrouve la clé de chiffrement et comme supposée, elle est utilisée pour plusieurs messages.

Social et Media

Comme toujours je suis disponible sur Twitter et cie, si vous avez des questions, des remarques, des suggestions etc. N’hésitez pas !

Twitter: @GhostAgs

Discord: hackraw