Aller au contenu
Retour aux défis CTF

Défi CTF

Cyber Beats NSEC 2020: compte rendu

Au dernier événement Northsec, j’ai eu la chance de m’amuser avec un défi audio. Je n’avais jamais fait de défi de stéganographie audio, alors ma façon de faire paraîtra peut-être évidente à certains, mais si vous êtes un parfait débutant comme moi, vous y trouverez peut-être des choses intéressantes.

Le mp3 était une pièce instrumentale d’une minute, de style gangster, sans rien d’anormal. J’ai regardé les métadonnées du fichier et rien ne ressortait. J’ai ensuite cherché « hidden message in audio file » dans Google et la première suggestion était d’utiliser un outil comme Audacity ou Sonic Visualizer pour analyser le fichier audio. J’ai décidé d’essayer Sonic Visualizer et j’ai affiché la forme d’onde à l’importation du mp3:

La forme d’onde du mp3 dans Sonic Visualizer, sans rien d’anormal.Rien d’anormal ici. Après avoir fouillé un moment dans les menus de Sonic Visualizer, j’ai trouvé le panneau Spectrogram:Le panneau du spectrogramme, où le texte « SH Sux » apparaît dans le tracé des fréquences.

On voit « SH Sux » (School sucks, la thématique du CTF) dans le spectrogramme! C’est un premier indice qu’un message était bel et bien caché dans le mp3. Ce n’était toutefois pas notre drapeau. J’ai essayé de modifier certains réglages du spectrogramme, comme la couleur, les échelles et les pics, sans rien trouver.

J’ai ensuite affiché un autre type de panneau offert dans Sonic Visualizer: le Melodic Range Spectrogram.

Le spectrogramme de plage mélodique, montrant un motif de barres rougeâtres hautes et basses.

Au premier coup d’œil, ça ne ressemblait à rien. En regardant de nouveau, j’ai cependant remarqué qu’il y avait peut-être un motif dans les barres rougeâtres. Pour le valider, j’ai chargé une chanson ordinaire et vérifié si un motif semblable s’y trouvait aussi. J’ai été content de constater que non!

Ma première idée a été de traduire ça en binaire. Les barres du bas sont des 0 et celles du haut des 1. J’avais de la difficulté à déterminer la position de certaines barres, alors j’ai modifié un peu les réglages d’affichage:La même vue de plage mélodique avec des réglages ajustés, rendant la position de chaque barre plus nette.

L’amélioration ne saute peut-être pas aux yeux, mais j’arrivais maintenant à identifier correctement chaque barre 😊

La transcription manuelle des barres en binaire m’a donné: 0100011001001100010000010100011100101101011000010011010000111000001110000011001000110001001100000011100100110100011001000011001001100010011000010011010101100010

J’ai mis ça dans un convertisseur binaire vers ASCII en ligne et boum! FLAG-a48821094d2ba5b

Merci de m’avoir lu,

Envoyez-nous un message

Seul votre courriel est requis. Choisissez un sujet, ajoutez une note, puis envoyez.

Incident en cours? Appelez la ligne 24/7 plutôt que d’attendre une réponse: +1 450 681-1681, poste 277