Voici la quatrième partie (Troisième sur zataz.com) des réponses concernant les épreuves du challenge Forensic proposé par les étudiants de la licence CDAISI lors du Forum International de la Cybersécurité 2014. Les 21 et 22 janvier derniers, la ville de Lille a reçu le 6ème Forum de la CyberSécurité. Pour la première fois, un Challenge « forensic » a été proposé. Le mardi 21, les étudiants de la licence CDAISI (Collaborateur pour la Défense et l’Anti-intrusion des Systèmes Informatiques) de l’Université de Valencienne (Antenne de Maubeuge) ont proposé une vingtaine d’épreuves. Étant l’animateur de ce rendez-vous, et que vous avez été très nombreux (et le mot est un doux euphémisme, Ndr) à demander les réponses aux épreuves, voici la seconde partie du Challenge Forensic FIC 2014.
Le challenge FIC a eu pour objectifs, en distinguant quelques profils prometteurs, d’encourager et de valoriser chaque année, les métiers liés au forensic et à la lutte informatique défensive. Vous allez comprendre pourquoi des étudiants, mais aussi des professionnels de chez Google, Thalès, … sont venus tâter du bit à la sauce ethical hacking [Voir]. Les nouvelles épreuves que nous vous présentons ici sont signées par Kévin B., Tony S. et Saïd M. Ils étaient encadrés par Thibaut Salut. Retrouvez la première partie des réponses au challenge forensic FIC 2014 de la CDAISI ici et là. Pour rappel, ces épreuves consistaient à la recherche d’un mot de passe dans un ou plusieurs fichiers, dans des programmes compilé, ou encore en déchiffrant des messages codés. Le but était de valider le maximum d’épreuves et ainsi engranger un maximum de points. Les épreuves étaient classées par niveau. Chaque épreuve, selon sa difficulté, pouvait rapporter plus ou moins de points.
Épreuve : A la suite
Contenu du fichier :
d95679752134a2d9eb61dbd7b91c4bcc4b43b0aee35624cd95b910189b3dc2317b8b965ad4bca0e41ab51de7b31363a1
865c0c0b4ab0e063e5caa3387c1a8741e358efa489f58062f10dd7316b65649e2510c39011c5be704182423e3a695e91d
95679752134a2d9eb61dbd7b91c4bcc4b43b0aee35624cd95b910189b3dc231415290769594460e2e485922904f345d
7b8b965ad4bca0e41ab51de7b31363a17694f4a66316e53c8cdd9d9954bd611d7b774effe4a349c6dd82ad4f4f21d34ce1
671797c52e15f763380b45e841ec32.
Cette épreuve avait pour but de reconnaître des Hash MD5. En effet le fichier avait chaque lettre d’un mot hashé en MD5. Chaque hash placés les uns à la suite des autres. Nous avions donc ici 13 hash MD5. Les participants devaient découper cette chaîne de caractères, toutes les 32 caractères (longueur d’un hash MD5, Ndr) et à l’aide d’un dictionnaire de reverse MD5 trouver la lettre qui correspondait à chaque hash.
o = d95679752134a2d9eb61dbd7b91c4bcc
r = 4b43b0aee35624cd95b910189b3dc231
n = 7b8b965ad4bca0e41ab51de7b31363a1
i = 865c0c0b4ab0e063e5caa3387c1a8741
t = e358efa489f58062f10dd7316b65649e
h = 2510c39011c5be704182423e3a695e91
o = d95679752134a2d9eb61dbd7b91c4bcc
r = 4b43b0aee35624cd95b910189b3dc231
y = 415290769594460e2e485922904f345d
n = 7b8b965ad4bca0e41ab51de7b31363a1
q = 7694f4a66316e53c8cdd9d9954bd611d
u = 7b774effe4a349c6dd82ad4f4f21d34c
e = e1671797c52e15f763380b45e841ec32
La réponse finale était : ornithorynque.
Inspirée par Gilbert Vernam, le but de cette épreuve était de déchiffrer le masque ayant servit à chiffrer le message codé. Le principe de Gilbert Vernam est le suivant :
– Le masque doit être de la même taille que le message à chiffrer.
– Le masque ne doit jamais être ré-utilisé.
– Le masque doit être réellement aléatoire.
Cependant, pour cette épreuve, les organisateurs ont créé le masque, d’où le fait que cette épreuve est uniquement “inspirée “ de Vernam. Le message Codé était : HWYKSLK UEGWJSGU ZYMREE 3 TXEAA 1890 – 7 NVFVXEXG 1960 HBW RG VX&K OEXD PLPF WBTXEMRT EWS TR 1917 UNNUHXHR IG EWUMWMGE BSXCTLXSLFUNMN WFVWSM MROMW FEH WEFEJ SI MAZHBBXM AZ ACLSFRXVH IGM-EQEI AEP CAFBIU JMKRTD TISTZDIP E GXLPTRBBBVV RWJYGV BG ALXTL U KVRJCGHGFQ XEWEIISQ CHC CEBX HU DDTHV VHXJ NJ GAQOBRXF GATVCNXJE FQ VWAJANXEK KQKL ELQ DEDMCTWPX PIUWCNE EZ TEUHYUX ZPP DMGAZV KRXF. Le challenger devait utiliser les chiffres qui n’étaient pas “chiffrés“ pour pouvoir en déduire la page originelle se trouvant sur internet. La première difficulté était d’essayer ces dates, avec mois, en anglais.
Message d’origine : Gilbert Sandford Vernam 3 April 1890 – 7 February 1960 was an AT&T Bell Labs engineer who in 1917 invented an additive polyalphabetic stream cipher and later co invented an automated onetime pad cipher Vernam proposed a teleprinter cipher in which a previously prepared key kept on paper tape is combined character by character with the plaintext message to produce the cipher text. La seconde étape était d’en déduire le masque. Il était possible de le faire à la main, en comparant les caractères codés et d’origines. Une méthode longue. Il était donc possible d’utiliser des utilitaires disponible sur internet comme Dcode pour en déduire le masque.
Le masque reconstitué donnait : bonjour cette epreuve est inspiree de gilbert vernam selon son principe le masque doit etre de la meme taille que le message chiffre le masque ne doit jamais etre reutilise le masque doit etre reellement aleatoire pour cette epreuve nous nous inspirons de sa methode de chiffrement et cette clef n est pas aleatoire le mot de passe de ce challenge est gilbert vernam.
Épreuve : HaveFun
Cette épreuve était un fichier exécutable. Le programme, une compilation d’un code écrit en C, compilé à l’aide de GCC. Les participants devaient donc désassembler l’exécutable, à l’aide de GDB par exemple, pour retrouver le pass caché à l’intérieur. Code C : Une variable déclarée initialisée à 0x41. Elle correspond au code hexadécimal de l’ascii ‘A’. Il fallait déclarer un tableau de caractères. Puis incrémenter ou décrémenter la variable, puis assigner la valeur résultante dans l’une des cases du tableau. Le mot de passe final de cette épreuve était ‘OMGWTFBBQ‘.
Épreuve : Le rendez-vous du musée
Voici une épreuve se constituant d’un mail banal en apparence mais contenant un indice caché en WhiteSpace. Il suffisait de regarder dans le coin, en haut à gauche, et utiliser une image en pièce jointe. Le but était d’en déduire un lieu et une date de rencontre. Dans cette épreuve de stéganographie, il fallait apercevoir un QrCode, celui-ci, tel-quel, ne pouvait pas être scanné. Il devait être reconstitué. Il fallait donc recréer les carrés ; inverser horizontalement le QrCode ; inverser les couleurs. Une étape inutile avec certains scanners de QrCode. Cette reconstitution permettait de lire le flash code. Il dirigeait le joueur au pied de la Tour Eiffel.
L’étape suivante était de retrouver la date et l’heure du rendez-vous, pour cela, le challenger devait découvrir l’indice se situant dans le mail, sinon il devait analyser l’image de fond en comble. La date et l’heure étaient fondus dans la peinture de la pièce. Difficile à déchiffrer. Une excellente vue ou bonne maitrise d’un logiciel de retouche d’image était nécessaire. Le mot de passe était : TourEiffel10juin201416h15
Épreuve : cœur
Cette épreuve combinait de la stéganographie, de la recherche ainsi que la reconstruction d’un fichier corrompu. Les participants avaient à leur disposition un fichier PDF d’une nouvelle de Edgar Allan Poe. Ils devaient ouvrir ce fichier PDF en hexadécimal, à l’aide du logiciel hexeditor par exemple. Le concurrent devait se rendre compte que des données étaient cachées à la fin du fichier. En effet, un fichier PDF normal se termine par un EOF (End Of File). De ce fait, si on rajoutait des données à la suite de ce EOF, le fichier PDF restait lisible et sans perturbation. Il fallait constater après ce EOF, une suite de chiffre, 6, 22, 5, puis des données. Ces données correspondaient à une image compressée en RAR, rar corrompu. L’indicateur de fichier ‘Rar !’ était remplacé par des 0x00. Les données extraites du PDF, et les quatre premiers octets remplaçaient par 0x52, 0x61, 0x72 et 0x21, réclamaient un mot de passe. C’était ici que la suite de chiffre rentrait en compte.
En effet, 6, 22 et 5 correspondaient respectivement à un numéro de page, un numéro de la ligne et un numéro du mot. Si on ouvrait le PDF avec ces indications. La page 6, ligne 22, 5e mot correspondait à EPECTASE. Le plus « bourrin » auront utiliser un brute force sur le mot de passe qui donnait accès à l’image orgasme.jpg, et au mot de passe EPECTASE.
Épreuve : Wait Whaat
Cette épreuve se composait de 6 fichiers. Ces fichiers étaient en fait composés de données aléatoires dans le seul but de brouiller les pistes. Les participants devaient se concentrer sur les droits des différents fichiers, chaque fichier ayant des droits bien spécifiques et « non normaux ». Prenons par exemple le fichier 1, qui avait les droits : – – – x – – x r w x. On admettra que : ‘-‘ = 0 ; lettre = 1. On obtennait donc : – – – x – – x r w x, soit 000 1 001 1 1 1. Informations qui donnait le chiffre hexadécimal 0x4F. Dans la table ascii correspondante, cela donnait la lettre ‘O’. La procédure était la même avec les autres fichiers.
—x–xrwx = 0 001 001 111 = 0x4F = ‘O’
—xr—wx = 0 001 100 011 = 0x63 = ‘c’
—xrw-r– = 0 001 110 100 = 0x74 = ‘t’
—xr—-x = 0 001 100 001 = 0x61 = ‘a’
—xrw-rw- = 0 001 110 110 = 0x76 = ‘v’
—xr–r-x = 0 001 100 101 = 0x65 = ‘e’
Les droits étaient les suivant :
fichier 1 : chmod 117 1
fichier 2 : chmod 143 2
fichier 3 : chmod 164 3
fichier 4 : chmod 141 4
fichier 5 : chmod 166 5
fichier 6 : chmod 145 6
Au final, le mot de passe de l’épreuve était ‘Octave’.
La suite de la seconde partie des épreuves du challenge Forensic FIC 2014 CDAISI.