Skip to content

SCM Event Log Consumer y BVTConsumer: ¿benignos o no?

Las dos suscripciones WMI que incluye Windows, SCM Event Log y BVTFilter/BVTConsumer: qué contienen, por qué son inofensivas y cómo se abusa de sus nombres.

Publicado el 4 min de lectura

En resumen. Dos suscripciones de eventos WMI son propias de Windows. SCM Event Log (SCM Event Log Filter → NTEventLogEventConsumer SCM Event Log Consumer) reenvía los eventos del Service Control Manager al registro de eventos. BVT (BVTFilter → CommandLineEventConsumer BVTConsumer, cscript KernCap.vbs) es un resto de verificación de compilación en imágenes de la época de Windows 7. Ambas son inofensivas cuando su contenido coincide. Compruebe el contenido, no solo el nombre.

Por qué importa

Cualquier revisión de root\subscription encuentra primero estas dos, y un analista nuevo en WMI puede reportarlas como persistencia. El error contrario es peor: un atacante que reutiliza un nombre de confianza —o modifica el consumidor predeterminado— esquiva una lista de permitidos basada solo en nombres. PyWMIPersistenceFinder ya anotaba ambos enlaces como "comunes, posiblemente legítimos"; WMI Parser va un paso más allá y compara cada propiedad con lo que instala Windows.

SCM Event Log

ObjetoContenido esperado
__EventFilter SCM Event Log FilterQuery = select * from MSFT_SCMEventLogEvent, QueryLanguage = WQL, EventNamespace = root\cimv2
NTEventLogEventConsumer SCM Event Log ConsumerSourceName = Service Control Manager, NameOfUserSIDProperty = sid
__FilterToConsumerBinding__EventFilter.Name="SCM Event Log Filter" → NTEventLogEventConsumer.Name="SCM Event Log Consumer"

Existe en Windows Vista y posteriores. Su CreatorSID suele ser S-1-5-32-544 (el grupo Administradores), ya que se crea durante la instalación. El consumidor escribe una entrada en el registro de eventos; no ejecuta código.

BVTFilter y BVTConsumer

ObjetoContenido esperado
__EventFilter BVTFilterSELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99
CommandLineEventConsumer BVTConsumerCommandLineTemplate = cscript KernCap.vbs, WorkingDirectory = C:\\tools\\kernrate (las barras invertidas dobles se almacenan tal cual)
__FilterToConsumerBinding__EventFilter.Name="BVTFilter" → CommandLineEventConsumer.Name="BVTConsumer"

"BVT" significa build verification test (prueba de verificación de compilación). La suscripción ejecutaría un script de perfilado del kernel cuando un procesador se mantiene por encima del 99 % de carga; C:\tools\kernrate\KernCap.vbs no existe en un sistema normal, así que no ocurre nada. Aparece en imágenes de la época de Windows 7 / Server 2008 R2 y en equipos actualizados desde ellas, y su CreatorSID suele ser un administrador local (RID 500).

Qué debería llamar la atención

  • Un nombre predeterminado con otro contenido: un BVTConsumer cuyo comando no es cscript KernCap.vbs, un directorio de trabajo distinto, un SCM Event Log Consumer que es un CommandLineEventConsumer o un filtro con otra consulta. WMI Parser lo señala como Nombre predeterminado, otro contenido.
  • Un KernCap.vbs que existe. Si C:\tools\kernrate\KernCap.vbs está en el disco, la suscripción BVT latente pasa a estar activa: lea el script.
  • Un tercer enlace a un filtro o consumidor predeterminado. Los atacantes pueden enlazar su propio consumidor a un filtro existente. Cuente los enlaces, no solo los objetos.
  • Predeterminados en espacio liberado con otro contenido. Una versión anterior recuperada de un objeto predeterminado significa que se modificó en algún momento.

Todo lo demás no es automáticamente malicioso

Los agentes de gestión, los productos de seguridad para endpoints y las herramientas de fabricantes (monitorización de hardware, gestión de la configuración) también registran suscripciones. Son "no predeterminadas de Windows", no "maliciosas". Identifique el producto a partir de los nombres, las líneas de comandos y las rutas, y compare con un equipo limpio de la misma compilación.

FAQ

¿Es malicioso SCM Event Log Consumer?

No cuando coincide con el predeterminado de Windows: un NTEventLogEventConsumer con SourceName Service Control Manager, enlazado al SCM Event Log Filter que consulta MSFT_SCMEventLogEvent en root\cimv2.

¿Qué son BVTConsumer y kernCap.vbs?

BVTFilter y BVTConsumer son un resto de verificación de compilación presente en imágenes de la época de Windows 7 y Server 2008 R2. El consumidor ejecuta cscript KernCap.vbs desde C:\tools\kernrate cuando la carga de CPU se mantiene por encima del 99 %; el script no suele existir, así que no se ejecuta nada.

¿Debo eliminar las suscripciones WMI predeterminadas?

No es necesario cuando coinciden con los valores predeterminados. Lo que importa es un nombre predeterminado con otro contenido: una consulta modificada, otra clase de consumidor o una línea de comandos distinta.

Artículos relacionados

Artículos relacionados

Checklist paso a paso para la persistencia WMI: consultas en vivo, el repositorio, eventos 5860 y 5861, Sysmon 19-21, evidencias de ejecución y limpieza segura.
Por qué los filtros, consumidores y enlaces WMI eliminados sobreviven en OBJECTS.DATA, índice frente a carving, y python-cim frente a PyWMIPersistenceFinder.
Cómo funciona la persistencia WMI: __EventFilter, consumidores de eventos y __FilterToConsumerBinding, dónde se almacenan y cómo encontrarlos.