Diagrama de flujo de infección

Este artículo presenta un análisis detallado de una reciente campaña de malware que utiliza técnicas de ofuscación avanzadas para evadir la detección. La cadena de infección comienza con un script JScript adjunto a un correo electrónico de phishing y culmina con la descarga de Remcos RAT. El análisis se centra en las técnicas de ofuscación empleadas y cómo desensamblar cada etapa del ataque.

Campaña de Phishing y Primera Etapa de Infección

La campaña se distribuyó a través de correos electrónicos de phishing que suplantaban a una empresa checa legítima. Aunque el correo electrónico contenía elementos visuales creíbles, fallaba en las verificaciones DMARC/SPF, lo que probablemente habría resultado en su cuarentena por la mayoría de los servidores de correo.

El archivo adjunto era un script JScript con una envoltura GZIP. El archivo inicial era notablemente grande (1.17 MB), debido a una capa de ofuscación simple pero efectiva. La mayor parte del script (17,188 de 17,222 líneas) consistía en una cadena idéntica y redundante.

Análisis y Deofuscación del JScript

Al eliminar las líneas redundantes, el script se redujo a 34 líneas de código esencial (31 KB). El análisis del código restante reveló dos secciones principales:

  • Persistencia Inicial: Las primeras 10 líneas del script intentan lograr persistencia copiando el archivo JScript en la carpeta de inicio del sistema operativo.
  • Código Obfuscado Adicional: Las 19 líneas restantes estaban protegidas con técnicas básicas de ofuscación. El análisis desde el final del script hacia arriba demostró ser beneficioso. Se identificó una llamada a un comando de PowerShell que utilizaba la técnica de “inclusión de cadena basura” para ocultar su verdadero propósito.

El script utiliza el método Win32_Process.Create de WMI para ejecutar una instancia oculta de PowerShell. Esta instancia decodifica el contenido de la variable whatsamatta (codificada en Base64 con UTF-8) y ejecuta el script resultante mediante Invoke-Expression.

Descarga de la Segunda Etapa: La Imagen Maliciosa

El script de PowerShell de la segunda etapa, una vez decodificado y deofuscado, contenía una URL para descargar la siguiente fase del payload. La URL apuntaba a un archivo alojado en archive.org con una extensión PNG (MSI_PRO_with_b64.png), pero que en realidad era un archivo JPEG. Esta técnica de ocultar el payload dentro de un archivo de imagen (steganography) ya había sido observada en campañas anteriores.

El script de PowerShell está diseñado para extraer una cadena codificada en Base64 de la imagen descargada y cargarla utilizando reflexión. Aunque el archivo de imagen ya no estaba disponible en el momento del análisis, se pudo examinar la siguiente etapa de la infección analizando los parámetros pasados al payload.

Etapa Final: Remcos RAT

El análisis de la variable argsBase64 reveló parámetros para la siguiente etapa, incluyendo otra URL oculta. Esta URL (hxxps[:]//hotelseneca[.]ro/ConvertedFileNew.txt) contenía la etapa final del payload: un archivo ejecutable (EXE) codificado en Base64 y con caracteres invertidos.

Al decodificar este archivo, se identificó que el payload final era una muestra de Remcos RAT. Este hallazgo confirma que la cadena de infección completa estaba diseñada para establecer una puerta trasera de acceso remoto en el sistema de la víctima.

Indicadores de Compromiso (IoCs)

URLs

  • hxxps[:]//ia600603[.]us[.]archive[.]org/13/items/msi-pro-with-b-64_202602/MSI_PRO_with_b64.png
  • hxxps[:]//hotelseneca[.]ro/ConvertedFileNew.txt

Archivos

  • Archivo JS (1ª etapa)
    • SHA-1: a34fc702072fbf26e8cada1c7790b0603fcc9e5c
    • SHA-256: edc04c2ab377741ef50b5ecbfc90645870ed753db8a43aa4d0ddcd26205ca2a4
  • Archivo TXT (3ª etapa – codificado)
    • SHA-1: bcdb258d4c708c59d6b1354009fb0d96a0e51dc0
    • SHA-256: b6fdb00270914cdbc248cacfac85749fa7445fca1122a854dce7dea8f251019c
  • Archivo EXE (3ª etapa – decodificado)
    • SHA-1: 45bfcd40f6c56ff73962e608e8d7e6e492a26ab9
    • SHA-256: 1158ef7830d20d6b811df3f6e4d21d41c4242455e964bde888cd5d891e2844da

Referencias

Fuente original: Ver artículo original