
Outil automatisé de détection de stéganographie qui scanne les sites web, les serveurs web et les répertoires locaux en utilisant la reconnaissance d'objets/texte pilotée par IA et une analyse approfondie des fichiers sur les images, l'audio, les PDF et les binaires.
StegoScan.py est un outil puissant de nouvelle génération pour la détection automatisée de stéganographie sur les sites web, les serveurs web et les répertoires locaux, intégrant la reconnaissance d'objets et de texte basée sur l'IA avec une analyse approfondie des fichiers. Contrairement aux outils de détection de stéganographie traditionnels qui se concentrent sur un ensemble limité de types de fichiers ou nécessitent un traitement manuel, StegoScan.py est conçu pour une analyse automatisée complète—en extrayant des sites web, en disséquant les fichiers intégrés et en détectant les messages cachés dans une large gamme de formats, notamment PNG, JPG, BIN, PDF, DOCX, WAV et MP3.
L'outil dispose de capacités d'analyse de sites web et de serveurs web, ce qui le rend inestimable pour les chercheurs en sécurité qui surveillent les échanges illicites de données ou les forces de l'ordre qui traquent les cybercriminels. Une seule commande peut analyser des domaines entiers ou des plages d'adresses IP, en récupérant et en inspectant les médias et documents suspects pour y trouver des communications cachées. Qu'il s'agisse de détecter des échanges clandestins sur les marchés du dark web, d'identifier de la propagande intégrée dans des campagnes de désinformation ou de révéler des instructions dissimulées au sein de réseaux terroristes, StegoScan.py offre une visibilité inégalée sur les menaces stéganographiques.
L'une de ses améliorations en matière de détection de stéganographie est l'intégration de modèles d'IA tels que YOLO et TrOCR pour la détection d'objets et de texte dans les images et les fichiers audio qui devaient auparavant être vérifiés manuellement. Les outils OCR (Reconnaissance Optique de Caractères) traditionnels sont notoirement peu fiables, échouant souvent à reconnaître même le texte de base caché dans les images en raison du bruit, des distorsions ou des polices non standard. StegoScan.py surmonte ce problème en proposant une détection de texte améliorée par l'IA, ce qui améliore considérablement la capacité à extraire les messages cachés des images, des documents scannés et même des spectrogrammes de fichiers audio. C'est un changement radical pour les analystes judiciaires, les professionnels de la cybersécurité et les forces de l'ordre qui ont besoin d'une extraction de texte de haute fiabilité à partir de supports compromis.
Une autre caractéristique novatrice est l'extraction approfondie des fichiers—une avancée cruciale dans la stéganalyse. StegoScan.py ne se contente pas de scanner la surface des fichiers PDF et DOCX ; il va plus loin en extrayant et en analysant les fichiers intégrés à l'intérieur de ceux-ci. Cela signifie que le contenu stéganographique caché dans les pièces jointes ou les documents profondément imbriqués peut être découvert, comblant ainsi une lacune majeure des outils de numérisation traditionnels.
En combinant plusieurs techniques de stéganalyse en un test unifié, StegoScan.py fournit une analyse détaillée et multicouche des fichiers, offrant aux équipes de sécurité, aux experts en criminalistique numérique et aux chercheurs en cybersécurité une solution de pointe face à une menace numérique en évolution. Alors que les techniques de stéganographie deviennent plus sophistiquées, les outils traditionnels s'avèrent insuffisants—StegoScan.py permet aux organisations de garder une longueur d'avance sur les acteurs malveillants en détectant ce que les autres manquent. Pour une description plus détaillée de la stéganographie et de son utilisation, consultez la section intitulée « Contexte et justification de StegoScan ».
StegoScan commence par configurer son propre environnement Python dédié, en créant un espace de travail local et en installant tous les outils et packages nécessaires pour alimenter sa suite de fonctionnalités d'analyse. Une fois que tout est en place, il vérifie les adresses IP fournies (si sélectionnées) pour s'assurer qu'elles appartiennent à des serveurs web actifs.
Une fois les cibles confirmées, StegoScan se met au travail—en extrayant tous les fichiers disponibles des types spécifiés à partir des adresses IP et des URL données. Si un répertoire local est sélectionné, il collecte également les fichiers à partir de celui-ci. Chaque fichier collecté est soigneusement organisé par type et stocké dans le répertoire choisi.
Ensuite, StegoScan prépare un répertoire de résultats et lance sa suite de tests de détection de stéganographie. Pour plus de détails sur les tests disponibles, consultez la section intitulée « Test de stéganographie ». Au fur et à mesure que les données cachées sont découvertes, les fichiers sont classés et stockés dans des sous-dossiers correspondant au test spécifique qui les a identifiés. Une fois que tous les tests ont terminé leur exécution, StegoScan finalise le processus et conclut l'exécution.
Capacités d'analyse de sites web et de serveurs web – Contrairement aux outils de stéganalyse conventionnels qui se concentrent uniquement sur les fichiers statiques, StegoScan.py analyse activement des sites web entiers, des plages IP et des serveurs web pour y trouver des messages cachés. Qu'il s'agisse d'enquêter sur les marchés du dark web, les forums de cybercriminels ou les sites d'entreprises compromis, il automatise l'ensemble du processus de récupération et d'analyse des fichiers pour détecter le contenu stéganographique intégré. Fini le téléchargement et le tri manuels—StegoScan fait tout pour vous !
Détection d'objets et de texte par IA sur les images et les fichiers audio – La ROC (Reconnaissance Optique de Caractères) traditionnelle est peu fiable, échouant souvent sur les textes déformés, les polices non standard ou les images bruitées. StegoScan.py intègre des modèles d'IA avancés comme YOLO et TrOCR pour améliorer l'extraction de texte et la détection d'objets, révélant des messages cachés que la ROC standard manque complètement. Même les spectrogrammes audio peuvent être scannés à la recherche de contenu stéganographique, offrant un aperçu des échanges de données cachés.
Extraction approfondie des fichiers dans les PDF et DOCX – La plupart des outils effleurent à peine la surface lors de l'analyse des fichiers de documents, mais StegoScan.py creuse plus profondément ! Il extrait automatiquement les fichiers intégrés cachés dans les PDF, les documents DOCX et autres formats complexes, et les analyse pour détecter des données stéganographiques. Cela élimine une lacune majeure : les charges utiles cachées à l'intérieur de documents anodins ne sont plus à l'abri de la détection. Fini les fichiers cachés négligés—s'ils sont là, StegoScan les trouvera.
Test d'outil combiné pour une analyse détaillée des fichiers – StegoScan.py n'est pas un outil à simple fonction. Il combine plusieurs méthodes de détection de stéganographie en un seul test puissant, garantissant une analyse en couches et approfondie de chaque fichier scanné. Plutôt que de se fier à une seule technique de détection (qui peut être facilement contournée), StegoScan recoupe les fichiers en utilisant plusieurs méthodes pour maximiser la précision de la détection.
Automatisé et optimisé pour Linux – Fatigué de lutter contre les dépendances ? StegoScan.py est prêt à l'emploi. Il installe automatiquement ce dont il a besoin, garantissant un processus de numérisation fluide et efficace sans configuration manuelle. Conçu pour la rapidité et l'efficacité, il fonctionne parfaitement sur Linux, ce qui en fait l'outil idéal pour les professionnels de la cybersécurité, les testeurs d'intrusion et les analystes judiciaires.
Extraction Web et téléchargement de fichiers – Automatise l'extraction et le téléchargement de types de fichiers spécifiques à partir d'URL, d'adresses IP et de plages IP, permettant une analyse de contenu web à grande échelle.
Extraction et test de répertoires locaux – Analyse les répertoires locaux à la recherche de contenu stéganographique, identifiant les messages cachés dans les fichiers stockés.
Traitement d'images et analyse stéganographique – Effectue des tests stéganographiques approfondis sur les images, en utilisant plusieurs techniques de détection pour découvrir des données cachées.
Extraction de fichiers intégrés à partir de PDF et DOCX – Extrait et analyse les images et les fichiers intégrés à partir de documents PDF et DOCX, une étape cruciale pour identifier le contenu stéganographique profondément caché.
Outils de détection stéganographique – Intègre stegano, stegdetect et zsteg pour une détection multicouche des messages dissimulés dans les fichiers image.
Détection d'objets et de texte par IA – Améliore les méthodes de détection traditionnelles avec une analyse basée sur l'IA :
Analyse basique des malwares et des fichiers ELF – Effectue une analyse de sécurité préliminaire sur les binaires ELF et autres exécutables, aidant à identifier les menaces potentielles de logiciels malveillants.
Analyse des fichiers audio et binaires – Analyse les fichiers WAV et MP3 à la recherche de données stéganographiques cachées, y compris les messages intégrés dans les spectrogrammes ou les plages de fréquences inaudibles.
Extraction de la structure des fichiers binaires – Utilise Binwalk pour extraire et inspecter les fichiers cachés, les firmwares et les données intégrées dans les fichiers binaires.
Prise en charge du multi-threading – Optimisé pour les performances, permettant une analyse rapide et efficace de grands ensembles de données, ce qui le rend idéal pour les enquêtes judiciaires et les applications de cybersécurité à grande échelle.
(Ci-dessous certains tests sont accompagnés de fichiers échantillons qui ont été utilisés pour tester l'outil, montrant visuellement ce que le test va révéler et à quel point les fichiers peuvent être discrets sur les sites de communication)
Image non modifiée à gauche, « hello world » intégré dans l'image à droite
Intégrité de l'image – Utilise l'import Python Pillow pour vérifier l'intégrité des fichiers PNG et JPG.
Hist – Utilise l'import Python Matplotlib pour générer des histogrammes montrant la distribution des valeurs de couleur RVB pour les fichiers PNG et JPG.
Détection d'objets – Utilise YOLOv8 et TrOCR pour tester chaque couche des fichiers PNG et JPG en supprimant itérativement le LSB et en testant uniquement les filtres rouge, vert et bleu sur l'image.
Image cachée d'un chat dissimulée dans les LSB dévoilée avec YOLOv8 [2]
Jpeg – Utilise l'outil en ligne de commande Linux Stegdetect pour tester les fichiers JPG afin de détecter les données cachées intégrées dans les images à l'aide de techniques telles que jSteg, jphide, Outguess, F5 (analyse d'en-tête), invisible secrets, appendX et camouflage.
Png – Utilise l'outil en ligne de commande Linux Zsteg pour tester les fichiers PNG afin de détecter la stéganographie LSB, vérifier différents canaux de couleur (R, V, B, A) et leurs plans de bits, détecter les techniques de codage courantes utilisées pour cacher des données dans les images, l'extraction de la charge utile, les messages texte et ASCII cachés, et l'analyse d'entropie.
Image non modifiée à gauche, l'image de droite « contient le premier chapitre du “Hunting of the Snark” intégré dedans » [1]
Intégrité audio – Utilise l'import Python Wave pour vérifier l'intégrité des fichiers MP3 et WAV.
Détection audio – Utilise l'import Python Librosa pour générer des spectrogrammes audio pour les fichiers MP3 et WAV qui sont ensuite passés dans YOLOv8 et TrOCR pour vérifier la présence d'images ou de messages cachés dans la représentation des valeurs de fréquence du fichier sur la durée du fichier.
[Écouter l'audio](https://github.com/LCBOWER33/StegoScan/blob/main/images/Drawing_of_the_word_Wikipedia.wav)
Message texte caché à l'intérieur d'un fichier audio dévoilé à l'aide de TrOCR [2]
Binaire – Utilise l'outil en ligne de commande Linux Binwalk pour tester les fichiers binaires à la recherche de fichiers et de données intégrés, identifier les signatures de fichiers connues à l'intérieur d'un binaire (par exemple, ZIP, PNG, ELF, etc.), détecter les composants du micrologiciel dans une image binaire, les données compressées et chiffrées, trouver des données compressées (par exemple, LZMA, GZIP, BZIP2) à l'intérieur des fichiers, signaler les données chiffrées ou obscurcies, les signatures de système de fichiers, reconnaître les systèmes de fichiers intégrés (par exemple, SquashFS, JFFS2, EXT, FAT), détecter les exécutables compilés (ELF, PE, Mach-O), identifier les chargeurs d'amorçage et les composants du micrologiciel, et analyse d'entropie.
Vérification ELF – Utilise les règles YARA, les octets magiques, la commande Linux file et l'analyse d'entropie pour vérifier tous les fichiers à la recherche de logiciels malveillants intégrés.
-u, --url : URL(s) de base, adresse(s) IP ou plage(s) IP à partir desquelles extraire les fichiers.
-t, --types : Liste d'extensions de fichiers séparées par des virgules à télécharger (* pour tous les fichiers).
-n, --num : Nombre de fichiers à télécharger.
-o, --output : Répertoire de sortie.
-m, --mode : Mode de test pour spécifier des tests particuliers (par exemple, lsb, hist) ou « all » pour tous les tests.
-l, --local : Chemin vers un fichier ou un répertoire local à analyser.
sudo python StegoScan.py -u "https://example.com" -t "*" -o "downloads" -m "all"
sudo python StegoScan.py -u "https://example.com" -t "jpg,png" -n 5 -o "downloads" -m "all"
sudo python StegoScan.py -l "path/to/local/files" -t "*" -o "downloads" -m "lsb,hist,png"
Bien que l'interface graphique soit encore en cours de développement pour son intégration dans le système complet, voici la version actuelle :
Tous les fichiers extraits seront stockés dans le répertoire de sortie fourni lors de l'exécution.
Crée et installe automatiquement un nouvel environnement pour toutes les importations Python nécessaires.
Le script installe automatiquement poppler-utils, stegdetect, binwalk et zsteg.
L'accélération GPU est utilisée si un GPU compatible CUDA est détecté.
Étendre le test pour inclure Exiftool, StegSeek, StegExpose, OutGuess, StegoRAT, StegoSuite et WavSteg.
Étendre l'analyse des malwares avec davantage de règles YARA.
Améliorer la détection d'objets à l'aide de techniques avancées de traitement d'images.
La stéganographie – la pratique consistant à cacher des messages dans d'autres données non suspectes – a connu une augmentation notable de son utilisation dans les activités criminelles. Les progrès des technologies numériques ont permis à des acteurs malveillants d'intégrer des informations illicites dans des fichiers apparemment inoffensifs tels que des images, des fichiers audio ou vidéo. Par exemple, des rapports ont suggéré que des organisations terroristes ont utilisé la stéganographie pour dissimuler des instructions dans des photographies numériques publiées sur Internet. De plus, l'essor des communications Voice over Internet Protocol (VoIP) a conduit au développement de techniques qui cachent des données dans les flux vocaux, rendant la détection encore plus difficile.
Dans le domaine des médias publics, la stéganographie a également fait sentir sa présence. Au-delà de ses utilisations malveillantes, elle a été employée à des fins légitimes telles que le tatouage numérique, où les informations de droits d'auteur sont secrètement intégrées dans les fichiers multimédias pour protéger les droits de propriété intellectuelle. Cette technique permet aux créateurs de contenu de tracer la distribution de leur travail et de lutter contre les utilisations non autorisées. En outre, le concept de stéganographie sociale a émergé, où les individus cachent des messages dans des références culturelles, des idiomes ou du contenu de culture populaire partagé publiquement, rendant les messages sous-jacents visibles uniquement pour certains publics.
Compte tenu de l'utilisation croissante de la stéganographie dans la cybercriminalité, le terrorisme et les communications clandestines, il est crucial de développer des outils capables de scanner les sites web à la recherche de ces messages cachés. Les criminels et les acteurs malveillants exploitent la stéganographie numérique pour échanger secrètement des données, telles que des identifiants volés, des commandes de logiciels malveillants ou des instructions illicites, tout en évitant la détection par les mesures de cybersécurité traditionnelles. Sans la capacité de scanner et d'analyser le contenu web pour détecter des messages intégrés, les forces de l'ordre et les agences de sécurité pourraient avoir du mal à suivre les activités illégales, ce qui pourrait entraîner des menaces pour la sécurité nationale, les systèmes financiers et la vie privée des individus. De plus, avec l'essor de la désinformation et des campagnes d'influence clandestines, les techniques stéganographiques pourraient être utilisées pour diffuser de la propagande cachée ou coordonner des efforts de désinformation. La mise en œuvre de mécanismes de numérisation aiderait à identifier et à atténuer ces risques tout en équilibrant les préoccupations de confidentialité, garantissant que la stéganographie ne soit pas utilisée à des fins néfastes.
[1] Detecting Steganographic Content on the Internet. Article de 2002 par Niels Provos et Peter Honeyman publié dans les actes du Network and Distributed System Security Symposium (San Diego, CA, 6–8 février 2002). NDSS 2002. Internet Society, Washington, D.C.
[2] « Steganography », Wikipédia, https://en.wikipedia.org/wiki/Steganography (consulté le 27 janvier 2025).
Ce projet est open-source et disponible sous la licence MIT.