Préchauffe

A 16h25, le 1er Avril : Ben (le prénom n’a pas été modifié) nous a spammé : « le challenge SSTIC 2015 est sorti » nous annonce-t-il.
Si l’on en croie le dernier message sur Twitter du SSTIC, c’est crédible. Ni une ni deux, sans tenir compte des dernières sensibilisations sur le spam et le phishing, le lien du message est cliqué complétement impunément.

On tombe sur un blop binaire : déjà cela parait bizarre : les années précédentes il y avait toujours une page qui expliquait les règles d’engagement du challenge. Bref, ca sent le poisson d’Avril. Mais quand même pour le principe et en guise d’échauffement, nous allons tenter de voir de quoi il retourne ! Une fois téléchargé, on commence par les classiques :

%> file chlg-2015
%> strings chlg-2015

Rien de bien explicite.  On tente un petit hexdump

%> hexdump -C chlg-2015 | more
00000000  53 61 6c 74 65 64 5f 5f  44 19 80 b6 42 5f d4 ff  |Salted__D...B_..|
00000010  1e 5c 83 a1 c4 d7 24 f5  46 97 9a ac 25 71 5f 8e  |.\....$.F...%q_.|
00000020  64 e2 52 ad 89 47 11 9e  c4 ad 92 9b 65 05 4d e2  |d.R..G......e.M.|
00000030  ff 44 0a dd d4 38 27 3c  4b 8d 76 0d 41 6d c8 83  |.D...8'<K.v.Am..|
00000040  29 0e 80 14 1c e7 88 a2  b6 c7 cd 00 d8 e9 98 bd  |)...............|
00000050  e4 0c cb 76 4b 52 62 6e  0e e0 c9 66 b1 c8 c2 4b  |...vKRbn...f...K|

« Salted » mais dites donc : ca ressemble à du chiffrement par openssl tout cela !
Bref, ni une ni deux, en gros bourrin, on tente le brute force à base d’un dictionnaire constituer des mots du site SSTIC en aes-256-cbc en mémoire du Challenge de l’ANSSI.

Mais bon, cette approche parait un peu violente pour un poisson d’Avril (notamment en comparaison à celui de l’année passée). Du coup, regardons plus en détails la structure de ce fichier :

jshmendes@ubuntu:~$ ls -l chlg-2015
-rw-rw-r-- 1 jshmendes jshmendes 3000144 Apr  1 07:13 chlg-2015
jshmendes@ubuntu:~$ factor 3000144
3000144: 2 2 2 2 3 7 8929

Donc la taille de ce fichier est bien un multiple de 16 octets (soit 128 bits) : l’hypothèse de l’AES est donc crédible. Regardons par ailleurs la répartition des octets :

%> ./a.out chlg-2015
0 :   2322  148296    2661    2436    2291    2420    2427  147838
8 :   2075    2207    2283    2396    6113    2239    6142    1912
16 :   2633    1890    2994    2393    1989    2067    2233    2196
24 :   2242    2141    2713    2823    2047    2116    2890    1998
32 :   2404    2594    2599    2319    2218    2899    2279    2458
40 :   2324    2860    2422    2678    2783    2090    2510    2336
48 :   2142  147816    2686    2259    2638    2063    2162    2357
56 :   2317    2486    2298    2528    2204    2695    2229    2004
64 :   2513    2586    2044  148136    2408    2107    2770    2202
72 :   2284    2044    2312    9946    2168    2124    2275    2275
80 :   2197    2222    5795    2537    2652    2564    2083    2798
88 :   2603    2192    2238    2200    3108    2593    2439    2482
96 :   2122    2143  151381    2003    2051    2930    6381    2679
104 :   2356    2476    2822    2276    2552    2704    6203    2197
112 :   2589    2230    2415    2509    2210    2123    5856    2277
120 :   2108    2114    2340    2051    2605    2869    2612    2667
128 :   3161    1997    2290    2451    2454    2465    2520    2699
136 :   2523    2248  147702    2687    2691    2328    2597    3038
144 : 147889    2035    2565    2286    2532  148114    3093    2172
152 :   2055    2137    2051    2480    2308    2589    2147    2122
160 :   2851  148274    2620    2419    2649    2601    2348    2861
168 :   2524    2349    2675    2418    2422  293335    2553    1986
176 :   2668    6018    2284    2176    2670    2259  148467    2114
184 :   2212    2240    2487    2126    2086    2568    2267    2114
192 :   2358    1994    5795    2167  147661    2110    2047    2580
200 :   5705    5825    2366    5826    2683    1967    2300    2810
208 :   2308    2354    2430    2085    2111    3015    2275    1894
216 :   2175    2262    2970    2286    2513    2462    2492  148033
224 :   5823    2188    2590    2518    5844    2958    2820    2243
232 :   2486    2015    2809    2138    2858    2048    2647  148424
240 :   2559    1967    2298    2656    2570    2539    2729    2717
248 :   2456    2190    2378    1991    2551    2211  147630    2539
Nb total : 3000144
Occurrence Moyenne : 11719

Tout cela n’est pas trés uniforme…
Mais « dites-moi pas que ce n’est pas vrai » : Auraient-ils osé utiliser le mode ECB en contradiction totale de l’Annexe B1 du RGS v2 (p14) ?

Fichtre, diantre, que diable ! Cela bouscule tout.

« Vite vite qu’on m’apporte un header BMP ! » avons-nous aussitôt déclamé !

Comme personne n’est venu, on va le faire nous même. La structure de l’entête est assez bien détaillé sur wikipédia. Mais en même temps, nous n’avions pas que cela a faire : Un coup de mspaint et hexdump plus loin, nous voilà équipés de quoi modifier l’entête du fichier chlg-sstic.

00000000  42 4d be d1 0d 00 00 00  00 00 36 00 00 00 28 00  |BM........6...(.|
00000010  00 00 59 02 00 00 f6 01  00 00 01 00 18 00 00 00  |..Y.............|
00000020  00 00 88 d1 0d 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 ff ff  ff ff ff ff ff ff ff ff  |................|
00000040  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|

Ainsi une fois la modification faite, la commande file est bien plus polie :
%> file challenge.bmp
challenge.bmp: PC bitmap, Windows 3.x format, 601 x 502 x 24

Par contre, son ouverture dans un lecteur d’image nous écorche encore un peu les yeux. A taton, nous tentons plusieurs valeurs de largeur et longueur. Finalement, après quelques (environ 50) essaies :
%> file chal.bmp
chal.bmp: PC bitmap, Windows 3.x format, 1000 x 1000 x 24

Nous pouvons voir ceci :

Le SSTIC serait sponsorisé par PIXAR

Le SSTIC serait sponsorisé par PIXAR

Bingo !

Il est déjà tard dans la nuit. Et on s’aperçoit que la twittosphère a résolu le challenge depuis belle lurette…

En attendant le prochain, nous irons nous coucher fiers et avec le sentiment du devoir accompli : « C’est du fait maison, Monsieur ! »

Publicités

A propos JoMendes

Amateur de mathématiques et d'hexadécimal. Je m'intéresse de près ou de loin suivant mon niveau à tous les sujets de sécurité de l'information.
Cet article, publié dans Cryptographie Symétrique, est tagué , , . Ajoutez ce permalien à vos favoris.

Un commentaire pour Préchauffe

  1. Ping : Un challenge pour un boulot | Cryptobourrin

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s