La méthode française (Stéganographie) - 404CTF 2022

La méthode française (Stéganographie) - 404CTF 2022

Fichiers du challenge Principe:
Avoir de l'oreille (ou un spectrogramme) pour reconstituer la partition d'une musique et retrouver le chiffrement par substitution donnant le 'signal' à Hallebarde

Le challenge

Le challenge nous donne une musique et des nombres associés (dispos ici)
Et on doit déchiffrer le message

La flemme qui foire

Comme la musique n'est pas un ensemble de bruits, mais de notes, j'ai voulu en retrouver la partition automatiquement
Mais le résultat était mauvais avec des fausses notes
Certains outils faisaient mieux, avec même la partition, mais le résultat était incomplet et pas nécessairement juste
J'ai aussi tenté d'identifier la musique, desfois que la partition existe en ligne, mais là aussi, échec total

Comme il n'était pas possible de demander aux participants d'être musiciens depuis 20 ans, je suis parti sur l'idée que seules les notes "principales" étaient utiles: les autres notes, "d'accompagnement", ne devait servir à rien. Or, ces notes génèrent des données inutiles dans les outils de conversion automatique, puisque eux génèrent la partition de toutes les notes

A l'oreille… ou presque

Comme le code se basait certainement sur les notes de musique, j'ai pris le spectrogramme du morceau, je l'ai paramétré, et tenté de retrouver les notes

Le spectrogramme le donnait les fréquences principales (par exemple, environ 580Hz et 1200Hz pour la première note). Considérant que les harmoniques sont des multiples, cela me donne un indice de la fréquence de la note (ici, 580Hz). En cherchant les fréquences des notes sur Wikipedia, on retrouve alors la note la plus proche

Avec un site de piano en ligne, j'ai pu rejouter les notes principales du morceau.

Si vous voulez le rejouer, les raccourcis des notes sont donnés dans le ZIP du challenge

Déchiffrer

Maintenant qu'on a la partition principale, il va falloir la déchiffrer… j'ai d'abord transcrit les notes en notation anglaise, mais n'ai rien pu en faire
J'ai alors cherché à mapper note + nombre donné par l'énoncé à une lettre de l'alphabet. Comme Les sanglots longs des violons rentre, j'ai essayé à partir de ça

J'ai rapidement exclus tout déchiffrement complexe, ou toute utilisation de table ASCII: le challenge nous dit qu'un "badeau de nulle part, de la Philarmonie de Paris" est capable de déchiffrer le message. Donc, aucune connaissance informatique ne devrait être nécessaire

Le code est simple, donc, je suis parti de l'idée que la hauteur de la note (ce ne sont que des blanches) correspond à la place de la lettre dans l'alphabet. Cela m'a donné DE_A______EA_A______EC___E ce qui donne une proportion convenable de E et de A.
A partir de ce début de message et de façon similaire à Stéréographie (Stéganographie) , j'ai trouvé un mot "MUSIQUE" qui rentrait bien
Si le M est codé par Note: 5, Code: 1 alors le Note: 4, Code: 1 doit certainement être la lettre précédente, donc, le L.

En procédant ainsi, j'obtiens un message pas trop mal: DELAMUSIQUEAVANTTOUTEC___E

En pratique, je me suis aussi aidé d'un script maison et d'un dictionnaire français, que j'avais déjà collecté pour Armagan, mon générateur d'anagrammes

Ce script m'a sorti, parmis d'autres, delamusiqueavanttoutecjkle et autres variantes: le résultat était très bon, mais impossible de retrouver correctement le dernier mot!

En y allant à la devinette, j'ai considéré que je m'étais planté sur mes dernières notes. Une recherche internet confirme que la phrase De la musique avant toute chose vient d'un poème de Verlaine, ce qui est crédible
Et ce fut en effet le bon flag: 404CTF{DELAMUSIQUEAVANTTOUTECHOSE}

Fichiers du challenge

↩ Retour à la liste des challenges

⇇ Retour à l'accueil