5 des Meilleurs Outils de Stéganographie sur Linux

Une photographie d'une femme travaillant nerveusement devant un ordinateur portable.

La stéganographie est l’art et le processus de dissimuler une forme d’information à l’intérieur d’une autre dans le but de la cacher. Cela se fait souvent lorsqu’un individu souhaite préserver des informations secrètes à l’intérieur d’objets normaux.

Ce guide montre cinq des meilleurs outils de stéganographie actuellement disponibles sur Linux. Il vous montre également comment vous pouvez cacher votre premier message en utilisant ces utilitaires.

Table des Matières

  • Qu’est-ce que la stéganographie et pourquoi l’utiliser
    1. Steghide
    1. Stegoshare
    1. Wavsteg
    1. Snow
    1. Steganoroute
  • Questions Fréquemment Posées

Qu’est-ce que la stéganographie et pourquoi l’utiliser

La stéganographie n’est pas une nouvelle innovation. Depuis l’époque des Grecs anciens, des historiens ont écrit sur la manière dont les cultures utilisaient la stéganographie pour cacher des informations à la vue de tous. À cet égard, un compte célèbre est l’histoire d’Hérodote sur Histiaeus, qui tatouait un message court sur le cuir chevelu nu d’un serviteur.

Depuis lors, les avancées technologiques ont permis aux individus d’utiliser la stéganographie dans des objets numériques. Par exemple, il est désormais possible d’insérer un livre entier dans une simple photographie JPEG.

Une fenêtre montrant une image contenant un message caché.

Un des plus grands avantages de l’utilisation des outils stéganographiques est qu’ils sont simples et faciles à utiliser. Dans la plupart des cas, ces programmes ne sont que de simples utilitaires en ligne de commande qui prennent votre message et un fichier fictif.

Un terminal montrant les options de steghide.

Un autre avantage des outils stéganographiques est que vous pouvez les obtenir gratuitement. La plupart des développeurs d’aujourd’hui licencient leurs utilitaires en tant que logiciel libre et open source (FOSS). Vous n’avez besoin que d’un ordinateur et d’une connexion Internet pour commencer avec la stéganographie.

Bon à savoir : Le FOSS implique également d’innombrables programmes au-delà de la stéganographie. Découvrez comment vous pouvez installer une distribution FOSS avec Linux-libre.

1. Steghide

Steghide est l’un des outils de stéganographie les plus populaires aujourd’hui. C’est un programme simple en ligne de commande qui encode du texte à l’intérieur des images. Steghide fonctionne en créant une liste aléatoire de bits à l’intérieur de votre fichier fictif et insère vos données secrètes entre ces bits.

Cette approche signifie que vos données se mélangeront harmonieusement avec votre fichier fictif. De plus, steghide inclut également des algorithmes de compression et de chiffrement solides par défaut. Cela garantit qu’il est difficile d’extraire vos informations, même si un acteur malveillant sait que votre fichier contient des données secrètes.

Vous pouvez installer steghide sur Ubuntu et Debian en exécutant la commande suivante :

sudo apt install steghide

Exécutez cette commande pour créer votre premier fichier stéganographique :

steghide embed -ef ./my-secret-data.txt -cf ./my-plain-image.jpg -sf ./steg-image.jpg

Une fenêtre de terminal montrant steghide en action.

Avantages

  • Rapide et facile à utiliser
  • Utilise des sommes de contrôle pour vérifier l’intégrité des données

Inconvénients

  • La sortie est noticeably plus grande que l’original
  • Modifie de petits bits du fichier fictif d’origine

Astuce : si vous préférez avoir plus de confidentialité, apprenez comment chiffrer des fichiers en utilisant Tomb sur Linux.

2. Stegoshare

Stegoshare est un outil de stéganographie graphique qui fournit aux utilisateurs une interface intuitive pour cacher des données à l’intérieur de fichiers image. Contrairement à steghide, stegoshare excelle à vous permettre d’encoder de grands fichiers binaires à l’intérieur de plusieurs fichiers.

Une fenêtre montrant l'interface de base de stegoshare.

Un autre avantage clé de stegoshare par rapport à d’autres outils est qu’il est très portable. Vous pouvez distribuer le programme à d’autres utilisateurs, quel que soit le système d’exploitation qu’ils utilisent. Par exemple, vous pouvez encoder sur Linux et toujours le décoder sur Windows.

  1. Pour utiliser stegoshare, installez d’abord ses dépendances :
sudo apt install wget openjdk-8-jdk openjdk-8-jre

Une fenêtre de terminal montrant le processus d'installation des dépendances pour stegoshare.

  1. Téléchargez les binaires de stegoshare à partir du site Web du développeur :
wget http://downloads.sourceforge.net/stegoshare/StegoShare.jar
  1. Exécutez le programme et cliquez sur “Parcourir”.

Une fenêtre montrant le bouton de navigation pour stegoshare.

  1. Sélectionnez votre dossier d’image fictif.

Une fenêtre montrant le sélecteur de fichiers pour stegoshare.

  1. Cliquez sur le bouton “Sélectionner” sous “Parcourir”.

Une fenêtre montrant le bouton de sélection dans stegoshare.

  1. Sélectionnez le fichier que vous souhaitez cacher.

Une fenêtre montrant le sélecteur de données pour stegoshare.

  1. Cliquez sur le bouton “Cacher” pour encoder vos données secrètes dans votre fichier fictif.

Une fenêtre montrant le bouton de cacher dans stegoshare.

Avantages

  • Simple et facile à utiliser
  • Fonctionne sur n’importe quelle plateforme qui exécute Java

Inconvénients

  • Produit des fichiers volumineux
  • Les outils d’analyse d’image peuvent détecter l’algorithme de stegoshare

Bon à savoir : découvrez comment redimensionner et optimiser votre image à partir du terminal Linux.

3. Wavsteg

En plus d’incorporer des informations dans des images, vous pouvez également cacher vos informations à l’aide de fichiers audio. Wavsteg est un outil simple mais efficace qui vous permet d’intégrer des données secrètes entre les bits d’un fichier audio numérique.

Une capture d'écran de la comparaison entre un fichier audio propre et un rempli de données.

Wavsteg lit un fichier audio entier et cherche ses “Bits Moins Significatifs”. Ce sont les parties d’un fichier qui ne suppriment ni ne modifient les données à l’intérieur. Un fichier audio contenant des données secrètes ne présentera aucune différence audible avec un fichier “propre”.

  1. Installez ses dépendances :
sudo apt install python3 python3-pip  
PATH=$PATH:/home/$USER/.local/bin/
  1. Installez le programme en utilisant pip :
pip install stego-lsb

Une fenêtre de terminal montrant le processus d'installation pour wavsteg.

  1. Une fois installé, vous pouvez commencer à coder des données à l’intérieur de vos fichiers audio avec la commande suivante :
stegolsb wavsteg -h -i my-plain-music.wav -s my-secret-data.txt -o steg-audio.wav

Une fenêtre de terminal montrant l'encodage pour wavsteg.

Avantages

  • Léger et simple à utiliser
  • Pas de différence audible entre les autres fichiers audio

Inconvénients

  • Ne fonctionne qu’avec des fichiers texte
  • Peut produire des fichiers volumineux

4. Snow

Snow est un outil léger qui utilise des espaces et des tabulations pour cacher des informations à l’intérieur de fichiers texte. Contrairement à d’autres outils de stéganographie, snow ne s’appuie pas sur des formats binaires pour encoder des données secrètes. Cela peut être extrêmement utile dans les cas où il n’est pas possible de partager de gros fichiers binaires.

Une fenêtre de terminal montrant la page de manuel pour snow.

Puisque snow ne dépend que de texte brut, il est toujours possible de compresser et de chiffrer vos fichiers, de manière similaire à un fichier binaire. Snow peut produire des fichiers extrêmement petits qui peuvent se mêler à d’autres données textuelles.

  1. Installez snow avec la commande suivante :
sudo apt install stegsnow
  1. Utilisez la commande suivante pour cacher la phrase “MakeTechEasier” dans le fichier “hello.txt”.
stegsnow -C -m "MakeTechEasier" -p asecurepassword hello.txt steg-hello.txt

Une fenêtre de terminal montrant snow à l'œuvre.

Avantages

  • Produit des fichiers petits
  • Le texte de sortie peut être utilisé sur n’importe quel programme qui accepte du texte brut

Inconvénients

  • L’espace de données peut être extrêmement limité
  • L’algorithme de chiffrement est relativement obsolète

Astuce : vous préférez encore plus de confidentialité ? Optez pour ces services de messagerie sécurisés.

5. Steganoroute

La stéganographie numérique dissimule traditionnellement des informations à l’intérieur d’un fichier. Cependant, il est également possible d’utiliser la stéganographie sans utiliser de fichiers fictifs.

Steganoroute est un outil de réseautage innovant qui vous permet de cacher des informations en utilisant le protocole TCP. Le programme crée de faux paquets ICMP contenant le message que vous souhaitez envoyer. Un hôte peut alors écouter le serveur pour ses faux paquets et décoder ses informations à l’aide d’un outil d’analyse de réseau.

  1. Installez les dépendances de steganoroute :
sudo apt install git mtr python3 python-scapy
  1. Clonez le code source du programme depuis son dépôt :
git clone https://github.com/stratosphereips/steganoroute.git
  1. Diffusez vos messages steganoroute en exécutant la commande suivante :
cd ./steganoroute  
sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP  
sudo python3 ./steganoroute.py -i lo -m "MakeTechEasier" -l

Une fenêtre de terminal montrant steganoroute diffusant un message.

  1. Testez si le programme diffuse correctement en utilisant l’outil d’analyse mtr :
mtr -t your.local.lan.ip

Une fois qu’il est en cours d’exécution, vous devez également appuyer sur D pour imprimer le message.

Une fenêtre de terminal montrant le message diffusé par steganoroute.

Avantages

  • Ne dépend pas de la création de fichiers fictifs
  • Il suffit de diffuser pour partager des messages

Inconvénients

  • Dépend de la falsification des paquets ICMP
  • Des acteurs malveillants peuvent intercepter les paquets et reconstruire votre message

Astuce : le réseautage peut sembler intimidant pour un utilisateur novice. Découvrez comment les paquets DNS circulent sur le réseau en utilisant dig.

Questions Fréquemment Posées

La stéganographie changera-t-elle le comportement de mon fichier ?

Non. Par défaut, les outils stéganographiques visent à conserver autant que possible les données d’origine. Vous pouvez partager votre fichier avec d’autres et ils seront toujours en mesure d’utiliser et d’accéder au fichier original.

J’ai envoyé une image stéganographique. Pourquoi a-t-elle perdu son message ?

C’est probablement dû à un problème avec votre fournisseur d’hébergement d’images. La plupart des sites Web de partage d’images ont tendance à compresser les images dès leur arrivée sur leurs serveurs. C’est un problème pour les outils de stéganographie, car ils reposent sur la structure exacte des données du fichier image d’origine.

Assurez-vous que votre fournisseur d’hébergement d’images ne compresse pas les images que vous envoyez via leur serveur.

Y a-t-il des inconvénients à cacher des données à l’aide de la stéganographie ?

Cela dépend. Dans l’ensemble, des outils tels que steghide s’appuient sur la dissimulation de données à l’intérieur de fichiers numériques réguliers. Bien que la stéganographie ne change pas le comportement d’un fichier, elle laissera quand même une empreinte notable sur un fichier numérique. Cela peut être un problème si un acteur malveillant est conscient que vous utilisez la stéganographie.

Pourquoi mon destinataire steganoroute ne reçoit-il pas mes paquets ICMP ?

C’est probablement dû au fait que votre serveur steganoroute envoie ses paquets ICMP avec la mauvaise interface. Pour résoudre ce problème, trouvez l’interface réseau souhaitée en utilisant ip addr.

Ensuite, ajoutez l’option -i, suivie de votre interface réseau. Par exemple, la commande suivante exécute steganoroute via mon port Ethernet : sudo ./steganoroute.py -i enp3s0 -m "MakeTechEasier" -l.

Crédit d’image : Unsplash. Toutes les modifications et captures d’écran par Ramces Red.