time0ut# ./bmp.py space.bmp Taille padding : 842 Padding non nul !Ca ne fait pas de doute, ça sent l'information cachée dans le padding à plein nez ! Le problème c'est qu'en stéganographie il peut être facile de savoir si oui ou non une information est cachée dans le support, par contre savoir extraire cette information est d'une toute autre difficulté.
On va commencer doucement et simplement afficher le contenu de ce padding, avec un peu de chance on trouvera quelque chose de connu. Pour cela, je m'appuie sur la classe BMP codée dans mon post sur le padding.
... img = BMP(sys.argv[1]); print "".join(bmp.padding());Et on execute le programme !
time0ut# ./ep3.py space.bmp bGUgaGFzaCBlc3QgOiA2Njk3NmI1ZDNiYWNjNzQwOWNkODNiNGIzMTM5NDcxYw==Hum, ça sent bon. On voit clairement que c'est de la base64, l'extraction de l'information ne sera donc pas difficile ! On modifie le programme.
... img = BMP(sys.argv[1]); print base64.b64decode("".join(bmp.padding()));Et on conclut !
time0ut# ./ep3.py space.bmp le hash est : 66976b5d3bacc7409cd83b4b3139471cVoilà résolution terminée !
Bonjour
RépondreSupprimerBon j'essai de reproduire le tuto mais je rencontre pas mal de difficultés.
1- Pour la première étape nickel / sauf que je tape python bmp.py space.bmp (je suis dans mon home)
time0ut# ./bmp.py space.bmp
Taille padding : 842
Padding non nul !
2- Pour la seconde je pige pas (afficher le contenu de ce padding )
...
img = BMP(sys.argv[1]);
print "".join(bmp.padding());
time0ut# ./ep3.py space.bmp
bGUgaGFzaCBlc3QgOiA2Njk3NmI1ZDNiYWNjNzQwOWNkODNiNGIzMTM5NDcxYw==
Avez-vous créer un autre script ou l'avez vous modifier avec les lignes ci-dessus et renommer [ep3.py(je supose épreuve 3)]
Après pour la base 64 je peut toujours allé sur décode mais franchement j'aimerais trop arrivé à visualiser le contenu du pading.
Merci par avance de vos réponses
N'Hésitez pas à détailler je suis un Newbe...
Merci par avance
Blackline
Bonjour,
RépondreSupprimerIl te faut la classe développée dans mon post sur le padding. Soit tu fais quelque chose de propre : tu écris cette classe dans un fichier bmp.py et ensuite tu l'inclus via un import dans ep3.py. Soit tu fais un truc crade, tu fais un copier coller de la classe et tu ajoutes ensuite
img = BMP(sys.argv[1]);
print "".join(bmp.padding());
à la suite.
Cela va afficher le padding. Tu vois que c'est de la base64, donc tu changes ton code pour décoder cette base64.