Stéganographie

jeudi 1er septembre 2022, 16:22  #1
PNG - Least Significant Bit
ThéoCS
  • 9 posts

Bonjour,

Je suis à une étape du chall où je suis un petit peu bloqué.

J’ai mis au point un script qui me permet de lire les pixels d’une image et d’en extraire ce qui nous intéresse pour le chall (j’essaye de pas être trop explicit pour pas spoil)

Une fois les données mis en forme, je me retrouve avec un gros amas de caractère qui ne forme rien de très intéressant. Alors en relisant les différents topics, j’ai essayé de changer "l’ordre" des pixels avant de re extraire les données mais je me retrouve tout de même un amas de caractère sans sens.

Je suis curieux de savoir où je bloque parce que moi qui pensais faire le chall assez rapidement, au final jme retrouve comme un con bloqué dessus.

Est ce que vous auriez des indications ou des pistes à me fournir ? Merci d’avance

jeudi 1er septembre 2022, 16:59  #2
PNG - Least Significant Bit
m31z0nyx
  • 394 posts

Bonjour TheoCS,

Deux choses qui pourraient aider ;

Reconstituer une image à partir des éléments extraits en les accentuant permet d’obtenir une vision claire de l’endroit ou se cache ce que nous cherchons et de limiter les recherches à la partie de l’image concernée.

Nous ne connaissons pas à priori la taille du message. Ça serait sympa si elle était fournie.  😉

J’ajoute, mais tu as déjà dû le voir en lisant les autres fils, que tu cherches une chaine de caractères imprimables, et qu’il te restera finalement une petite "transformation" à effectuer sur celle-ci pour obtenir le flag.

jeudi 1er septembre 2022, 17:51  #3
PNG - Least Significant Bit
ThéoCS
  • 9 posts

Reconstituer une image à partir des éléments extraits en les accentuant

Qu’est ce que tu veux dire exactement ?

jeudi 1er septembre 2022, 18:44  #4
PNG - Least Significant Bit
m31z0nyx
  • 394 posts

Ce sur quoi tu travailles ce sont (sauf si tu ne fais pas ce qu’il faut) des octets qui représentent les valeurs des couleurs RVB de chaque pixel. Ce qui t’intéresse c’est le LSB de chaque octet.
Donc si tu remplaces chaque octet par une valeur qui soit fonction de son LSB, en choisissant des valeurs éloignées tu renforceras le contraste et rendras visibles les endroits ou il y a des variations. Ça ne fonctionne pas bien sur des photos car les valeurs des pixels sont très diversifiées mais ça fonctionne très bien dans un cas comme celui-ci avec des grandes plages de couleurs uniformes.

Ceci étant dit, on peut tout à fait se passer de cette technique pour solutionner ce challenge, ou passer par un logiciel de retouche d’image.

jeudi 1er septembre 2022, 23:50  #5
PNG - Least Significant Bit
ThéoCS
  • 9 posts

Tu aurais une documentation qui explique ta procédure ?

vendredi 2 septembre 2022, 00:14  #6
PNG - Least Significant Bit
m31z0nyx
  • 394 posts

De mon point de vue je viens de te donner la procédure. 😉

vendredi 2 septembre 2022, 00:16  #7
PNG - Least Significant Bit
ThéoCS
  • 9 posts

J’ai essayé quelque chose avec ce que tu m’as dit et je trouve quelque chose d’intéressant. Je te tiens au courant si j’arrive à en faire quelque chose.

vendredi 2 septembre 2022, 09:23  #8
PNG - Least Significant Bit
ThéoCS
  • 9 posts

Eh bien j’ai réussi à en faire quelque chose d’intéressant :)

Merci pour tout le chall était très cool

vendredi 2 septembre 2022, 15:24  #9
PNG - Least Significant Bit
m31z0nyx
  • 394 posts

Super ! Content que ça t’ai aidé.  🙂

mardi 13 septembre 2022, 16:52  #10
PNG - Least Significant Bit
MAgiCDice
  • 1 posts

Hello,
j’ai réussi à repérer la zone interessante.
J’ai réduit découpé l’image pour ne bosser que sur cette zone, mais quand l’extrait les LSB j’obtient une suite qui ne correpond à rien en ASCII.

La doc associée au challenge, indique bien que l’ordre des LSB correspond à l’ordre des bit dans l’octet caché.
Donc il faut 8 lsb pour fabriquer un nouvel octet, du MSB au LSB.
Mais ca donne rien de compréhensible...

Edit : Ok, c’est un peu tiré par les cheveux pour la fin... Merci le coup de main sur Discord.

jeudi 2 mai 2024, 23:21  #11
PNG - Least Significant Bit
coqR
  • 1 posts

Bonjour,
J’ai bien trouvé la zone intéressante de l’image. J’ai bien trouvé une chaine avec presque que des caractères ASCII mais quand j’essaie le flag en ôtant les caractères non ASCII j’obtiens un refus. Même chose si j’enlève aussi ce qui donne sa saveur à la phrase... Une petite aide en MP, svp ?