Principe:
Transformer un signal audio stéréo en coordonnées (X;Y), les tracer, et lire le flag qui en résulte
Le challenge
Audacity
Avec un clic droit sur un canal audio, vous pouvez passer du diagramme d'échantillons
(en bas, en bleus) au spectrogramme de fréquences (en haut, en rouge-bleu).
Parfois, l'un sera plus intéressant que l'autre
Au vu de l'audiogramme du bas, il me semblait certain que 1 bruit = 1 lettre.
Cela se confirme car le 3e bruit et le premier sont identiques,
ce qui correspond bien aux 4 dans le pattern 404CTF{…}.
Il se peut aussi que les bruits "très en bas" sur l'audiogramme soient les underscore,
souvent un peu "spéciaux" par rapport aux caractères alphanumériques
Décoder l'audiogramme
Mon but était alors de décoder le flag comme un chiffrement par substitution,
et d'en tirer peut-être un indice pour résoudre réellement le challenge :)
Ma méthode de mesure était imprécise: les bruits 0 et 2, théoriquement identiques
car représentant un 4, n'avaient pas les mêmes valeurs:
l'égalité doit donc être "floue" (approximative) pour que la méthode marche
En dehors du C et du 0, les autres lettres ont été choisies au hasard.
Le fait que le dernier mot finisse en C0pe est juste un coup de chance
Trouver les mots
On a quand même de la chance: le 0 se retrouve à plusieurs endroits,
donc, on sait que plusieurs lettres sont des O. De même, le 4 dans le flag est
certainement un A
On ne peut pas soumettre ce flag "deviné" car il est écrit en l33t et on ignore sa casse.
On va donc devoir résoudre réellement le challenge, et se servir de ce qu'on a trouvé seulement
comme d'un indice
Oscillons
Ayant la courbe précédente en tête, je m'étais dit "cette idée marcherait surement bien,
car les underscores sont représentés par une courbe (rouge) quasi plate et une courbe (bleue)
qui monte un peu, ce qui dessinerait bien un trait plat si la courbe rouge est Y et la bleue X
Traçons
Notez que, ayant 48000 échantillons par lettre, si on écoute l'audio avec une fréquence d'échantillonnage
de 48kHz, alors chaque lettre durera 1 seconde exactement