DOWN BAD
đť„ž Introduction
đť„ž Solution
Pour résoudre ce défi de forensic, j’ai commencé par analyser l’image.
Lorsque nous essayons d’ouvrir l’image, une erreur apparaît :
L’analyse de l’image révèle plusieurs points :
- La taille de l’image peut sembler étrange, 1920x1168, alors qu’on observe généralement des tailles plus courantes telles que 1920x1080 ou 1920x1200.
- Le type MIME indique qu’il s’agit d’un PNG, donc la signature du PNG est présente au début du fichier. Cependant, dans les métadonnées, Il y a des références au mot PDF, ce qui pourrait être une piste.
- En utilisant l’outil pngcheck, nous détectons une erreur CRC dans le chunk IHDR de l’image, nécessitant ainsi une correction de notre part.
đť„žđť„ž Correction du CRC dans le chunck IHDR
Pour cela, nous allons modifier l’image en examinant son contenu en hexadécimal. L’outil pngcheck nous a donné le CRC incorrect, qui est 0xa9d545b.
Nous trouvons le CRC incorrect dans le chunk IHDR, et nous allons le remplacer par la valeur correcte donnée par pngcheck, qui est 0x1d9c52c0.
𝄞𝄞 Analyse de l’image
Après la correction du CRC, nous obtenons cette image :
On remarque que l’image semble tronquée, ce qui explique sa dimension de 1920x1168. Nous allons donc essayer d’augmenter la hauteur de l’image.
J’ai commencé par essayer 1920x1200 : Pour cela, je vais modifier la partie correspondant à la hauteur dans le chunk IHDR.
En bleu, nous avons la représentation de la largeur de l’image, qui est 1920 en décimal (0x780 en hexadécimal), et la valeur de la hauteur, qui est 1168 en décimal (0x490 en hexadécimal). Maintenant, pour modifier la hauteur de l’image, je vais remplacer la valeur hexadécimale correspondante (0x490) par celle de 1200, qui est 0x4B0.
Une fois modifiée, en essayant d’ouvrir notre nouvelle image :
Nous obtenons une erreur de CRC, ce qui est tout à fait normal, car nous avons modifié les données de l’image. Cependant, nous pouvons quand même vérifier si notre changement a fonctionné en vérifiant la hauteur de notre image.
Le CRC est un algorithme de vérification d’intégrité utilisé pour détecter les erreurs de données lors de leur transmission. Lorsque vous modifiez les données d’une image, y compris sa taille, le contenu des pixels change, et donc les données de l’image sont différentes. Le CRC est calculé à partir des données brutes de l’image, donc même un petit changement dans les données entraînera un CRC différent. Pour maintenir un CRC valide après avoir modifié la taille d’une image, vous devez recalculer le CRC en utilisant l’algorithme de CRC adapté aux nouvelles données. Cela implique généralement de recalculer le CRC sur l’ensemble des données de l’image après qu’elle ait été modifiée.
𝄞𝄞 Calculez le CRC de l’image.
Pour simplifier notre tâche, j’ai utilisé unoutil qui permet de recalculer facilement le CRC après modification.
L’image avec ces nouvelles dimensions ne nous donne rien, alors j’ai essayé de viser plus grand en prenant une hauteur de 2100, soit 0x834 en hexadécimal, et j’ai recalculé le CRC. Bingo !
đť„ž FLAG : TFCCTF{28ae25c96850245ffdd70a880158f9f3}
đť„ž
đť„ž Conclusion
En concluant, ce défi de forensic nous a présenté plusieurs obstacles, notamment la correction du CRC et l’ajustement de la hauteur de l’image. Grâce à une analyse minutieuse et à l’utilisation d’outils adaptés, nous avons pu résoudre le défi avec succès.