Stéganographie
PNG - Least Significant Bit
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
PNG - Least Significant Bit
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.
PNG - Least Significant Bit
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.
PNG - Least Significant Bit
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.
PNG - Least Significant Bit
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 ?