SOC Prime Bias: Crítico

18 Feb 2026 13:42 UTC

Rastreo de Campañas de Malware con Material Reutilizado

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Rastreo de Campañas de Malware con Material Reutilizado
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Esta campaña reutiliza una imagen “portadora” JPEG que oculta una carga maliciosa entre las etiquetas BaseStart- y -BaseEnd. El acceso inicial se realiza a través de la explotación de Microsoft Equation Editor (CVE-2017-11882) en un adjunto elaborado, que descarga un HTA. El HTA ejecuta PowerShell para recuperar una .NET etapa binaria. La reutilización de la misma imagen en muchas muestras sugiere que el operador depende de componentes repetibles.

Investigación

El investigador observó TELERADIO_IB_OBYEKTLRIN_BURAXILIS_FORMASI.xIs que contenía el exploit de Equation Editor. La cadena obtiene un HTA de una IP maliciosa, que ejecuta PowerShell para descargar una segunda carga alojada en otra IP. La etapa final es un binario .NET incrustado en el portador JPEG y recuperado a través de los delimitadores BaseStart/-BaseEnd. Se encontraron imágenes portadoras similares en docenas de envíos a VirusTotal.

Mitigación

Parchee CVE-2017-11882 y mantenga Office actualizado. Bloquee o restrinja la ejecución de HTA, imponga la firma de scripts de PowerShell y utilice el filtrado de URL/IP para denegar el acceso a la infraestructura de alojamiento.

Respuesta

Detecte y ponga en cuarentena el adjunto y la etapa HTA, y alerte sobre la actividad de descarga de PowerShell a las IPs identificadas. Aislar los hosts afectados y realizar análisis forenses de memoria para localizar y eliminar la carga .NET en la memoria.

Flujo de Ataque

Ejecución de Simulación

Prerequisito: La Verificación Previa de Telemetría & Baseline debe haberse completado con éxito.

Razonamiento: 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 los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa del Ataque & Comandos:
    Un adversario ha explotado una vulnerabilidad del lado del cliente que sirve un archivo HTA malicioso. El HTA lanza PowerShell con una línea de comandos que incrusta una carga maliciosa (por ejemplo, Invoke‑Expression para lanzar calc.exe) codificada en Base64. La carga está envuelta entre las cadenas BaseStart- and -BaseEnd para que el atacante pueda extraerla confiablemente al vuelo. El comando ejecutado en el host comprometido es:

    powershell.exe -NoProfile -Command "$b='BaseStart-$( [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('Start-Process calc.exe')) )-BaseEnd'; $payload=$b -replace '.*BaseStart-','' -replace '-BaseEnd.*',''; IEX ([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String($payload)))"

    Esta línea de comandos satisface ambas condiciones de selección_base_start and condiciones de selección_base_end condiciones, causando que la regla se active.

  • Script de Prueba de Regresión: El siguiente script de PowerShell autónomo reproduce el comportamiento malicioso y puede ejecutarse en cualquier host de Windows con la telemetría activada arriba.

    # Script de Prueba de Regresión – activa la regla de detección
    # 1. Construir carga codificada en Base64 (lanzar calc.exe)
    $payload = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('Start-Process calc.exe'))
    
    # 2. Ensamblar la línea de comandos completa con delimitadores
    $cmd = "BaseStart-$payload-BaseEnd"
    
    # 3. Ejecutar PowerShell con la línea de comandos elaborada
    $fullCommand = "powershell.exe -NoProfile -Command `"& {`$b='$cmd'; `$payload=`$b -replace '.*BaseStart-','' -replace '-BaseEnd.*',''; IEX ([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String(`$payload)))`""
    
    # 4. Ejecutar el comando (esto lanzará calc.exe)
    Invoke-Expression $fullCommand
  • Comandos de Limpieza: Elimine cualquier artefacto y termine el proceso generado si es necesario.

    # Limpieza – cierre Calculadora si todavía está ejecutándose y limpie el historial de comandos
    Get-Process calc -ErrorAction SilentlyContinue | Stop-Process -Force
    # Opcionalmente limpie el historial de PowerShell (solo para la sesión actual)
    Remove-Item (Get-PSReadlineOption).HistorySavePath -ErrorAction SilentlyContinue