Le challenge est constitué d'une image au format PNG.
Après avoir dézippé l'archive le terminal nous indique que le seul fichier obtenu, head.png, est executable.
pat_le_panda@bt:~/stegano$ ls -l total 56 -rwxr-xr-x 1 pat_le_panda user 22571 2012-06-29 10:49 head.png -rw-r--r-- 1 pat_le_panda user 30720 2012-06-30 17:45 sancho1.tar pat_le_panda@bt:~/stegano$ ./head.png : command not found �PNG ./head.png: line 2: ▒: command not found ./head.png: line 3: syntax error near unexpected token `(' IHDR��.png: line 3: ` Í�d�IT pHYs��(�8�tEXtSoftwarewww.inkscape.org��<▒ IDATx��]wXT��~��{�"' pat_le_panda@bt:~/stegano$
Le fichier ne semble pas pouvoir lancer la moindre commande ….
Il reste donc à l'ouvrir dans un éditeur d'image pour voir à quoi ressemble ce PNG :
L'image s'affiche parfaitement, il y a de grandes chances pour que le chmod du fichier ne soit qu'un piège. L'homme nous prévient : il va falloir se creuser la tête, qu'à cela ne tienne allons chercher une pioche !
Bidouiller le contraste, la saturation, appliquer des filtres de différentes couleurs ne donne aucun résulta0t.
Après quelques temps, on remarque que le fond qui a première vue ne semble être que du bruit aléatoire est en fait la répétition du même motif :
Si on omet les effets d'ombres et le contour approximatif ce dernier est en fait un damier de 8×6 de carrés blancs ou noirs. 8 c'est justement le nombre de bits utilisé pour coder un caractère en ASCII. Vient alors une idée ; chaque ligne pourrait représenter une lettre : un carré blanc constitue un 0, un noir un 1. Si on “lit” le motif avec cette règle on obtient :
01010011 = 0x53
00110100 = 0x34
01001110 = 0x4e
01000011 = 0x43
01001000 = 0x48
00110000 = 0x30
Ce qui donne en ASCII : “S4NCH0”. w00t ! c'est justement le nom de l'épreuve. On calcul le hash md5 de la chaine trouvée, md5(“S4NCH0”) = “975186cff0a2bfd07862175d40fa36ff”.
Le challenge est validé.