SOC Prime Bias: Medio

17 Abr 2026 17:34

El botnet PowMix apunta a la fuerza laboral checa a través de un señuelo de una empresa mediática

Author Photo
SOC Prime Team linkedin icon Seguir
El botnet PowMix apunta a la fuerza laboral checa a través de un señuelo de una empresa mediática
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Cisco Talos descubrió un botnet rastreado como PowMix que ha estado activo al menos desde diciembre de 2025 y está dirigido a organizaciones en la República Checa. La cadena de infección comienza con archivos LNK maliciosos que activan un cargador de PowerShell, el cual descomprime un archivo ZIP, evita las protecciones de AMSI y lanza la carga útil de PowMix directamente en la memoria. Una vez establecido, el malware mantiene persistencia a través de una tarea programada con un nombre hexadecimal aleatorio y utiliza un mutex global para controlar la ejecución. PowMix se comunica con su infraestructura de comando y control a través de rutas aleatorizadas tipo REST alojadas en herokuapp.com dominios y admite la ejecución de comandos remotos, cambios de configuración y autodestrucción.

Investigación

Talos examinó toda la cadena de entrega basada en LNK, el cargador de PowerShell y el propio bot PowMix, identificando similitudes notables con la campaña ZipLine anterior, incluyendo la ocultación de carga útil basada en ZIP y el uso de infraestructura alojada en Heroku para C2. Los investigadores documentaron el método de evasión de AMSI del malware, su lógica de generación de ID de bot estilo CRC32 y los intervalos de señalización diseñados con variaciones para reducir la detección. El equipo también extrajo indicadores clave, incluyendo el patrón de nomenclatura de tareas programadas, convenciones de mutex y cadenas clave XOR embebidas en el malware. La cobertura de detección se amplió aún más mediante la creación de firmas de ClamAV y Snort.

Mitigación

Las organizaciones deberían aplicar controles estrictos a la ejecución de archivos LNK y monitorear la actividad de PowerShell que crea tareas programadas o mutex globales. Las protecciones de AMSI deberían fortalecerse siempre que sea posible, y la ejecución de scripts debería gestionarse mediante requisitos de firma de código y políticas restrictivas. Los equipos de seguridad también deberían bloquear o inspeccionar cuidadosamente el tráfico saliente a dominios sospechosos herokuapp.com y revisar los registros de autenticación de proxy en busca de solicitudes inusuales similares a un navegador que puedan indicar actividad de PowMix. Las detecciones de punto final deben actualizarse para identificar los comandos específicos de PowerShell y comportamientos utilizados por el cargador.

Respuesta

Si se detecta actividad relacionada con PowMix, los defensores deben aislar el host afectado, terminar el proceso malicioso de PowerShell y eliminar la tarea programada junto con cualquier archivo asociado almacenado en ProgramData. La colección forense debería capturar toda la cadena de ejecución, incluidos los artefactos de línea de comandos, los valores de mutex y cualquier dato de configuración descargado. Las credenciales potencialmente expuestas deberían restablecerse, y los controles de proxy y firewall deberían actualizarse para bloquear los dominios de comando y control identificados. Los equipos de seguridad también deberían monitorear el tráfico de red en busca de comandos como #HOST and #KILL, notificar a las partes interesadas relevantes y actualizar el contenido de detección para reflejar los indicadores más recientes.

graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffff99 classDef process fill:#ffcc99 classDef malware fill:#ff9999 classDef artifact fill:#e0e0e0 classDef persistence fill:#b3ffb3 classDef c2 fill:#d9b3ff classDef command fill:#ffd9b3 %% Nodes attack_phishing[«<b>Acción</b> – T1566.001 Phishing: Adjunto de Spearphishing<br/>La víctima recibe un correo electrónico con un ZIP malicioso»] class attack_phishing action file_zip[«<b>Artefacto</b> – Archivo ZIP malicioso<br/>Contiene un acceso directo LNK»] class file_zip artifact file_lnk[«<b>Artefacto</b> – Acceso directo malicioso (.lnk)<br/>T1027.012 Ocultación de icono LNK»] class file_lnk artifact process_powershell[«<b>Proceso</b> – Cargador PowerShell<br/>T1059.001 Ejecución de PowerShell»] class process_powershell process tech_amsi_bypass[«<b>Técnica</b> – Bypass de AMSI<br/>Desactiva o evade la Interfaz de Escaneo Antimalware»] class tech_amsi_bypass technique tech_compression[«<b>Técnica</b> – T1027.015 Compresión<br/>La carga útil se comprime para ocultar su contenido»] class tech_compression technique tech_xor[«<b>Técnica</b> – T1001 Ofuscación de Datos (XOR)<br/>Cifrado XOR personalizado de la carga útil»] class tech_xor technique malware_powmix[«<b>Malware</b> – PowMix<br/>Cargador en memoria, genera ID de bot y se comunica con C2»] class malware_powmix malware tech_botid[«<b>Técnica</b> – Generación de ID de Bot<br/>Checksum tipo CRC32 para identificador único»] class tech_botid technique persistence_task[«<b>Persistencia</b> – Tarea Programada<br/>T1543.001 Agente de Inicio, nombre hexadecimal aleatorio, ejecuta Explorer con acceso directo»] class persistence_task persistence tech_shortcut_mod[«<b>Técnica</b> – T1547.009 Modificación de Acceso Directo<br/>Usa un acceso directo para lanzar la carga útil»] class tech_shortcut_mod technique tech_screensaver[«<b>Técnica</b> – T1546.002 Protector de Pantalla<br/>Ejecución activada por evento a las 11:00 diariamente»] class tech_screensaver technique c2_communication[«<b>Comunicación C2</b> – Solicitudes HTTPS GET<br/>T1102 Servicio Web, datos cifrados en la URL, imita Chrome»] class c2_communication c2 command_host[«<b>Comando</b> – #HOST<br/>Indica al bot actualizar el dominio C2»] class command_host command command_kill[«<b>Comando</b> – #KILL<br/>Elimina la tarea programada y borra archivos»] class command_kill command tech_indicator_removal[«<b>Técnica</b> – T1027.005 Eliminación de Indicadores de Herramientas»] class tech_indicator_removal technique tech_hide_artifacts[«<b>Técnica</b> – T1564.011 Ocultar Artefactos: Ignorar Interrupciones de Proceso»] class tech_hide_artifacts technique %% Connections attack_phishing –>|delivers| file_zip file_zip –>|contains| file_lnk file_lnk –>|triggers| process_powershell process_powershell –>|applies| tech_amsi_bypass process_powershell –>|uses| tech_compression process_powershell –>|uses| tech_xor process_powershell –>|loads| malware_powmix malware_powmix –>|executes| tech_botid malware_powmix –>|creates| persistence_task persistence_task –>|uses| tech_shortcut_mod persistence_task –>|scheduled at| tech_screensaver malware_powmix –>|communicates with| c2_communication c2_communication –>|issues| command_host c2_communication –>|issues| command_kill command_kill –>|applies| tech_indicator_removal command_kill –>|applies| tech_hide_artifacts

Flujo de Ataque

Ejecución de Simulación

Requisito previo: La Verificación Previa de Telemetría y Línea Base debe haber pasado.

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

  • Narrativa de Ataque y Comandos:
    Un operador del botnet PowMix primero desactiva AMSI invocando una línea única de PowerShell que establece el amsiInitFailed bandera interna a $true. Inmediatamente después, el mismo proceso de PowerShell crea un mutex nombrado en el espacio de nombres global (GlobalBOT12345) para garantizar una única instancia en ejecución. Ambas acciones se realizan desde una sola línea de comandos para que los registros de Sysmon capturen las cadenas exactas que busca la regla.

  • Script de Prueba de Regresión:

    # Evasión AMSI similar a PowMix + creación de mutex global (activa la regla de detección)
    
    $botId = "BOT12345"
    
    # 1. Establecer la bandera de evasión de AMSI (la cadena literal aparece en la línea de comandos)
    # 2. Crear un mutex global nombrado "Global<BotID>"
    powershell.exe -NoProfile -Command `
        "$amsiInitFailed = $true; `
         $null = [System.Threading.Mutex]::new($true, 'Global$botId')"
  • Comandos de Limpieza:

    # No se escriben artefactos persistentes en el disco; solo existe un mutex en memoria.
    # Para asegurar que el mutex se libere, termine cualquier proceso de PowerShell que
    # haya iniciado la prueba y, opcionalmente, ejecute un breve script para abrir y cerrar.
    
    Get-Process -Name powershell | Where-Object { $_.StartInfo.Arguments -match 'GlobalBOT12345' } | Stop-Process -Force