GNU/Linux >> Tutoriels Linux >  >> Linux

Stéganographie - Masquer les fichiers à l'intérieur des images sous Linux

Stéganographie est un processus de cacher un fichier, une image, une vidéo, un texte à l'intérieur d'un autre fichier. Comme mentionné dans Wikipedia, la stéganographie est la combinaison de deux mots grecs, steganos qui signifie "couvert, caché ou protégé", et graphein qui signifie "écrire". Les sources ont déclaré que cette méthode a d'abord été suivie par Histiaeus , un ancien roi grec, en 440 av. Il a rasé la tête de son serviteur le plus fidèle et a marqué le message secret sur sa tête. Après que les cheveux aient repoussé, il a envoyé ce serviteur à l'un de ses vassaux pour transmettre le message contenant des informations sur l'attaque à venir en Grèce. Aujourd'hui, à l'ère moderne, la stéganographie a évolué, s'est beaucoup améliorée et est largement utilisée pour envoyer et recevoir des messages secrets numériques en les dissimulant dans d'autres fichiers. Pour plus de détails sur la stéganographie, consultez ce lien . Voyons maintenant comment cacher des fichiers dans des images sous Linux.

Avertissement :

La stéganographie est un vaste sujet. Ce didacticiel ne couvre que la façon de masquer des fichiers à l'intérieur d'images, ce qui est le concept de base de la stéganographie. Ne présumez pas que cela ne peut être brisé par aucun expert en sécurité. La méthode décrite ici est très basique, donc même un professionnel de la sécurité intermédiaire peut facilement la casser en quelques heures. Les étapes décrites ci-dessous sont purement à des fins éducatives. Nous ne sommes pas responsables de tout type d'utilisation abusive.

Masquer les fichiers à l'intérieur des images sous Linux

Nous pouvons cacher des fichiers dans des images de différentes manières. Ici, j'ai donné 5 méthodes.

Méthode 1

Cette méthode ne nécessite aucun logiciel supplémentaire. Une connaissance de base de la ligne de commande Linux suffit.

J'ai un fichier image appelé image.jpg et un répertoire appelé sk . Dans ce répertoire, il y a un fichier appelé secret.txt qui contient un message confidentiel. C'est le fichier que nous allons intégrer dans le fichier image.jpg. Vous pouvez placer n'importe quel nombre de fichiers que vous souhaitez masquer dans ce répertoire. Ensuite, je vais compresser le répertoire sk et enregistrez-le sous secret.zip  pour en faire un fichier unique. Enfin, je vais concaténer le fichier zip (secret.zip) et le fichier image (image.jpg) en utilisant cat commande et enregistrez-la sous ostechnix.jpg .

Pour mettre les choses plus clairement,

  1. image.jpg - Un fichier image aléatoire.
  2. sk - Le répertoire qui contient tous les fichiers secrets.
  3. secret.zip - Archives de sk répertoire.
  4. ostechnix.jpg - Le fichier image de sortie qui contient à la fois secret.zip et image.jpg.

Étape 1 :  Placez le fichier image et le répertoire dans un dossier. Je les ai mis tous les deux dans Documents dossier.

Étape 2 : Déplacez tous les fichiers que vous souhaitez masquer dans le dossier "sk". Ensuite, compressez ce dossier et enregistrez-le sous "secret.zip" . Pour compresser le dossier, faites un clic droit dessus et sélectionnez compresser .

Étape 3 : Ouvrez ensuite le terminal. Accédez à l'emplacement où vous avez stocké les fichiers zip et image (dans notre cas, il s'agit de Documents ). Enfin, concaténez le secret.zip et test.jpg fichiers et enregistrez-les sous ostechnix.jpg en utilisant cat commande.

$ cd Documents
$ cat image.jpg secret.zip > ostechnix.jpg

C'est tout. Nous avons maintenant caché les fichiers confidentiels dans ostechnix.jpg . C'est le dossier important. Supprimez simplement tous les autres fichiers sauf ostechnix.jpg .

Le ostechnix.jpg ressemblera à un fichier image ordinaire et n'importe qui peut le voir à l'aide de n'importe quelle application de visualisation d'images. Mais, ils ne savent peut-être pas que ce fichier contient un fichier confidentiel.

Pour afficher les fichiers cachés dans le fichier image ostechnix.jpg , décompressez-le simplement à l'aide de la commande suivante :

$ unzip ostechnix.jpg

Ou,

$ unzip -t ostechnix.jpg

Exemple de sortie :

Archive:  ostechnix.jpg
warning [ostechnix.jpg]:  712139 extra bytes at beginning or within zipfile
  (attempting to process anyway)
   creating: sk/
  inflating: sk/secret.txt

Décompressez le fichier image

Comme vous le voyez dans la sortie ci-dessus, le répertoire sk contenant des fichiers secrets a été extrait. Maintenant, revenez au dossier et vérifiez le contenu. Vous y verrez tous les fichiers.

Un inconvénient de cette méthode est que nous ne pouvons ajouter aucune phrase de passe au fichier image. Pas de soucis! Dans les méthodes suivantes, nous pouvons ajouter une phrase secrète aux fichiers de sortie.

Méthode 2 - en utilisant Steghide

Steghide est un utilitaire en ligne de commande qui nous aide à cacher les données confidentielles à l'intérieur d'un fichier image ou audio. Il prend en charge les fichiers JPEG, BMP, WAV et AU.

Steghide est disponible dans les dépôts par défaut de nombreuses distributions Linux.

Sur Arch Linux et ses variantes, vous pouvez l'installer en utilisant la commande :

$ sudo pacman -S steghide

Sur Debian, Ubuntu :

$ sudo apt install steghide

Vous pouvez maintenant cacher votre fichier confidentiel dans une image ou un son comme ci-dessous. Je suppose que vous avez mis le fichier confidentiel que vous souhaitez chiffrer et le fichier image ou audio dans le même dossier. Si vous les placez dans un dossier différent, vous devez donner le chemin complet dans la commande suivante.

$ steghide embed -ef secret.txt -cf ostechnix.jpg

Il vous sera demandé d'entrer une phrase de passe.

Enter passphrase: 
Re-Enter passphrase: 
embedding "secret.txt" in "ostechnix.jpg"... done

Masquez les fichiers dans l'image à l'aide de Steghide

Dans l'exemple ci-dessus, j'ai intégré un fichier texte nommé secret.txt dans un fichier image nommé ostechnix.jpg . Vous pouvez maintenant supprimer le fichier secret.txt d'origine. Parce que nous venons d'intégrer un fichier image. Si vous souhaitez intégrer plusieurs fichiers, placez-les dans un dossier, compressez-le, puis masquez-le comme décrit ci-dessus.

Pour extraire le fichier secret de l'image, exécutez simplement :

$ steghide extract -sf ostechnix.jpg

Saisissez la phrase secrète pour l'extraire :

Enter passphrase: 
wrote extracted data to "secret.txt".

Extraire les fichiers de l'image en utilisant steghide

Pour plus de détails, reportez-vous aux pages de manuel,

$ man steghide

Méthode 3 – utilisation d'Outguess

Output est encore un autre outil stégnographique en ligne de commande pour cacher des fichiers confidentiels à l'intérieur d'une image. Actuellement, il prend en charge les formats d'image PPM, PNM et JPEG.

Pour l'installer sur Debian, Ubuntu et d'autres systèmes basés sur DEB, exécutez :

$ sudo apt install outguess

Une fois installé, accédez à l'emplacement où vous avez conservé le fichier secret et l'image et intégrez le fichier secret dans l'image à l'aide de la commande suivante :

$ outguess -d secret.txt ostechnix.jpg output.jpg

Exemple de résultat :

Reading ostechnix.jpg....
JPEG compression quality set to 75
Extracting usable bits: 158203 bits
Correctable message size: 77641 bits, 49.08%
Encoded 'secret.txt': 160 bits, 20 bytes
Finding best embedding...
0: 88(45.8%)[55.0%], bias -17(-0.19), saved: -1, total: 0.06%
1: 90(46.9%)[56.2%], bias -27(-0.30), saved: -1, total: 0.06%
12: 85(44.3%)[53.1%], bias -36(-0.42), saved: 0, total: 0.05%
26: 91(47.4%)[56.9%], bias -45(-0.49), saved: -1, total: 0.06%
174: 87(45.8%)[54.4%], bias -48(-0.55), saved: 0, total: 0.05%
174, 39: Embedding data: 160 in 158203
Bits embedded: 190, changed: 87(45.8%)[54.4%], bias: -48, tot: 158844, skip: 158654
Foiling statistics: corrections: 77, failed: 6, offset: 864.696970 +- 310.577032
Total bits changed: 39 (change 87 + bias -48)
Storing bitmap into data...
Writing output.jpg....

Ici, le output.jpg fichier est celui qui contient notre fichier de données confidentielles. gardez-le en sécurité et supprimez tout le reste.

Vous pouvez également ajouter une phrase secrète au fichier de sortie comme ci-dessous.

$ outguess -k "my secret key" -d secret.txt ostechnix.jpg output.jpg

Remplacez "ma clé secrète" par votre propre phrase secrète.

Pour extraire le fichier, faites simplement :

$ outguess -r output.jpg secret.txt

Exemple de résultat :

Reading output.jpg....
Extracting usable bits: 158203 bits
Steg retrieve: seed: 174, len: 20

Si vous avez utilisé une phrase de passe, utilisez plutôt cette commande :

$ outguess -k "my secret key" -r output.jpg secret.txt

Pour plus de détails, consultez les pages de manuel.

$ man outguess

Nous avons vu trois utilitaires de ligne de commande pour masquer des fichiers dans des images ou de l'audio. Si vous n'aimez pas la ligne de commande, voici deux outils stéganographiques graphiques.

Méthode 4 - en utilisant Stegosuite

Stégosuite est un outil stéganographique graphique pour cacher des fichiers à l'intérieur d'images. C'est un outil de stéganographie gratuit et open source écrit en Java . Il utilise AES méthode de cryptage pour intégrer les données. Il prend en charge les formats d'image BMP, GIF et JPG.

Pour l'installer sur Debian, Ubuntu et d'autres systèmes basés sur DEB, exécutez :

$ sudo apt install stegosuite

Une fois installé, lancez Stegosuite depuis Dash ou Menu.

Interface Stegosuite

Cliquez sur Fichier -> Ouvrir dans la barre de menus et choisissez une image que vous souhaitez utiliser pour masquer les fichiers. Entrez ensuite le message dans la première colonne. Faites un clic droit sur la deuxième colonne et choisissez "Ajouter un fichier...". Saisissez enfin la phrase secrète dans la troisième colonne.

Ajouter des fichiers dans stegosuite

Enfin, cliquez sur Intégrer bouton en bas de l'interface Stegosuite.

Intégrer des fichiers à l'aide de stegosuite

Maintenant, un nouveau fichier image sera créé avec le nom "filename_embed" dans le même dossier où vous avez choisi l'image. Par exemple, si vous avez sélectionné l'image appelée "image.jpg" dans le dossier Documents, un nouveau fichier image sera créé avec le nom "image_embed.jpg" dans le dossier Documents lui-même.

Pour extraire les fichiers secrets de l'image, il suffit de l'ouvrir à nouveau dans l'interface Stegosuite, d'entrer la phrase secrète et de cliquer sur Extraire bouton.

Extraire des fichiers avec stegosuite

Tous les fichiers seront extraits dans le même dossier lui-même.

Pour plus de détails, consultez le site Web de Stegosuite .

Méthode 5 - en utilisant Steg

Steg est un outil stéganographique simple, multiplateforme et graphique, écrit en C++ langage de programmation. Il s'agit d'un logiciel portable, il vous suffit donc de le télécharger, de l'emporter partout et de commencer à l'utiliser en un rien de temps, quel que soit le système d'exploitation que vous utilisez. Steg prend en charge les formats d'image JPEG, JPG, TIFF, PNG et BMP. Il utilise des techniques de stéganographie et de cryptographie pour masquer les données dans des images compressées ou non compressées.

Utilisation

Cliquez sur ce lien pour télécharger l'application Steg. Il est disponible pour les architectures 32 et 64 bits.

Ou, utilisez simplement la commande suivante pour le télécharger en fonction de l'architecture que vous utilisez.

Pour 64 bits :

$ wget https://googledrive.com/host/0B-_yxJMDtRxyUExLZzZ3S2VDbjQ/steg-v1.0.0.2-linux64.tgz

Pour 32 bits :

$ wget https://googledrive.com/host/0B-_yxJMDtRxyRDNGNk1YcXR0UTg/steg-v1.0.0.2-linux32.tgz

Après le téléchargement, extrayez-le à l'aide de la commande :

$ tar -xvzf steg-v1.0.0.2-linux64.tgz

Aller dans le répertoire Steg :

$ cd steg-v1.0.0.2-linux64/

Et, tapez la commande suivante pour l'exécuter.

$ ./steg.sh

Cliquez sur Oui pour accepter le contrat de licence.

Cliquez sur OK pour continuer.

Voici à quoi ressemble l'interface par défaut de l'application Steg.

Maintenant, cachons quelques données à l'intérieur d'une image.

Pour ce faire, allez dans Fichier -> Ouvrir l'image générique ou Ouvrir l'image JPEG . Assurez-vous d'avoir choisi une image de grande taille pour stocker plus de données à l'intérieur. Plus l'image que vous choisissez est grande, plus vous pouvez économiser à l'intérieur de l'image.

Après avoir ouvert l'image, l'image d'origine et l'image modifiée (image de sortie) seront affichées respectivement dans les panneaux de gauche et de droite. En outre, il affiche la taille disponible pour stocker des données à l'intérieur de l'image dans le coin inférieur droit.

Masquer les fichiers à l'intérieur des images sous Linux à l'aide de Steg

Maintenant, allez dans Masquer -> Masquer les données dans la barre de menu supérieure. Sélectionnez le fichier que vous souhaitez masquer. Assurez-vous que le fichier que vous avez sélectionné est plus petit que l'espace disponible dans l'image modifiée. Après avoir ajouté les données, vous verrez une boîte de dialogue de confirmation indiquant :Données masquées avec succès .

Voici la partie importante. Vous pouvez choisir différents modes de cryptage.

  • Auto : Les données seront cryptées, mais il n'y a pas de phrase de passe ou de clés seront nécessaires pour extraire les données.
  • Symétrique : Vous devez donner une PassPhrase pour chiffrer les données, et le destinataire aura besoin de la même PassPhrase pour l'extraire.
  • Asymétrique non signé : lorsque vous souhaitez masquer des données (vous êtes l'expéditeur), seule la clé publique du destinataire est requise. Lorsque vous souhaitez extraire des données (vous êtes le destinataire), seule votre clé privée est requise.
  • Asymétrique signé : lorsque vous souhaitez masquer des données (vous êtes l'expéditeur), la clé publique du destinataire et votre clé privée sont requises. Lorsque vous souhaitez extraire des données (vous êtes le destinataire), seule votre clé privée est requise, mais la clé publique de l'expéditeur est demandée. Si vous ne fournissez pas la clé publique de l'expéditeur, à la fin du processus d'extraction, vous serez averti que l'identité de l'expéditeur n'est pas vérifiée. Si vous fournissez la clé publique de l'expéditeur, vous serez informé si la vérification de la signature a réussi.

Vous pouvez choisir les méthodes de cryptographie de votre choix.

Pour choisir une méthode de cryptographie spécifique, accédez à Modifier -> Configuration  depuis la barre de menus. La méthode de cryptographie par défaut est auto . De plus, vous pouvez intégrer des messages dans le fichier si vous le souhaitez.

Une fois que tout est ok, cliquez sur Enregistrer dans la barre d'outils et enregistrez-le à l'emplacement de votre choix.

Terminé ! Les données d'image sont cryptées à l'intérieur de l'image. Cette image ressemblera à une image normale. Vous pouvez l'afficher à l'aide de n'importe quelle application de visualisation d'images.

Pour extraire les données cachées, ouvrez simplement l'image cryptée dans l'application Steg. Pour ce faire, allez dans Extraire -> Extraire les données dans la barre de menus.

Sélectionnez l'emplacement où vous souhaitez enregistrer vos données. Terminé !

C'est tout. Vous pourrez maintenant afficher les données.

Comme vous pouvez le voir, c'est extrêmement facile à suivre et ne nécessite aucune compétence particulière. Il vous suffit d'ouvrir une image, de masquer certaines données confidentielles et de les transmettre.

Pour plus de détails sur Steg, consultez le site officiel .


Linux
  1. Déplacer des fichiers sur Linux sans mv

  2. Un moyen facile de masquer des fichiers et des répertoires sous Linux

  3. Que sont les fichiers fragmentés sous Linux

  4. Linux renommer les fichiers en majuscules

  5. Pourquoi Windows ne reconnaît-il pas les fichiers à l'intérieur des partitions Linux ?

Commande ls sous Linux pour lister les fichiers

Comment renommer un ou plusieurs fichiers sous Linux

Comment masquer des fichiers à l'intérieur d'images dans Ubuntu à l'aide de la stéganographie

Comment masquer des fichiers confidentiels dans des images sur Debian à l'aide de la stéganographie

Comment masquer des fichiers confidentiels dans des images sur Ubuntu à l'aide de la stéganographie

Comment compresser un fichier sous Linux