SOC Prime Bias: Alto

17 Jun 2026 12:58 UTC

Cómo un archivo VHDX entrega Remcos RAT

Author Photo
SOC Prime Team linkedin icon Seguir
Cómo un archivo VHDX entrega Remcos RAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Una campaña de malware de múltiples etapas utiliza un archivo ZIP armado que contiene una imagen de disco VHDX para evadir los controles de seguridad comunes. Después de montar el VHDX, se ejecuta un archivo JavaScript ofuscado que lanza una serie de etapas de PowerShell a través de WMI. La carga final es Remcos RAT, que se inyecta en un proceso legítimo de Windows para ocultar su ejecución.

Investigación

El investigador examinó un archivo ZIP malicioso y el contenedor VHDX incrustado para reconstruir el flujo completo del ataque. El análisis expuso una cadena de ejecución compleja que utilizaba la creación de procesos basada en WMI para disfrazar las relaciones padre-hijo, junto con la ofuscación de cadenas con XOR y Base64 y un cargador reflectivo de .NET. El camino de infección se rastreó con éxito desde la ejecución inicial de JavaScript hasta el despliegue de la carga final de Remcos.

Mitigación

Las organizaciones deben aplicar controles estrictos para prevenir el montaje de imágenes de disco VHDX desde fuentes no confiables. Las herramientas de seguridad también deben monitorear actividades sospechosas Win32_Process.Create activadas por motores de scripting como JavaScript o PowerShell. Bloquear dominios maliciosos conocidos y vigilar la persistencia inusual de claves Run en el registro puede reducir aún más el riesgo.

Respuesta

Si se detecta esta actividad, aísle el endpoint afectado inmediatamente para detener la comunicación de mando y control. Adquiera un volcado de memoria para capturar la carga inyectada de Remcos y el cargador reflectivo de .NET. Luego, una revisión forense completa debe buscar entradas maliciosas de claves Run, archivos VHDX adicionales y actividad sospechosa de PowerShell en el resto del entorno.

Flujo de Ataque

## Ejecución de Simulación

Requisito Previo: La Comprobación de Pre-vuelo de Telemetría y Línea Base debe haberse completado.

Justificación: Esta sección detalla la ejecución precisa de la técnica adversaria (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y tienen como objetivo generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un mal diagnóstico.

  • Narrativa del Ataque y Comandos: El adversario tiene como objetivo ejecutar una carga maliciosa en la memoria para evitar la detección por parte de AV tradicional. Utilizan un script de PowerShell que aprovecha [System.Reflection.Assembly]::Load() para extraer un DLL compilado .NET directamente desde un array de bytes en el proceso actual. Para mantener la persistencia y evadir el escrutinio, intentan generar o interactuar con backgroundTaskHost.exe, un proceso legítimo de Windows, para ocultar su hilo de ejecución dentro de una tarea de fondo del sistema estándar.

  • Script de Prueba de Regresión:

    # Script de Simulación: Carga Reflectiva .NET e Interacción de Procesos
    # Este script imita la lógica capturada por la regla de detección.
    
    # 1. Crear un array de bytes ficticio que represente un Ensamblaje .NET (muy simplificado para simulación)
    $assemblyBytes = [byte[]](0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00) # Imita el encabezado MZ
    
    Write-Host "[+] Intentando Cargar Ensamblado Reflectivo .NET..." -ForegroundColor Cyan
    try {
        # Esta cadena específica es un objetivo para la regla de detección
        $assembly = [System.Reflection.Assembly]::Load($assemblyBytes)
        Write-Host "[!] Éxito: Ensamblado cargado en memoria (solo simulación)." -ForegroundColor Green
    } catch {
        Write-Host "[-] La carga del ensamblado falló (esperado debido a bytes ficticios inválidos), pero el comando fue enviado." -ForegroundColor Yellow
    }
    
    Write-Host "[+] Intentando invocar backgroundTaskHost.exe para activar detección..." -ForegroundColor Cyan
    # Esta cadena específica es un objetivo para la regla de detección
    Start-Process "C:WindowsSystem32backgroundTaskHost.exe" -ArgumentList "/test-detection"
  • Comandos de Limpieza:

    # Limpieza: Terminar el proceso spawned backgroundTaskHost
    Stop-Process -Name "backgroundTaskHost" -ErrorAction SilentlyContinue
    Write-Host "[+] Limpieza completa. BackgroundTaskHost terminado." -ForegroundColor Green