Magic
Dernière mise à jour
Cet article vous a-t-il été utile ?
Dernière mise à jour
Cet article vous a-t-il été utile ?
Catégorie: Forensics Difficulté: - Flag: CYBN{N0t_s0_sm4rt_l0ck3r_eh?}
Prenons le premier fichier chiffré. On voit qu'il est nommé cat.jpg.enc
donc on comprend que le fichier original était un JPEG
. En ouvrant le fichier dans un afficheur de texte on peut voir le début d'un header JPEG
normal :
On voit notamment écrit JFIF
. Pour ceux qui ne sont pas au courant, les fichiers possèdent un entête qui permet de savoir comment le lire (sauf Windows qui lui détermine le type du fichier en lisant l'extension écrite dans son nom plutôt que de lire le début de celui-ci).
En ouvrant le fichier dans un lecteur hexadecimal, on voit qu'il nous manque les 4 premiers octets :
On comprend donc que le ransomware n'a en fait pas chiffré les fichiers mais uniquement retiré la partie de l'entête des fichiers les définissant (cela s'appelle le magic number en anglais et signature en français).
Pour lire les fichiers correctement, on va donc simplement rajouter les 4 premiers octets correspondants à l'extension. On sort python et c'est parti :
On peut maintenant lire tous les fichiers, en ouvrant le fichier cat6.png
on voit le flag :
En faisant un tour sur une liste des headers de fichier (j'ai utilisé perso) on voit que l'entête des JPEG
est en hexadecimal FF D8 FF E0 00 10 4A 46
: