SOC Prime Bias: Medio

12 Nov 2025 15:37

Malware Maverick: Informe Accionable para Equipos SOC

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Malware Maverick: Informe Accionable para Equipos SOC
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Análisis del troyano Maverick

El troyano Maverick es un malware bancario sofisticado dirigido a Brasil, que utiliza ingeniería social a través de WhatsApp Web para entregar archivos ZIP maliciosos que contienen accesos directos LNK, los cuales activan cargadores ofuscados de PowerShell y .NET para una cadena de infección sin archivos. El malware verifica que el sistema de la víctima se encuentre en Brasil (mediante verificaciones de zona horaria, configuración regional y región), luego monitoriza las sesiones del navegador y apunta a una lista codificada de bancos brasileños, intercambios de criptomonedas y plataformas de pago. Las coincidencias de código vinculan a Maverick con la campaña anterior del troyano Coyote, pero su arquitectura y métodos de propagación representan una evolución. Este informe equipa a los equipos SOC con el flujo de ataque, indicadores clave de compromiso (IOC), consultas de detección, controles de mitigación y pautas de simulación necesarias para defenderse contra Maverick.

Investigación del malware Maverick

Los investigadores observaron que el vector de infección inicial de Maverick es un archivo ZIP entregado a través de WhatsApp Web, que contiene un archivo LNK malicioso. El LNK ejecuta una cadena de PowerShell que descarga un cargador inicial desde un servidor C2 (por ejemplo, sorvetenopote[.]com). El cargador decodifica y ejecuta un ensamblado .NET enteramente en memoria sin dejar archivos en el disco. Una rama de ejecución instala un módulo infectador de WhatsApp usando Selenium y WPPConnect para secuestrar sesiones de navegador y propagarse. La segunda rama carga la carga bancaria de Maverick (“Maverick.Agent”) que asegura que la víctima sea brasileña (zona horaria entre UTC−5 y UTC−2, configuración regional “pt-BR”), establece persistencia a través de un HealthApp-.bat en la carpeta de inicio, monitorea ventanas de navegador en primer plano para una lista comprimida/encriptada de URLs bancarias, y cuando se produce una coincidencia, descifra un módulo y lo ejecuta para realizar robo de credenciales, registro de teclas, captura de pantalla, phishing de superposición y comunicación C2. Numerosos patrones de reutilización de código y rutinas de encriptación AES/GZIP idénticas atan a Maverick con Coyote.

Mitigación de explotación de Maverick

Para defenderse contra Maverick, los equipos SOC deben aplicar controles estrictos y defensas en capas. Limitar o bloquear el uso de WhatsApp Web para empleados con acceso a sistemas sensibles. Implementar capacitación en concienciación sobre phishing centrándose en adjuntos ZIP y accesos directos desde plataformas de mensajería. Aplicar políticas estrictas de ejecución de PowerShell (por ejemplo, restringir scripts no firmados, registrar un uso intensivo, bloquear patrones IEX DownloadString). Monitorear la creación de archivos por lotes inusuales en carpetas de inicio (por ejemplo, «HealthApp-*.bat»). Utilizar soluciones de detección y respuesta en el endpoint (EDR) capaces de detectar carga de .NET reflejada y ejecución de shellcode Donut en memoria. Bloquear dominios maliciosos conocidos e infraestructura C2 como sorvetenopote[.]com y zapgrande[.]com a nivel de DNS/cortafuegos. Mantener firmas de antivirus/EDR y feeds de amenazas actualizados, y deshabilitar o monitorear herramientas automáticas de secuestro de sesiones de navegador.

Cómo responder al malware bancario Maverick

Cuando se detecta una posible infección de Maverick, los respondedores de incidentes deben aislar inmediatamente el host afectado y comenzar una investigación forense. Utilizar consultas de detección en su SIEM/EDR para encontrar invocaciones de PowerShell de DownloadString de dominios sospechosos, ejecución de .NET en memoria de manera reflejada y subprocesos que lanzan archivos por lotes desde carpetas de inicio. Cuarentene cualquier archivo por lotes denominado “HealthApp-.bat” y bloquee los dominios e IPs C2 asociadas. Revise perfiles de navegador en busca de herramientas de automatización no autorizadas como ChromeDriver o Selenium. Restablezca credenciales bancarias para usuarios afectados y refuerce la autenticación multifactor (MFA) en todos los accesos a servicios financieros. Asegure una limpieza exhaustiva verificando que no queden módulos residuales de Maverick. El agente permanece, y realice un barrido completo de malware en la red.

mermaid graph TB %% Definiciones de clase classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef operator fill:#ff9900 %% Nodos delivery_content_injection[«<b>Acción</b> – <b>T1659 Inyección de Contenido</b><br/><b>Descripción</b>: Archivos ZIP/LNK maliciosos enviados a través de WhatsApp Web»] class delivery_content_injection action phishing_service[«<b>Acción</b> – <b>T1566.003 Phishing: Spearphishing a través de Servicio</b><br/><b>Descripción</b>: Usar WhatsApp como servicio para distribuir carga maliciosa»] class phishing_service action user_execution[«<b>Acción</b> – <b>T1204.002 Ejecución por Usuario</b><br/><b>Descripción</b>: La víctima abre el acceso directo, activa cmd ofuscado»] class user_execution action cmd_tool[«<b>Herramienta</b> – <b>Nombre</b>: cmd.exe»] class cmd_tool tool powershell_interpreter[«<b>Acción</b> – <b>T1059.001 PowerShell</b><br/><b>Descripción</b>: Decodifica carga Base64 y ejecuta comandos»] class powershell_interpreter action powershell_tool[«<b>Herramienta</b> – <b>Nombre</b>: PowerShell»] class powershell_tool tool obfuscation[«<b>Acción</b> – <b>T1027.014 Archivos o Información Ofuscados</b><br/><b>Descripción</b>: Código polimórfico, tokens divididos, bucles FOR anidados, Base64 y UTF‑16LE»] class obfuscation action location_discovery[«<b>Acción</b> – <b>T1614.001 Descubrimiento de Ubicación del Sistema</b><br/><b>Descripción</b>: Verifica idioma/geolocalización y aborta si no es Brasil»] class location_discovery action sandbox_evasion[«<b>Acción</b> – <b>T1497.002 Evasión de Virtualización/Sandbox</b><br/><b>Descripción</b>: Verificaciones basadas en actividad del usuario»] class sandbox_evasion action uac_bypass[«<b>Acción</b> – <b>T1548.002 Abuso del Mecanismo de Control de Elevación: Eludir Control de Cuentas de Usuario</b><br/><b>Descripción</b>: Deshabilita Windows Defender y UAC»] class uac_bypass action persistence_startup[«<b>Acción</b> – <b>T1037.004 Scripts de Inicialización de Arranque o Inicio de Sesión: Scripts RC</b><br/><b>Descripción</b>: Deja archivo por lotes en carpeta de inicio»] class persistence_startup action batch_file[«<b>Proceso</b> – <b>Nombre</b>: HealthApp‑<GUID>.bat»] class batch_file process persistence_startup_item[«<b>Acción</b> – <b>T1037.005 Scripts de Inicialización de Arranque o Inicio de Sesión: Elementos de Inicio</b><br/><b>Descripción</b>: Archivo por lotes se contacta con C2 periódicamente»] class persistence_startup_item action process_discovery[«<b>Acción</b> – <b>T1057 Descubrimiento de Procesos</b><br/><b>Descripción</b>: Enumera procesos de navegador»] class process_discovery action session_hijack[«<b>Acción</b> – <b>T1539 Robar Cookie de Sesión Web</b> / <b>T1185 Secuestro de Sesión de Navegador</b><br/><b>Descripción</b>: Captura cookies de sitios bancarios»] class session_hijack action web_c2_bidirectional[«<b>Acción</b> – <b>T1102.002 Servicio Web: Comunicación Bidireccional</b><br/><b>Descripción</b>: Llamadas API HTTPS a zapgrande.com»] class web_c2_bidirectional action web_c2_oneway[«<b>Acción</b> – <b>T1102.003 Servicio Web: Comunicación Unidireccional</b><br/><b>Descripción</b>: Recupera cargas adicionales»] class web_c2_oneway action proxy_execution[«<b>Acción</b> – <b>T1216 Ejecución de Proxy de Script del Sistema</b> y <b>T1218 Ejecución de Proxy de Binario del Sistema</b><br/><b>Descripción</b>: PowerShell y cmd.exe actúan como proxies para ejecutar script remoto en memoria»] class proxy_execution action masquerading[«<b>Acción</b> – <b>T1036.001 Suplantación de Identidad</b><br/><b>Descripción</b>: Archivos disfrazados como .lnk, .zip, etc., con firmas inválidas»] class masquerading action malware_payload[«<b>Malware</b> – <b>Nombre</b>: Cargador de PowerShell Ofuscado»] class malware_payload malware %% Operadores op_and_location((«AND»)) class op_and_location operator %% Conexiones delivery_content_injection u002du002d>|entrega| phishing_service phishing_service u002du002d>|lleva a| user_execution user_execution u002du002d>|ejecuta| cmd_tool cmd_tool u002du002d>|lanza| powershell_interpreter powershell_interpreter u002du002d>|usa| powershell_tool powershell_tool u002du002d>|ejecuta| obfuscation obfuscation u002du002d>|habilita| location_discovery location_discovery u002du002d>|aprueba| op_and_location sandbox_evasion u002du002d>|relacionado con| op_and_location op_and_location u002du002d>|permite| uac_bypass uac_bypass u002du002d>|establece| persistence_startup persistence_startup u002du002d>|crea| batch_file batch_file u002du002d>|llama| web_c2_bidirectional web_c2_bidirectional u002du002d>|recupera| web_c2_oneway web_c2_oneway u002du002d>|proporciona| proxy_execution proxy_execution u002du002d>|ejecuta| malware_payload malware_payload u002du002d>|deja caer| persistence_startup_item persistence_startup_item u002du002d>|contacta periódicamente| web_c2_bidirectional process_discovery u002du002d>|identifica navegadores para| session_hijack session_hijack u002du002d>|exfiltra a través de| web_c2_bidirectional proxy_execution u002du002d>|enmascarado por| masquerading %% Aplicar clases class delivery_content_injection action class phishing_service action class user_execution action class cmd_tool tool class powershell_interpreter action class powershell_tool tool class obfuscation action class location_discovery action class sandbox_evasion action class uac_bypass action class persistence_startup action class batch_file process class persistence_startup_item action class web_c2_bidirectional action class web_c2_oneway action class proxy_execution action class masquerading action class malware_payload malware class process_discovery action class session_hijack action

Flujo de ataque

Carga útil del troyano Maverick

Instrucciones de simulación

Prerrequisito: La verificación previa de Telemetría y Línea de Base debe haber sido aprobada.

Motivo: 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 TTP identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a un diagnóstico erróneo.

  • Narrativa de ataque y comandos:

    1. Reconocimiento inicial (omitido para la regla, innecesario).
    2. Contacto C2: El adversario lanza una línea de comando de PowerShell que resuelve zapgrande.com y realiza una solicitud HTTP GET, imitando el beacon del malware. Esto genera un evento Sysmon NetworkConnect con HostnameDestino = zapgrande.com.
    3. Recuperación de carga: Inmediatamente después del GET, el script descarga una pequeña carga ejecutable del mismo host, almacenado en %TEMP%.

    El atacante utiliza Invoke-WebRequest nativo para evitar crear un binario malicioso separado y permanecer «vivir de la tierra».

  • Script de prueba de regresión:

    # -------------------------------------------------
    # Script de simulación para contacto de dominio C2 de Maverick
    # -------------------------------------------------
    $maliciousDomains = @("zapgrande.com","sorvetenopote.com")
    foreach ($domain in $maliciousDomains) {
        try {
            Write-Host "[*] Contactando al host C2: $domain"
            # Resolver DNS (crea registros de consulta DNS)