[ECW] - Babel
Sommaire
ECW 2023 - Cet article fait partie d'une série.
Enoncé #
Fichiers données #
On nous donne 2 fichiers :
Un fichier png
message.png
Un fichier texte
unknown.txt
# Contenu du fichier unknow.txt : ⁄⁅⁆⁵⁎ਵ⁄⁇⁁‰⁘⁔ਜ਼‵′⁄⁂ ⁺ ⁖⁔ਜ਼‴⁐ ‸⁰ ⁷⁁⁰⁆⁔‿⁋⁺ ‰੭ ‰‰⁄ ⁰⁉ਰ⁉⁄⁁⁛⁌⁈⁍…ੰ⁰⁏ ‰⁇⁙⁾‰⁅‴⁆″‰⁇‵⁗⁰ਵ⁈⁌⁊ ‰‰⁄⁃
Fausse piste #
Le fichier texte semble inutilisable pour le moment, je m’intéresse donc à l’image.
Analyse de l’image #
Je commence par utiliser AperiSolve pour voir s’il y aurait des informations cachées dans le fichier message.png
D’après la partie Strings et PngCheck il y a bien présence de certaines données correspondant à un profil ICC.
D’après Wikipédia :
Un profil ICC est un fichier numérique d’un format particulier (extensions .icc et .icm) décrivant la manière dont un périphérique informatique restitue les couleurs. Ce type de fichier a été créé par l’ International Color Consortium (ICC) pour permettre aux professionnels de la publication assistée par ordinateur de maîtriser les couleurs tout au long de la chaîne graphique ( gestion de la couleur).
Profil ICC #
Je vois sur un forum qu’il est possible d’appliquer un profil ICC custom avec Gimp, je me dis alors qu’appliquer ce profil va peut-être faire ressortir des informations spécifiques sur l’image.
J’extraie ce profil grâce à Binwalk et je l’applique à l’image depuis Gimp, mais aucun changement visuel, bizarre…
Après plusieurs heures à rechercher ce qu’il est possible de faire avec un profil ICC, je demande à un admin de l’ECW si je suis sur la bonne piste, celui-ci me répondra que non, il faut donc recommencer depuis le début 😭
Liste d’alphabets Dcode #
Après avoir essayé de faire de la recherche d’image inversé via Google et TinEye, je trouve cet article : https://renaud11232.github.io/ctf/CSCBE2019/Finals/rosetta/
Il s’avère que l’article traite d’un challenge similaire, celui-ci nous redirige vers une liste l’alphabet de chiffres et symboles du site dcode : https://www.dcode.fr/chiffres-symboles
Dans cette liste on retrouve bien tous les symboles présents sur le fichier message.png
Exemple 1 (langage Covenant) : #
Exemple 2 (Braille) : #
Déchiffrement du message #
En déchiffrant chaque symbole à la main, on peut maintenant lire le fichier message.png
Le message dit :
CONGRATULATIONS T0 OBTAIN THE FLAG GRAB ALL THE BYTES IN THE SEVENTH COLUMN FROM THE FILE UNKNOWN.TXT AND SHA1 THESE
Flag #
Pour obtenir le flag il suffit donc de récupérer les octets présents sur la 7ème colonne du fichier unknown.txt
, pour cela j’utilise la commande xxd unknown.txt
00000000: 6120 6520 6720 6620 6520 6420 6c20 4420 a e g f e d l D
00000010: 4520 4620 7520 4e20 350a 6520 6720 4420 E F u N 5.e g D
00000020: 6320 4720 6a20 4120 3020 6820 7220 5820 c G j A 0 h r X
00000030: 5420 5b0a 3520 3220 4420 6e20 4220 5f20 T [.5 2 D n B _
00000040: 6720 6c20 7a20 5f20 5620 5420 5b0a 3420 g l z _ V T [.4
00000050: 5020 6f20 6420 5f20 3820 7020 5f20 6f20 P o d _ 8 p _ o
00000060: 6520 7720 4120 560a 7020 4620 6b20 6520 e w A V.p F k e
00000070: 7220 6b20 5420 3f20 4b20 7a20 5f20 3020 r k T ? K z _ 0
00000080: 6d0a 5f20 3020 3020 6520 6320 7220 6120 m._ 0 0 e c r a
00000090: 7320 4420 5f20 7020 4920 300a 4920 7320 s D _ p I 0.I s
000000a0: 6520 6e20 4420 4120 5b20 6e20 4c20 4820 e n D A [ n L H
000000b0: 4d20 2620 700a 7020 4f20 5f20 3020 4720 M & p.p O _ 0 G
000000c0: 5920 6c20 6320 7220 6420 7e20 3020 430a Y l c r d ~ 0 C.
000000d0: 4520 6720 3420 6520 4620 6f20 3320 3020 E g 4 e F o 3 0
000000e0: 4720 3520 5720 7020 350a 4820 4c20 4a20 G 5 W p 5.H L J
000000f0: 5f20 6620 7220 6120 6a20 3020 3020 4420 _ f r a j 0 0 D
00000100: 4320 560a C V.
7ème colonne :
6c20 6720 7220 4220 5b0a 5f20 6b20 5f20 7220 4920 4c20 3020 3020 3320 4c20 3020
SHA1 = 128a64805be78e21dddb3aa3c7d72aecd7ee162d
🚩 Flag : ECW{128a64805be78e21dddb3aa3c7d72aecd7ee162d}