SOC Prime Bias: Alta

30 Mar 2026 16:46

Abuso de Herramientas Legítimas de Bajo Nivel para Ayudar al Ransomware a Evadir la Detección del Antivirus

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
Abuso de Herramientas Legítimas de Bajo Nivel para Ayudar al Ransomware a Evadir la Detección del Antivirus
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

El artículo explica cómo los operadores de ransomware abusan de las utilidades legítimas de bajo nivel, tales como Process Hacker, IOBit Unlocker, PowerRun y herramientas similares, para debilitar los antivirus y la protección del endpoint. Al hacer un mal uso de estos binarios firmados, los atacantes pueden obtener privilegios de SYSTEM o incluso a nivel de kernel, robar credenciales, y preparar el entorno para el despliegue del ransomware. El artículo destaca cómo la neutralización de antivirus ha evolucionado de scripts básicos a conjuntos de capacidades integrados en las ofertas modernas de Ransomware como Servicio. También hace referencia a grupos de ransomware del mundo real que han adoptado estos métodos.

Investigación

La investigación describe un patrón de intrusión de dos pasos en el que los adversarios primero utilizan herramientas de bajo nivel para la escalada de privilegios y evasión de antivirus, y luego pasan al robo de credenciales, la manipulación del kernel y la ejecución de la carga útil del ransomware. La actividad de las herramientas se mapea con las técnicas de MITRE ATT&CK, incluidas T1548.002, T1562.001 y T1003.001. Ejemplos de casos conectan estas utilidades con operaciones de ransomware como LockBit 3.0, Phobos, MedusaLocker, entre otros.

Mitigación

Las mitigaciones recomendadas incluyen aplicar listas de permitidos para aplicaciones, observar la terminación de procesos a gran escala, auditar los cambios en el registro que afectan las configuraciones de antivirus, y limitar la ejecución de utilidades administrativas solo a cuentas aprobadas. Las plataformas de protección de endpoint también deben fortalecer los controles de autoprotección para resistir el cierre forzado de procesos y servicios de seguridad.

Respuesta

Cuando se detecte este comportamiento, las organizaciones deben alertar sobre la terminación sospechosa de procesos de AV o EDR, aislar el host afectado, preservar evidencias forenses de cambios en el registro y archivos, e investigar el acceso a LSASS vinculado al robo de credenciales. La respuesta a incidentes debe seguir la cadena de eliminación observada lo suficientemente rápido como para contener la intrusión antes de que comience la encriptación del ransomware.

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Action nodes action_initial_access["<b>Acción</b> – <b>T1566.001 Phishing: Spearphishing Attachment</b><br/><b>Descripción</b>: El adversario envía un adjunto de correo electrónico malicioso que, al abrirse, deja caer un cargador inicial.<br/><b>ID De Técnica</b>: T1566.001"] class action_initial_access action action_priv_esc["<b>Acción</b> – <b>T1548.002 Bypass User Account Control</b><br/><b>Descripción</b>: Explotar utilidades legítimas para eludir UAC y obtener privilegios de SYSTEM o kernel.<br/><b>ID De Técnica</b>: T1548.002"] class action_priv_esc action action_defense_evasion["<b>Acción</b> – <b>T1562 Deterioro de Defensas</b><br/><b>Descripción</b>: Terminar o desactivar componentes de antivirus y EDR para evadir la detección.<br/><b>ID De Técnica</b>: T1562"] class action_defense_evasion action action_credential_access["<b>Acción</b> – <b>T1003 Volcado de Credenciales del SO</b><br/><b>Descripción</b>: Volcar credenciales cacheadas de la memoria utilizando herramientas como Mimikatz.<br/><b>ID De Técnica</b>: T1003"] class action_credential_access action action_persistence["<b>Acción</b> – <b>T1112 Modificar Registro</b><br/><b>Descripción</b>: Eliminar o modificar claves de registro que ejecutan componentes de AV para la eliminación de persistencia.<br/><b>ID De Técnica</b>: T1112"] class action_persistence action action_indicator_removal["<b>Acción</b> – <b>T1070.004 Eliminación de Archivos</b><br/><b>Descripción</b>: Eliminar registros de AV y otros artefactos forenses del disco.<br/><b>ID De Técnica</b>: T1070.004"] class action_indicator_removal action action_impact["<b>Acción</b> – <b>T1486 Datos Encriptados para Impacto</b><br/><b>Descripción</b>: Encriptar archivos de usuario con la carga útil de ransomware después de obtener derechos de SYSTEM.<br/><b>ID De Técnica</b>: T1486"] class action_impact action %% Tool nodes tool_powerrun["<b>Herramienta</b> – <b>Nombre</b>: PowerRun<br/><b>Propósito</b>: Ejecutar binarios con privilegios elevados"] class tool_powerrun tool tool_wke["<b>Herramienta</b> – <b>Nombre</b>: Windows Kernel Explorer (WKE)<br/><b>Propósito</b>: Obtener ejecución a nivel del kernel"] class tool_wke tool tool_ydark["<b>Herramienta</b> – <b>Nombre</b>: YDArk<br/><b>Propósito</b>: Elevar a SYSTEM"] class tool_ydark tool tool_process_hacker["<b>Herramienta</b> – <b>Nombre</b>: Process Hacker<br/><b>Propósito</b>: Terminar procesos de seguridad"] class tool_process_hacker tool tool_iobit["<b>Herramienta</b> – <b>Nombre</b>: IOBit Unlocker<br/><b>Propósito</b>: Detener servicios de AV"] class tool_iobit tool tool_aukills["<b>Herramienta</b> – <b>Nombre</b>: AuKill / ProcessKO<br/><b>Propósito</b>: Matar procesos específicos de AV"] class tool_aukills tool tool_mimikatz["<b>Herramienta</b> – <b>Nombre</b>: Mimikatz<br/><b>Propósito</b>: Volcar credenciales de Windows"] class tool_mimikatz tool tool_unlock_it["<b>Herramienta</b> – <b>Nombre</b>: Unlock_IT<br/><b>Propósito</b>: Eliminar claves de registro y registros de AV"] class tool_unlock_it tool tool_atool["<b>Herramienta</b> – <b>Nombre</b>: Atool_ExperModel<br/><b>Propósito</b>: Eliminar claves de inicio de AV"] class tool_atool tool %% Operator node (optional) op_and1(("AND")) class op_and1 operator %% Flow connections action_initial_access –>|conduce_a| action_priv_esc action_priv_esc –>|conduce_a| action_defense_evasion action_defense_evasion –>|conduce_a| action_credential_access action_credential_access –>|conduce_a| action_persistence action_persistence –>|conduce_a| action_indicator_removal action_indicator_removal –>|conduce_a| action_impact %% Tool usage connections action_priv_esc –>|usa| tool_powerrun action_priv_esc –>|usa| tool_wke action_priv_esc –>|usa| tool_ydark action_defense_evasion –>|usa| tool_process_hacker action_defense_evasion –>|usa| tool_iobit action_defense_evasion –>|usa| tool_aukills action_credential_access –>|usa| tool_mimikatz action_persistence –>|usa| tool_unlock_it action_persistence –>|usa| tool_atool action_indicator_removal –>|usa| tool_unlock_it "

Flujo de Ataque

Ejecución de Simulación

Requisito Previo: El Control de Prevuelo de Telemetría y Línea Base debe haber pasado.

  • Narrativa del Ataque y Comandos:

    El adversario ha obtenido derechos administrativos en el host de la víctima y quiere neutralizar la protección del endpoint antes de desplegar cargas útiles de ransomware. Usando la utilidad legítima HRSword.exe, emiten un comando que detiene el servicio de antivirus (avservice) y desactiva su reinicio automático, asegurando que el defensor no pueda recuperar el servicio durante la ventana de ataque. El comando se ejecuta directamente en una consola de PowerShell para generar un evento claro de creación de procesos en Sysmon que coincide con la regla de detección.

  • Script de Prueba de Regresión:

    <# 
    Simulación del uso de HRSword.exe para detener un servicio de AV y desactivar su reinicio.
    Este script debe ejecutarse con privilegios elevados (Administrador).
    #>
    
    # Variables
    $hrswordPath = "$env:ProgramFilesHRSwordHRSword.exe"
    $serviceName = "avservice"
    
    # Asegúrese de que HRSword.exe exista (crear un mock si no)
    if (-Not (Test-Path $hrswordPath)) {
        Write-Host "Creando mock HRSword.exe para simulación..."
        # Crear un ejecutable ficticio (una copia de cmd.exe) solo para fines de registro
        Copy-Item "$env:windirSystem32cmd.exe" $hrswordPath -Force
    }
    
    # Ejecutar la línea de comando exacta que la regla de Sigma observa
    $command = "& `"$hrswordPath`" /service stop $serviceName /disable"
    Write-Host "Ejecutando: $command"
    Invoke-Expression $command
    
    # Opcional: Registrar un evento personalizado para indicar la finalización (ayuda a verificar de extremo a extremo)
    Write-EventLog -LogName Application -Source "HRSwordSimulation" -EventId 3000 -EntryType Information -Message "Simulación de detención de servicio HRSword completada."
  • Comandos de Limpieza:

    <#
    Restaurar el servicio de AV a su estado original y eliminar el ejecutable mock.
    #>
    
    # Reiniciar el servicio de AV (si existe)
    $serviceName = "avservice"
    if (Get-Service -Name $serviceName -ErrorAction SilentlyContinue) {
        Write-Host "Reiniciando servicio $serviceName ..."
        Start-Service -Name $serviceName -ErrorAction SilentlyContinue
    }
    
    # Eliminar el mock HRSword.exe (si fue creado)
    $hrswordPath = "$env:ProgramFilesHRSwordHRSword.exe"
    if (Test-Path $hrswordPath) {
        Write-Host "Removiendo mock HRSword.exe ..."
        Remove-Item $hrswordPath -Force
    }
    
    # Limpiar la entrada de registro de eventos personalizada
    Get-EventLog -LogName Application -Source "HRSwordSimulation" -After (Get-Date).AddMinutes(-10) | Remove-EventLog