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 — Stéganographie par bit de poids faible pour les images bitmap (.bmp et .png), les fichiers audio WAV et les séquences d'octets. Simple stéganalyse LSB (extraction LSB) pour les images bitmap. | Kitploit
Outils/GitHubGitHub/ragibson/steganography
Analyse ForensiqueStéganographieCryptographieCTFApprentissage et Éducation
GitHubragibson/steganography

Steganography

Stéganographie par bit de poids faible pour les images bitmap (.bmp et .png), les fichiers audio WAV et les séquences d'octets. Simple stéganalyse LSB (extraction LSB) pour les images bitmap.

Voir le dépôt
656105il y a 10 moisVé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

Stéganographie

Illustration de stéganographie

Table des matières

  • Installation
  • Manipulation de séquences d'octets
  • WavSteg
  • LSBSteg
  • StegDetect

Si vous n'êtes pas familier avec les techniques de stéganographie, j'ai également écrit un aperçu de base du domaine dans Steganography: Hiding Data Inside Data.

Installation

Ce projet est sur PyPI et peut être installé avec

root@kitploit:~
pip install stego-lsb

Alternativement, vous pouvez l'installer directement depuis ce dépôt :

root@kitploit:~
git clone https://github.com/ragibson/Steganography
cd Steganography
python3 setup.py install

Après l'installation, utilisez la commande stegolsb dans le terminal ou importez les fonctions depuis stego_lsb dans votre code.

Manipulation de séquences d'octets

bit_manipulation offre la possibilité d'entrelacer (rapidement) les octets d'une charge utile directement dans les bits de poids faible d'une séquence d'octets porteuse.

Plus précisément, il contient quatre fonctions principales :

root@kitploit:~
# Interleave the bytes of payload into the num_lsb LSBs of carrier.
lsb_interleave_bytes(carrier, payload, num_lsb, truncate=False)

# Deinterleave num_bits bits from the num_lsb LSBs of carrier.
lsb_deinterleave_bytes(carrier, num_bits, num_lsb)

# Runs lsb_interleave_bytes with a List[uint8] carrier.
lsb_interleave_list(carrier, payload, num_lsb)

# Runs lsb_deinterleave_bytes with a List[uint8] carrier.
lsb_deinterleave_list(carrier, num_bits, num_lsb)

Exécuter bit_manipulation.py, appeler sa fonction test() directement, ou exécuter stegolsb test devrait produire une sortie similaire à

root@kitploit:~
Testing 1.0 MB payload -> 10.0 MB carrier...
Progress: [################################]
----------------------------------------
| # LSBs | Taux d'encodage | Taux de décodage |
| 1      | 60.6   MB/s  | 95.9   MB/s  |
| 2      | 56.6   MB/s  | 52.7   MB/s  |
| 3      | 82.5   MB/s  | 77.4   MB/s  |
| 4      | 112.4  MB/s  | 105.9  MB/s  |
| 5      | 135.9  MB/s  | 129.8  MB/s  |
| 6      | 159.9  MB/s  | 152.4  MB/s  |
| 7      | 181.7  MB/s  | 174.6  MB/s  |
| 8      | 372.8  MB/s  | 1121.8 MB/s  |
----------------------------------------

WavSteg

WavSteg utilise la stéganographie par bits de poids faible pour cacher un fichier dans les échantillons d'un fichier .wav.

Pour chaque échantillon du fichier audio, nous écrasons les bits de poids faible avec les données de notre fichier.

Comment utiliser

WavSteg nécessite Python 3

Exécutez WavSteg avec les arguments de ligne de commande suivants :

root@kitploit:~
Command Line Arguments:
 -h, --hide               To hide data in a sound file
 -r, --recover            To recover data from a sound file
 -i, --input TEXT         Path to a .wav file
 -s, --secret TEXT        Path to a file to hide in the sound file
 -o, --output TEXT        Path to an output file
 -n, --lsb-count INTEGER  How many LSBs to use  [default: 2]
 -b, --bytes INTEGER      How many bytes to recover from the sound file
 --help                   Show this message and exit.

Exemple :

root@kitploit:~
$ stegolsb wavsteg -h -i sound.wav -s file.txt -o sound_steg.wav -n 1
# OR
$ stegolsb wavsteg -r -i sound_steg.wav -o output.txt -n 1 -b 1000

Cacher des données

Cacher des données utilise les arguments -h, -i, -s, -o et -n.

La commande suivante cacherait le contenu de file.txt dans sound.wav et enregistrerait le résultat sous sound_steg.wav. La commande affiche également combien d'octets ont été utilisés sur un maximum théorique.

Exemple :

root@kitploit:~
$ stegolsb wavsteg -h -i sound.wav -s file.txt -o sound_steg.wav -n 2
Using 2 LSBs, we can hide 6551441 bytes
Files read                     in 0.01s
5589889 bytes hidden           in 0.24s
Output wav written             in 0.03s

Si vous tentez de cacher trop de données, WavSteg affichera le nombre minimum de LSB nécessaire pour cacher vos données.

Récupérer des données

Récupérer des données utilise les arguments -r, -i, -o, -n et -b

La commande suivante récupérerait les données cachées de sound_steg.wav et les enregistrerait sous output.txt. Cela nécessite que la taille en octets des données cachées soit exacte, sinon le résultat pourrait être trop court ou contenir des données superflues.

Exemple :

root@kitploit:~
$ stegolsb wavsteg -r -i sound_steg.wav -o output.txt -n 2 -b 5589889
Files read                     in 0.02s
Recovered 5589889 bytes        in 0.18s
Written output file            in 0.00s

LSBSteg

LSBSteg utilise la stéganographie par bits de poids faible pour cacher un fichier dans les informations de couleur d'une image RVB (.bmp ou .png).

Pour chaque canal de couleur (par exemple, R, V et B) dans chaque pixel de l'image, nous écrasons les bits de poids faible de la valeur de couleur avec les données de notre fichier. Afin de faciliter la récupération de ces données, nous cachons également la taille du fichier d'entrée dans les premiers canaux de couleur de l'image.

Comment utiliser

Vous avez besoin de Python 3 et de Pillow, un fork de la Python Imaging Library (PIL).

Exécutez LSBSteg avec les arguments de ligne de commande suivants :

root@kitploit:~
Command Line Arguments:
 -h, --hide                      To hide data in an image file
 -r, --recover                   To recover data from an image file
 -a, --analyze                   Print how much data can be hidden within an image   [default: False]
 -i, --input TEXT                Path to an bitmap (.bmp or .png) image
 -s, --secret TEXT               Path to a file to hide in the image
 -o, --output TEXT               Path to an output file
 -n, --lsb-count INTEGER         How many LSBs to use  [default: 2]
 -c, --compression INTEGER RANGE
                                 1 (best speed) to 9 (smallest file size)  [default: 1]
 --help                          Show this message and exit.

Exemple :

root@kitploit:~
$ stegolsb steglsb -a -i input_image.png -s input_file.zip -n 2
# OR
$ stegolsb steglsb -h -i input_image.png -s input_file.zip -o steg.png -n 2 -c 1
# OR
$ stegolsb steglsb -r -i steg.png -o output_file.zip -n 2

Analyse

Avant de cacher des données dans une image, il peut être utile de voir combien de données peuvent être cachées. La commande suivante permet de le faire, produisant une sortie similaire à

root@kitploit:~
$ stegolsb steglsb -a -i input_image.png -s input_file.zip -n 2
Image resolution: (2000, 1100, 3)
Using 2 LSBs, we can hide:     1650000 B
Size of input file:            1566763 B
File size tag:                 3 B

Cacher des données

La commande suivante cachera des données dans l'image d'entrée et écrira le résultat dans l'image stéganographiée, produisant une sortie similaire à

root@kitploit:~
$ stegolsb steglsb -h -i input_image.png -s input_file.zip -o steg.png -n 2 -c 1
Files read                     in 0.26s
1566763 bytes hidden           in 0.31s
Image overwritten              in 0.27s

Récupérer des données

La commande suivante récupérera les données de l'image stéganographiée et écrira le résultat dans le fichier de sortie, produisant une sortie similaire à

root@kitploit:~
$ stegolsb steglsb -r -i steg.png -o output_file.zip -n 2
Files read                     in 0.30s
1566763 bytes recovered        in 0.28s
Output file written            in 0.00s

StegDetect

StegDetect fournit une méthode pour détecter la stéganographie simple dans les images.

Comment utiliser

Vous avez besoin de Python 3 et de Pillow, un fork de la Python Imaging Library (PIL).

Exécutez StegDetect avec les arguments de ligne de commande suivants :

root@kitploit:~
Command Line Arguments:
 -i, --input TEXT         Path to an image
 -n, --lsb-count INTEGER  How many LSBs to display  [default: 2]
 --help                   Show this message and exit.

Affichage des bits de poids faible d'une image

Nous additionnons les n bits de poids faible des canaux de couleur RVB pour chaque pixel et normalisons le résultat dans la plage 0-255. Cette valeur est ensuite appliquée à chaque canal de couleur pour le pixel. Où n est le nombre de bits de poids faible à afficher, la commande suivante enregistrera l'image résultante, en ajoutant "_nLSBs" au nom du fichier, et produira une sortie similaire à la suivante :

root@kitploit:~
$ stegolsb stegdetect -i input_image.png -n 2
Runtime: 0.63s
Télécharger l’outil