THCon 2025 CTF - Interférence étrangère, Writeup de Stéganographie
·528 mots·3 mins
Auteur
Lacroix Raphaël (Chepycou)
Bonjour, bienvenue sur mon blog. Je suis Raphaël LACROIX, je développe diverses applications pendant mon temps libre, allant du très inutile au parfois utile. Je fais aussi beaucoup de Capture The Flag et de défis de cybersécurité.
Sommaire
Sommaire
write-ups et tools THCon - Cet article fait partie d'une série.
La THCon (Toulouse Hacking Convention) est une conférence française sur la cybersécurité qui réunit chaque année à Toulouse, en avril, des passionnés, des professionnels et des chercheurs.
Pour cette édition (2025), j’étais l’un des créateurs de défis et j’ai conçu un défi geosINT en 6 parties, quelques défis de stéganographie, tout en veillant à ce que tous les défis soient cohérents avec le lore.
Note : Si la plateforme CTFd n’est plus en ligne, si vous n’avez pas participé ou si vous ne vous souvenez pas des défis, vous pouvez consulter https://ctftime.org/event/2660/tasks/, bien que tous les défis ne soient pas forcément répertoriés, malheureusement :/
Nous recevons un fichier audio dans lequel les 1000 Hz les plus bas constituent en réalité un spectre complet de fréquences d’un leitmotiv où je répète une phrase, mais transposée d’une octave vers le bas (c’est-à-dire “compressée” dans la plage 0-1000 Hz), et les fréquences les plus hautes correspondent à l’hymne américain (pour la NUSA). Il y a du bruit sur la partie audio la plus basse qui couvre le leitmotiv, mais ce bruit diminue à un moment donné (environ 30 secondes).
Après extraction, nous entendons « God Save The King » (1er flag, « God Save the Queen » est également accepté). Si nous essayons d’extraire le fichier .wav avec steghide, nous trouvons un Keepass et un flag. Le 1er flag (« god save the king ») permet d’ouvrir le Keepass pour trouver un 3e flag (de sorte que résoudre seulement l’un des sous-défis rapporte tout de même des points).
Le fichier audio contient étrangement uniquement des fréquences hautes et si nous l’ouvrons avec Audacity, nous observons un comportement étrange autour de 34 secondes. Nous pouvons nous concentrer sur une seule répétition du leitmotiv.
Nous constatons qu’en dessous de 1 kHz, il y a du bruit + quelque chose, et au-dessus, l’hymne. Nous pouvons donc supprimer le son au-dessus de 1 kHz :
Effects > EQ & FIlters > Graph EQ
Then make a low-pass filter like :
Ensuite, appliquer un filtre passe-bas comme suit :
Nous entendons maintenant un bruit étrange, semblable à une voix, autour de 34 secondes.
Il faut maintenant rétablir la hauteur, entre 1 et 2 octaves donne les meilleurs résultats :
Effects > Pitch & Tempo > Change Pitch
Ainsi, nous trouvons « God Save The King » (« God Save the Queen » est également un flag accepté).
Note : Si le texte n’est pas audible, des IA peuvent être utilisées pour le déchiffrer :
En recherchant une liste d’outils pour les fichiers WAV, steghide (qui utilise la stéganographie LSB) est l’un des premiers. Il suffit d’exécuter :
steghide extract -sf output.wav # (Aucun mot de passe requis)
Pour récupérer l’archive intégrée dans le fichier. Elle contient un flag (2e flag) + une archive Keepass qui doit être ouverte en entrant god save the king comme mot de passe.
Une fois l’archive Keepass ouverte (donc une fois que le joueur a obtenu les deux flag), elle contient le 3e et dernier flag.
Félicitations aux 17 équipes qui ont réussi !
write-ups et tools THCon - Cet article fait partie d'une série.