Skip to content

Latest commit

 

History

History
219 lines (165 loc) · 8.96 KB

Atinkpòn.md

File metadata and controls

219 lines (165 loc) · 8.96 KB

Categorie: Steganography

Author: r3s0lv3r

Solve: 12/20

Points: 200 pts (at first)| 145 pts (at end)

Files: fix_me.png

Write-up by: Jekyll

Flag Format : CTF_[A-Za-z]

Description :

[FR]

Vous avez mis la main sur un fichier énigmatique qui semble receler un précieux secret. Cependant, le fichier a été altéré de manière à masquer son contenu original. Saurez-vous percer le secret ?

[EN]

You've got your hands on an enigmatic file that seems to conceal a precious secret. However, the file has been altered in such a way as to obscure its original contents. Can you unlock the secret?

Solution :

Fr Version :

For ENG version scroll down

file

Apres avoir téléchargé le fichier, on essaie de l'ouvrir, mais nous avons une erreur lors de l'ouverture. prob L'erreur nous montre qu'il s'agit d'un problème de format de l'image Nous décidons donc de vérifier quel est le véritable type du fichier vu qu'on dirait qu'il n'a pas l'air d'être une image

file fix_me.png

file

D'après ce qu'on peut constater il s'agit d'un fichier gzip donc il s'agit d'un fichier avec l'extension `.tar.gz'

Par réflexe, nous décidons de vérifier l'entête du fichier avec xxd ( hexdump fait aussi l'affaire)

xxd fix_me.png

fakeformat

Donc après les deux précédentes observations, nous remarquons que nous avons un fichier au format .tar.gz mais dont l'entête a été modifie de manière a faire croire qu'il s'agit d'un fichier au format'.png` , n'oublions pas ceci "Sous Linux, tout est fichier"

Nous devons donc corriger l'entête du fichier en question, pour cela nous nous renseignons sur l'entête exacte d'un fichier .tar.gz Apres quelques recherches nous avons un exemple de l'entête d'un fichier .tar.gz

`1f8b 0800 0000 0000 0003'

Nous voyons clairement la différence entre les deux entêtes et décidons de corriger l'entête du fichier avec hexedit

hexedit

Après modification, nous obtenons ceci

after

Nous enregistrons et quittons avec "CTRL +x"

Nous pouvons maintenant extraire le/les fichiers de l'archive avec

tar -xvf fix_me.jpg

yess Nous remarquons que d'autres images se trouvent dans l'archive Examinons chacun d'eux pour voir Apres fouilles, nous observons une chose assez intéressante dans l'une des images obtenues. Nous avons fait un string sur l'image et nous avons un Ascii Art plutôt bizarre.

art

0000111100000011111111111100000011110000
0001111000001111111111111111000001111000
0011110000011111111111111111100000111100
0011100000111114444444444111111000011100
0111100001111444444444444441111100011110
1111000011114444444444444444111100001111
1110000111144444435400004444411110000111
11100011114444465f4400000044441111000111
111000111444421675f400000004444111000111
1100011114446307211111100000444111100011
1100011144445f37111111110000444411100011
1100011144468331111111111000044411100011
110001114445f411117777111100044411100011
1000111144482111177777711100044411110001
1000111144464611177777711100044411110001
1000111144443311177777711100044411110001
100011114446e511177777711100044411110001
11000111444f4711117777111100044411100011
110001114446f6c1111111111000044411100011
1100011144446433111111110000444411100011
1100011114446e5f311111100000444111100011
1110001114444772333400000004444111000111
1110001111444424757200000044441111000111
1110000111144444330000004444411110000111
1111000011114444444444444444111100001111
0111100001111444444444444441111100011110
0011100000111114444444444111111000011100
0011110000011111111111111111100000111100
0001111000001111111111111111000001111000
0000111100000011111111111100000011110000

Direction Cyberchef, en premier lieu, nous avons décidé de retirer tous les nombres différents de 0et de 1 mais n'avons rien obtenu de potable. Normalement le principe d'un ascii art, c'est d'utiliser un certain nombre de caractères (assez limite entre 2 et 5) pour représenter une image dans notre cas Les chiffres qui reviennent le plus souvent sont 0 , 1 , 4 et 7 tout les autres chiffres sont peut être donc la clef.Mais comme on le sait tous, la plupart des challs étant du guessing, nous décidons de demander un Hint. Et il se fait que nous sommes sur la bonne voie, ce qui veut dire que tous les chiffres se trouvant à l'opposé symétriquement des 0 du centre sont la clef.

guessing

Nous retirons alors tous les chiffres superflus et de garder ceux se trouvant dans la zone rouge, nous avons alors : 4354465f4421675f4630725f3768335f48216464336e5f476f6c64336e5f3772333424757233 Ces caractères sont sûrement de l'hexadécimal, nous obtenons ceci après déchiffrement

CTF_D!g_F0r_7h3_H!dd3n_Gold3n_7r34$ur3

Flag : CTF_D!g_F0r_7h3_H!dd3n_Gold3n_7r34$ur3


Eng Version

file

After downloading the file, we try to open it, but we get an error when opening it. prob The error shows us that there's a problem with the image format So we decide to check what the file type really is, since it doesn't seem to be an image.

file fix_me.png

file

As far as we can see, it's a gzip file, so it's a file with the extension `.tar.gz'.

By reflex, we decide to check the file header with xxd ( hexdump also does the trick)

xxd fix_me.png

fakeformat

So, after the two previous observations, we notice that we have a file in .tar.gz format, but whose header has been modified to make it look like a .png file, remembering that "Under Linux, everything is a file".

We therefore need to correct the header of the file in question. To do this, we need to find out the exact header of a .tar.gz file. After some research, we have an example of a .tar.gz file header

`1f8b 0800 0000 0000 0003'

We clearly see the difference between the two headers and decide to correct the file header with hexedit.

hexedit

After modification, we obtain the following

after

We save and exit with "CTRL +x".

We can now extract the file(s) from the archive with

tar -xvf fix_me.jpg

yess We note that there are other images in the archive Let's have a look at each of them After some digging, we notice something rather interesting in one of the images we obtained. We did a string on the image and we have a rather bizarre Ascii Art.

art

0000111100000011111111111100000011110000
0001111000001111111111111111000001111000
0011110000011111111111111111100000111100
0011100000111114444444444111111000011100
0111100001111444444444444441111100011110
1111000011114444444444444444111100001111
1110000111144444435400004444411110000111
11100011114444465f4400000044441111000111
111000111444421675f400000004444111000111
1100011114446307211111100000444111100011
1100011144445f37111111110000444411100011
1100011144468331111111111000044411100011
110001114445f411117777111100044411100011
1000111144482111177777711100044411110001
1000111144464611177777711100044411110001
1000111144443311177777711100044411110001
100011114446e511177777711100044411110001
11000111444f4711117777111100044411100011
110001114446f6c1111111111000044411100011
1100011144446433111111110000444411100011
1100011114446e5f311111100000444111100011
1110001114444772333400000004444111000111
1110001111444424757200000044441111000111
1110000111144444330000004444411110000111
1111000011114444444444444444111100001111
0111100001111444444444444441111100011110
0011100000111114444444444111111000011100
0011110000011111111111111111100000111100
0001111000001111111111111111000001111000
0000111100000011111111111100000011110000

Direction Cyberchef, first of all, we decided to remove all the numbers other than 0 and 1, but didn't get anything drinkable. Normally, the principle of ascii art is to use a certain number of characters (fairly limited to between 2 and 5) to represent an image, in our case. The numbers that come up most often are 0, 1, 4 and 7, so the other numbers may be the key. But as we all know, most challs are guessing, so we decided to ask for a Hint. And it turns out that we're on the right track, which means that all the numbers symmetrically opposite the 0 in the center are the key.

guessing

We then remove all superfluous digits and keep those in the red zone, so we have : 4354465f4421675f4630725f3768335f48216464336e5f476f6c64336e5f3772333424757233 These characters are surely hexadecimal, so we obtain the following after decryption

CTF_D!g_F0r_7h3_H!dd3n_Gold3n_7r34$ur3

Flag : CTF_D!g_F0r_7h3_H!dd3n_Gold3n_7r34$ur3