Instrumentación transparente del COM para el análisis de malware

Summary: Cisco Talos presenta DispatchLogger, una herramienta open-source que ofrece alta visibilidad en las interacciones tardías de IDispatch COM para el análisis de malware.

La instrumentación transparente del COM para el análisis de malware es un desafío significativo debido a la complejidad y naturaleza dinámica de los interfaces IDispatch utilizados por el malware basado en scripts moderno. Cisco Talos ha desarrollado DispatchLogger, una herramienta open-source que aborda este vacío al proporcionar una visión profunda de estas interacciones.

DispatchLogger funciona mediante la captura de API a la frontera de la instantiación COM, garantizando un registro completo sin alterar el comportamiento del malware. Captura funciones como CoCreateInstance y CoGetClassObject para interceptar las creaciones de objetos e devolver proxies transparentes. Este enfoque es crucial para cubrir una amplia gama de tipos de scripts, incluyendo VBScript, PowerShell y AutoIt.

El análisis revela que los tradicionales herramientas dinámicas a menudo pasan por alto el significado semántico detrás de las interacciones COM de nivel alto, como las operaciones WMI. DispatchLogger aborda esto ofreciendo un registro detallado, lo cual permite a los analistas obtener contexto crucial durante la vigilancia del comportamiento. Por ejemplo, puede ayudar a identificar quién lanzó un proceso, lo que es esencial para entender el vector de ataque.

La implementación de DispatchLogger implica varios pasos clave y desafíos. Inicialmente, la herramienta solo capturaba CoCreateInstance pero se encontró que muchos llamados CreateObject en VBScript no eran interceptados debido a los controles internos de seguridad. Esto llevó al desarrollo de una biblioteca ActiveX minimalista con un MsgBox en Class_Initialize, lo cual ayudó a diagnosticar el problema.

La solución consistió en capturar tanto CoGetClassObject y CoGetObject/MkParseDisplayName para garantizar una cobertura completa sin importar la interfaz inicial solicitada por el motor del script. La clase DispatchProxy implementa IDispatch, dirige las llamadas e inicia un registro de parámetros mientras mantiene el conteo de referencia adecuado y maneja correctamente QueryInterface.

Key facts

  • Cisco Talos ha desarrollado DispatchLogger, una herramienta open-source para el análisis de malware.
  • DispatchLogger utiliza la captura de API para proporcionar un registro detallado de las interacciones de objetos COM mediante la interceptación transparente del proxy.
  • La herramienta cubre una amplia gama de tipos de scripts incluyendo VBScript, PowerShell y AutoIt.
  • Aborda el desafío de que las tradicionales herramientas a menudo pasan por alto el significado semántico detrás de las interacciones COM de nivel alto.

Why it matters

DispatchLogger mejora significativamente el análisis de malware basado en Windows al proporcionar un registro detallado de las interacciones de objetos COM. Esto es crucial para entender el comportamiento y las intenciones detrás de ataques sofisticados, mejorando así las defensas de la ciberseguridad y las capacidades de respuesta a incidentes.