SOC Prime Bias: Medium

30 Jun 2026 06:44 UTC

Introducción al uso de COM por amenazas en Windows

Author Photo
SOC Prime Team linkedin icon Seguir
Introducción al uso de COM por amenazas en Windows
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Esta investigación examina cómo el malware abusa del Modelo de Objeto Componente de Windows (COM) para apoyar acciones maliciosas como el movimiento lateral, la persistencia, y la evasión de defensas. Explica cómo COM permite que diferentes lenguajes de programación interactúen con servicios de Windows y muestra cómo los actores de amenazas ocultan funcionalidades detrás de llamadas indirectas a tablas vtables a través de interfaces COM. El artículo incluye estudios de casos técnicos sobre familias de malware como Qakbot, Gh0stRAT, Attor, y WarmCookie para demostrar estos métodos en práctica.

Investigación

La investigación se centra en revertir binarios pesados en COM para traducir GUIDs opacos y desplazamientos de vtables en clases de Windows significativas y llamadas a métodos. Los investigadores usaron herramientas como OleView.NET y ComView para inspeccionar registros de registro y definiciones de interfaces. Los estudios de casos mostraron que analizar las APIs de activación de COM puede exponer el verdadero propósito y comportamiento de una muestra de malware.

Mitigación

El artículo se centra más en análisis y detección que en medidas específicas de endurecimiento. Sin embargo, sugiere que monitorear comportamientos inusuales de activación de COM y auditar entradas de registro ligados a CLSIDs e IIDs puede mejorar la visibilidad. Un fuerte entendimiento de los servicios expuestos a COM como BITS y el Programador de Tareas también es importante para una monitorización efectiva y caza de amenazas.

Respuesta

Cuando se identifica actividad sospechosa de COM, los respondedores deben analizar el proceso que inicia la activación de COM y determinar qué CLSID e IID están siendo llamados. También es importante rastrear el proceso padre y buscar tareas programadas relacionadas o trabajos de BITS. Herramientas de instrumentación dinámica y de registro enfocado en COM pueden ayudar a reconstruir la cadena completa de actividad maliciosa de API.

"flowchart TD step_initial_access["Acceso Inicial: Qakbot distribuido a través de correos electrónicos de phishing para servir como cargador."] step_c2_ingress["C2 y Transferencia de Herramientas de Ingreso: Attor utiliza BITS (IBackgroundCopyJob) para entrega confiable de cargas útiles."] step_persistence["Persistencia: Gh0stRAT y WarmCookie utilizan interfaces COM del Programador de Tareas (ITaskService) para crear tareas programadas."] rules_for_persistence("<b>Nombre de la Regla</b>: Posible Tarea Programada vía Objeto COM (vía cmdline)<br/><b>ID de la Regla</b>: 75015b1f-6813-4288-aa82-b92bb31d8473") step_lateral_movement["Movimiento Lateral y Ejecución Remota: Uso de DCOM para activación remota de objetos a través de la red."] step_initial_access –>|conduce_a| step_c2_ingress step_c2_ingress –>|conduce_a| step_persistence step_persistence –>|conduce_a| step_lateral_movement step_persistence -.->|detectado_por| rules_for_persistence "

Flujo de Ataque

Ejecución de Simulación

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

Justificación: Esta sección detalla la ejecución precisa de la técnica de 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. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.

  • Narrativa del Ataque y Comandos: El adversario intenta realizar un movimiento lateral o manipulación de servicios remotos. Para evadir la detección simple basada en firmas que busca patrones comunes de herramientas, utilizan una utilidad especializada (simulada aquí como example.exe) y pasan argumentos específicos que activan la inicialización de seguridad de COM/DCOM. Al pasar CoCreateInstanceEx and CoInitializeSecurity como argumentos de la línea de comando, el atacante está intentando configurar el contexto de seguridad para una interfaz COM fuera del proceso para facilitar la interacción remota.

  • Script de Prueba de Regresión:

    # NOTA: Este script asume que 'example.exe' existe en System32 conforme a la lógica de la regla.
    # Dado que es un marcador de posición, crearemos un archivo falso para simular el ejecutable para la prueba.
    
    $targetPath = "C:WindowsSystem32example.exe"
    
    # Crear un ejecutable falso si no existe para propósitos de simulación
    if (-not (Test-Path $targetPath)) {
        Write-Host "Creando ejecutable falso para simulación..."
        New-Item -Path $targetPath -ItemType File -Force
    }
    
    # Simular la ejecución de la línea de comando sospechosa
    # Este comando está diseñado para activar la selección de CommandLine de la regla de detección
    Start-Process -FilePath $targetPath -ArgumentList "--action CoCreateInstanceEx --setup CoInitializeSecurity" -Wait
  • Comandos de Limpieza:

    # Eliminar el ejecutable falso creado para la simulación
    Remove-Item -Path "C:WindowsSystem32example.exe" -Force