SOC Prime Bias: Medio

24 Mar 2026 14:48

De W-2 a BYOVD: Cómo una búsqueda fiscal conduce a la eliminación de AV/EDR en modo kernel

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
De W-2 a BYOVD: Cómo una búsqueda fiscal conduce a la eliminación de AV/EDR en modo kernel
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Una amplia operación de malvertising abusa de los anuncios de Google vinculados a búsquedas de formularios fiscales para distribuir un instalador falso de ScreenConnect. Ese instalador despliega un ofuscador de múltiples fases, que luego carga una utilidad BYOVD llamada HwAudKiller. La herramienta instala un controlador de audio de Huawei firmado y utiliza acceso a nivel del kernel para terminar procesos de AV y EDR. Una vez que los controles de seguridad están deshabilitados, los atacantes extraen credenciales de LSASS y recopilan credenciales a través de la red con NetExec. La actividad resalta cómo la entrega de malware de mercado puede emparejarse con un controlador de kernel personalizado para obtener acceso sigiloso, suprimir defensas y mantener la persistencia.

Investigación

Los investigadores de Huntress siguieron la ruta de redirección desde anukitax.com to bringetax.com y confirmaron la entrega de un paquete MSI fraudulento de ScreenConnect. El archivo dropped crypteds.exe utiliza un truco de asignación de memoria de 2 GB para evadir detección y lanza shellcode indirectamente a través de timeSetEvent antes de cargar HwAudKiller. Esa carga escribe Havoc.sys en %TEMP% y registra un servicio del kernel llamado Havoc para terminar una lista codificada de procesos de seguridad. En una segunda intrusión, los atacantes obtuvieron acceso a través de una vulneración de VPN, reutilizaron el mismo controlador, ampliaron la lista de eliminación para incluir procesos de FortiEDR, extrajeron LSASS usando comsvcs.dll, y se movieron lateralmente con NetExec.

Mitigación

Las organizaciones deben bloquear o permitir estrictamente las implementaciones legítimas de ScreenConnect y monitorear los nombres de host de instancias de prueba-* desconocidos. Los equipos de seguridad deben observar los controladores de kernel cargados desde rutas temporales y alertar sobre la actividad de instalación de servicios de Windows y el Evento ID 6 de Sysmon. Se deben imponer controles de ejecución estrictos sobre los archivos escritos en C:WindowsSystemTempScreenConnect y %TEMP%. Además, los esfuerzos de concienciación del usuario deben reforzar que los resultados de búsqueda de anuncios de Google no deben considerarse fuentes confiables para descargas relacionadas con impuestos.

Respuesta

Si se encuentra un instalador de ScreenConnect malicioso, aísle inmediatamente el punto final, recolecte crypteds.exe y cualquier controlador Havoc.sys ejecutado, y detenga el servicio Havoc. Comience los procedimientos de restablecimiento de credenciales para cuentas potencialmente comprometidas y revoque el acceso expuesto. Luego, escanee el entorno más amplio para detectar conexiones adicionales de relé de ScreenConnect, ejecución de NetExec y signos de volcado de LSASS. Finalmente, documente y comparta los IOCs descubiertos con canales internos y externos de inteligencia de amenazas.

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef driver fill:#ffddaa %% Node definitions initial_access["<b>Técnica</b> – T1659 Inyección de Contenido<br/><b>Descripción</b>: Los anuncios maliciosos de Google redirigen a los usuarios que buscan formularios fiscales a una página de destino oculta que proporciona un instalador MSI de ScreenConnect falso."] class initial_access action tool_google_ads["<b>Herramienta</b> – Nombre: Google Ads<br/><b>Propósito</b>: Entregar un anuncio malicioso que enlaza a la página de destino."] class tool_google_ads tool malware_screenconnect["<b>Malware</b> – Nombre: ScreenConnect MSI<br/><b>Tipo</b>: Instalador de acceso remoto."] class malware_screenconnect malware user_execution["<b>Técnica</b> – T1204 Ejecución de Usuario<br/><b>Descripción</b>: La víctima ejecuta el form_w9.msi descargado que instala ScreenConnect."] class user_execution action remote_desktop["<b>Técnica</b> – T1219.002 Software de Escritorio Remoto<br/><b>Descripción</b>: El atacante obtiene control remoto interactivo a través de una sesión de ScreenConnect comprometida."] class remote_desktop action obfuscation["<b>Técnica</b> – T1027 Archivos o Información Ofuscados<br/><b>Descripción</b>: La carga útil utiliza shellcode cifrado con XOR, compresión personalizada y carga reflectante."] class obfuscation action compile_after_delivery["<b>Técnica</b> – T1027.004 Compilación Después de la Entrega<br/><b>Descripción</b>: La carga útil se compila después de la entrega para evitar detección estática."] class compile_after_delivery action reflective_loader["<b>Proceso</b> – Nombre: Cargador Reflectante<br/><b>Descripción</b>: Carga shellcode cifrado en tiempo de ejecución."] class reflective_loader process persistence_service["<b>Técnica</b> – T1543 Crear o Modificar Proceso del Sistema<br/><b>Descripción</b>: El malware crea un servicio de Windows que carga un controlador de Huawei firmado para ejecutarse con SYSTEM."] class persistence_service action driver_havoc["<b>Controlador</b> – Nombre: Havoc.sys<br/><b>Descripción</b>: Controlador de kernel de Huawei firmado cargado desde %TEMP%."] class driver_havoc driver credential_dump["<b>Técnica</b> – T1547.008 Controlador LSASS<br/><b>Descripción</b>: El controlador utiliza comsvcs.dll a través de rundll32 para volcar la memoria de LSASS."] class credential_dump action tool_comsvcs["<b>Herramienta</b> – Nombre: comsvcs.dll<br/><b>Propósito</b>: Invocado por rundll32 para volcar LSASS."] class tool_comsvcs tool process_rundll["<b>Proceso</b> – Nombre: rundll32.exe<br/><b>Descripción</b>: Ejecuta comsvcs.dll para volcar credenciales."] class process_rundll process discovery_netscan["<b>Técnica</b> – T1018 Descubrimiento de Sistema Remoto<br/><b>Descripción</b>: NetScan enumera hosts internos."] class discovery_netscan action tool_netscan["<b>Herramienta</b> – Nombre: NetScan<br/><b>Propósito</b>: Escanear la red en busca de hosts activos."] class tool_netscan tool lateral_rdp["<b>Técnica</b> – T1021.001 Servicios Remotos RDP<br/><b>Descripción</b>: Usa RDP para moverse lateralmente."] class lateral_rdp action tool_rdp["<b>Herramienta</b> – Nombre: RDP<br/><b>Propósito</b>: Protocolo de escritorio remoto para movimiento lateral."] class tool_rdp tool lateral_nxc["<b>Técnica</b> – T1210 Explotación de Servicios Remotos<br/><b>Descripción</b>: Usa NetExec (nxc) para ejecutar comandos en máquinas remotas."] class lateral_nxc action tool_nxc["<b>Herramienta</b> – Nombre: NetExec (nxc)<br/><b>Propósito</b>: Ejecutar comandos sobre SMB o RDP."] class tool_nxc tool defense_terminate["<b>Técnica</b> – T1027 Evasión de Defensa Adicional<br/><b>Descripción</b>: El controlador de kernel termina procesos de seguridad como Defender, Kaspersky, SentinelOne."] class defense_terminate action %% Connections initial_access –>|utiliza| tool_google_ads tool_google_ads –>|entrega| malware_screenconnect malware_screenconnect –>|instalado vía| user_execution user_execution –>|habilita| remote_desktop remote_desktop –>|proporciona canal para| obfuscation obfuscation –>|usa| compile_after_delivery compile_after_delivery –>|carga vía| reflective_loader reflective_loader –>|crea| persistence_service persistence_service –>|carga controlador| driver_havoc driver_havoc –>|habilita| credential_dump credential_dump –>|utiliza| tool_comsvcs tool_comsvcs –>|ejecutado por| process_rundll process_rundll –>|facilita| discovery_netscan discovery_netscan –>|utiliza| tool_netscan discovery_netscan –>|habilita| lateral_rdp lateral_rdp –>|utiliza| tool_rdp lateral_rdp –>|habilita| lateral_nxc lateral_nxc –>|utiliza| tool_nxc driver_havoc –>|realiza| defense_terminate "

Flujo de Ataque

Detecciones

Posible Comunicación de Búsqueda de IP a Dominio Intentada (vía dns)

Equipo de SOC Prime
23 de marzo de 2026

Posible BYOVD – Ataque de Trae tu Propio Controlador Vulnerable (vía auditoría)

Equipo de SOC Prime
23 de marzo de 2026

Posible Infiltración/Exfiltración de Datos/C2 a través de Servicios/Herramientas de Terceros (vía dns)

Equipo de SOC Prime
23 de marzo de 2026

Software Alternativo de Acceso/Administración Remota (vía creación_de_proceso)

Equipo de SOC Prime
23 de marzo de 2026

Posible Volcado de Credenciales Usando Comsvcs.dll (vía línea_de_comando)

Equipo de SOC Prime
23 de marzo de 2026

Posible BYOVD – Ataque de Trae tu Propio Controlador Vulnerable (vía evento_de_archivo)

Equipo de SOC Prime
23 de marzo de 2026

Posible Enumeración de Procesos de Sistema (vía línea_de_comando)

Equipo de SOC Prime
23 de marzo de 2026

Posible Abuso de Telegram Como Canal de Comando y Control (vía consulta_dns)

Equipo de SOC Prime
23 de marzo de 2026

Se creó un Servicio de Windows Apuntando a un Controlador en una Ubicación Sospechosa (vía línea_de_comando)

Equipo de SOC Prime
23 de marzo de 2026

Posible Infiltración/Exfiltración de Datos/C2 a través de Servicios/Herramientas de Terceros (vía proxy)

Equipo de SOC Prime
23 de marzo de 2026

Se Creó un Servicio de Windows Apuntando a un Controlador (vía línea_de_comando)

Equipo de SOC Prime
23 de marzo de 2026

Posible Enumeración de Procesos Lsass (vía línea_de_comando)

Equipo de SOC Prime
23 de marzo de 2026

IOCs (IPDestino) para detectar: De W-2 a BYOVD: Cómo Una Búsqueda de Impuestos Conduce a un Asesinato de AV/EDR en Modo Kernel

Reglas de IA de SOC Prime
23 de marzo de 2026

IOCs (HashSha256) para detectar: De W-2 a BYOVD: Cómo Una Búsqueda de Impuestos Conduce a un Asesinato de AV/EDR en Modo Kernel

Reglas de IA de SOC Prime
23 de marzo de 2026

IOCs (IPOrigen) para detectar: De W-2 a BYOVD: Cómo Una Búsqueda de Impuestos Conduce a un Asesinato de AV/EDR en Modo Kernel

Reglas de IA de SOC Prime
23 de marzo de 2026

Campaña de Malvertising Entregando Software Falso y Recolección de Credenciales [Creación de Procesos en Windows]

Reglas de IA de SOC Prime
23 de marzo de 2026

Ejecución de Simulación

Requisito Previo: La Comprobación de Pre‑vuelo de Telemetría y Línea de 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 TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa del Ataque y Comandos:

    1. Acceso Inicial vía Malvertising: La víctima hace clic en un anuncio malicioso mientras busca formularios fiscales, lo que desencadena una descarga a través de drive‑by de form_w9.msi.
    2. Instalación de Software Falso: El MSI instala silenciosamente una herramienta de soporte remoto similar a ScreenConnect y suelta crypteds.exe and sent.exe en el directorio %TEMP% .
    3. Recolección de Credenciales: crypteds.exe es lanzado para volcar los Secretos de LSA.
    4. Carga de DLL por Lado usando Rundll32: Para evadir la detección estática, el atacante carga una DLL maliciosa usando rundll32.exe con la DLL del sistema comsvcs.dll como punto de entrada, que ejecutará la carga útil incrustada.

    Los comandos exactos (simulados en una máquina de prueba) son:

    # 1. Desplegar el MSI malicioso (simulado)
    Start-Process -FilePath "C:Tempform_w9.msi" -ArgumentList "/quiet" -Wait
    
    # 2. Lanzar la herramienta de volcado de credenciales
    Start-Process -FilePath "$env:TEMPcrypteds.exe" -ArgumentList "/dump" -Wait
    
    # 3. Cargar la carga útil maliciosa via rundll32 usando comsvcs.dll
    rundll32.exe "C:windowsSystem32comsvcs.dll",LaunchApplication "$env:TEMPsent.exe"
  • Script de Prueba de Regresión: El script a continuación automatiza los pasos anteriores y asegura que la telemetría generada coincida con las expectativas de la regla de detección.

    # Script de Prueba de Regresión – Simula la Campaña de Malvertising
    # -----------------------------------------------------------
    # 0. Requisito previo: Asegúrese de que Sysmon esté ejecutándose con el registro de línea de comandos habilitado.
    
    # Variables
    $msiPath   = "$env:TEMPform_w9.msi"
    $dumpTool  = "$env:TEMPcrypteds.exe"
    $payload   = "$env:TEMPsent.exe"
    $dllPath   = "C:windowsSystem32comsvcs.dll"
    
    # Ayudante: Crear archivos falsos para imitar los binarios maliciosos
    New-Item -Path $msiPath   -ItemType File -Force | Out-Null
    New-Item -Path $dumpTool  -ItemType File -Force | Out-Null
    New-Item -Path $payload   -ItemType File -Force | Out-Null
    
    Write-Host "[*] Instalando MSI malicioso (simulado)..."
    Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"$msiPath`" /quiet" -Wait
    
    Write-Host "[*] Ejecutando herramienta de volcado de credenciales..."
    Start-Process -FilePath $dumpTool -ArgumentList "/dump" -Wait
    
    Write-Host "[*] Realizando carga de DLL por lado usando rundll32..."
    rundll32.exe "`"$dllPath`"",LaunchApplication "`"$payload`""
    
    Write-Host "[+] Simulación completa. Verifique la detección a través del SIEM."
  • Comandos de Limpieza: Remueva los artefactos falsos y detenga cualquier proceso restante.

    # Script de Limpieza
    $paths = @("$env:TEMPform_w9.msi","$env:TEMPcrypteds.exe","$env:TEMPsent.exe")
    foreach ($p in $paths) {
        if (Test-Path $p) { Remove-Item -Path $p -Force }
    }
    
    # Terminar cualquier proceso rundll32 restante generado por la prueba
    Get-Process -Name rundll32 -ErrorAction SilentlyContinue |
        Where-Object {$_.Path -eq "$env:SystemRootSystem32rundll32.exe"} |
        Stop-Process -Force