Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
steganography — Outil de stéganographie d'images simple en C++ pour chiffrer et cacher des fichiers dans des images en utilisant l'encodage du bit de poids faible. | Kitploit
Outils/GitHubGitHub/7thsamurai/steganography
Outils de Chiffrement/DéchiffrementExfiltration de DonnéesStéganographieCryptographie
GitHub7thsamurai/steganography

steganography

Outil de stéganographie d'images simple en C++ pour chiffrer et cacher des fichiers dans des images en utilisant l'encodage du bit de poids faible.

Voir le dépôt
1.1k77il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Outil de Stéganographie d'Image

Outil simple en C++ de chiffrement et stéganographie qui utilise un chiffrement protégé par mot de passe pour sécuriser le contenu d'un fichier, puis l'incruste dans les données de pixels d'une image en utilisant l'encodage du bit de poids faible. Pour les systèmes Linux, MacOS et Windows.

Encodage

root@kitploit:~
$ ./steganography encode -i data/orig.png -e data/jekyll_and_hyde.zip -o output.png
Password: 1234
* Image size: 640x426 pixels
* Encoding level: Low (Default)
* Max embed size: 132.38 KiB
* Embed size: 61.77 KiB
* Encrypted embed size: 61.78 KiB
* Generated CRC32 checksum
* Generated encryption key with PBKDF2-HMAC-SHA-256 (20000 rounds)
* Encrypted embed with AES-256-CBC
* Embedded jekyll_and_hyde.zip into image
* Sucessfully wrote to output.png

Image originale :

Image originale

Image avec un ZIP incrusté contenant l'intégralité du livre « Dr Jekyll and Mr Hyde » :

Image incrustée

Décodage

root@kitploit:~
$ ./steganography decode -i output.png -o "out - jekyll_and_hyde.zip"
Password: 1234
* Image size: 640x426 pixels
* Generated decryption key with PBKDF2-HMAC-SHA-256 (20000 rounds)
* Sucessfully decrypted header
* File signatures match
* Detected embed jekyll_and_hyde.zip
* Encoding level: Low (Default)
* Encrypted embed size: 61.78 KiB
* Successfully decrypted the embed
* Decrypted embed size: 61.77 KiB
* CRC32 checksum matches
* Successfully wrote to out - jekyll_and_hyde.zip

Compilation

root@kitploit:~
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make -j 4

Utilisation

root@kitploit:~
Usage: steganography [-h] {decode,encode}

Optional arguments:
  -h, --help   	shows help message and exits
  -v, --version	prints version information and exits

Subcommands:
  decode        Decodes and extracts an embed-file from an image
  encode        Encodes an embed-file into an image

Encodage

root@kitploit:~
Usage: encode [-h] --input VAR --output VAR --embed VAR [--passwd VAR]

Encodes an embed-file into an image

Optional arguments:
  -h, --help   	shows help message and exits
  -v, --version	prints version information and exits
  -i, --input  	specify the input image. [required]
  -o, --output 	specify the output image. [required]
  -e, --embed  	specify the file to embed. [required]
  -p, --passwd 	specify the encryption password.

Décodage

root@kitploit:~
Usage: decode [-h] --input VAR [--output VAR] [--passwd VAR]

Decodes and extracts an embed-file from an image

Optional arguments:
  -h, --help   	shows help message and exits
  -v, --version	prints version information and exits
  -i, --input  	specify the input image. [required]
  -o, --output 	specify the output file. [default: ""]
  -p, --passwd 	specify the encryption password.

Principe de fonctionnement

Encodage

Le programme commence par générer aléatoirement un sel de mot de passe de 128 bits et un vecteur d'initialisation AES de 128 bits en lisant des données binaires depuis /dev/urandom.
Il utilise ensuite ce sel de mot de passe comme paramètre pour générer une clé de chiffrement, en utilisant PBKDF2-HMAC-SHA-256 sur une chaîne saisie par l'utilisateur.
Un hachage CRC32 du fichier à incruster est ensuite calculé et stocké dans l'en-tête pour servir de somme de contrôle de la validité des données.
Il remplit ensuite les données binaires du fichier à incruster à l'aide de l'algorithme PKCS #7, puis chiffre à la fois l'en-tête et les données remplies, avec AES-256 en mode CBC, en utilisant le vecteur d'initialisation généré précédemment.
Les données sont ensuite encodées dans l'image en choisissant d'abord un décalage aléatoire, puis en parcourant chaque bit de données et en le stockant dans les données de pixels de l'image, ce qui est accompli en définissant le bit de poids faible de chaque octet de canal de chaque pixel.

Décodage

Le processus de décodage fonctionne exactement comme le processus d'encodage décrit précédemment, mais en sens inverse.
La seule différence est que lors du décodage, après que le programme tente d'extraire et de déchiffrer les données, il compare certaines informations de l'en-tête pour tenter de valider le processus d'extraction. Les champs de l'en-tête comparés sont : la signature de fichier de 4 octets propre à ce programme et le hachage CRC32 des données déchiffrées.
Si l'un de ces champs ne correspond pas à ses valeurs correctes, le processus de déchiffrement échoue. Cela ne devrait se produire que si le fichier que vous tentiez de déchiffrer ne contient pas réellement une incrustation, si le mot de passe saisi est incorrect, ou si le fichier image a été corrompu.

Détection

Bien que la détection de données incrustées dans une image soit une tâche triviale, il n'existe théoriquement aucun moyen de savoir que c'est ce programme qui l'a fait, et théoriquement, il ne devrait y avoir aucun moyen connu de déchiffrer les données sans connaître le mot de passe, c'est-à-dire sans passer des millions d'années à le faire.

Avertissement

N'utilisez pas ce programme pour chiffrer et cacher des données importantes que vous souhaitez soustraire aux regards indiscrets. Il s'agit simplement d'un programme de démonstration que j'ai réalisé pour m'amuser. Je ne suis pas cryptographe, je ne suis qu'un amateur. Utilisez-le à vos propres risques.

Copyright

Ce logiciel est sous licence MIT. Copyright © 2022 Zach Collins

Télécharger l’outil