Skip to content

Glosario

WQL (WMI Query Language)

El lenguaje similar a SQL que WMI usa para consultas de datos y de eventos; los filtros lo usan para describir el evento que dispara una suscripción.

WQL es el lenguaje de consultas de WMI, un subconjunto de SQL de solo lectura. Tiene dos formas principales. Las consultas de datos leen instancias, por ejemplo SELECT * FROM Win32_Process. Las consultas de eventos describen cambios y son lo que un filtro de eventos almacena en su propiedad Query, con QueryLanguage establecido en WQL.

Las consultas de eventos usan dos tipos de eventos. Los eventos intrínsecos (__InstanceCreationEvent, __InstanceModificationEvent, __InstanceDeletionEvent) informan de cambios en instancias de cualquier clase; TargetInstance es la instancia afectada, e ISA la restringe a una clase. Cuando ningún proveedor informa de esos cambios directamente, WITHIN n hace que WMI sondee cada n segundos. Los eventos extrínsecos, como Win32_ProcessStartTrace, los generan los propios proveedores. Los eventos de temporizador (__TimerEvent) se disparan con un temporizador WMI.

Por qué importa en una investigación

Leer la consulta le indica cuándo se dispara una suscripción, algo necesario para alinear con ella las evidencias de ejecución. Una condición de tiempo de actividad se dispara poco después de cada arranque; una consulta de sesiones de inicio de sesión, en cada inicio de sesión; una consulta de procesos, cuando se inicia un programa concreto. Las consultas también revelan la intención: un filtro que espera a que se inicie una herramienta de seguridad, o a que se conecte una unidad extraíble, dice mucho sobre su autor.

Ejemplo

Un filtro que se dispara cuando aparece una nueva sesión de inicio de sesión, con sondeo cada 15 segundos:

SELECT * FROM __InstanceCreationEvent WITHIN 15
WHERE TargetInstance ISA 'Win32_LogonSession'

Una alternativa extrínseca que se dispara cuando se inicia un proceso concreto, sin sondeo:

SELECT * FROM Win32_ProcessStartTrace WHERE ProcessName = 'notepad.exe'

Cuando encuentre cualquiera de las dos en un repositorio, correlaciónela con los inicios de sesión o de procesos correspondientes y compruebe a qué consumidor de eventos está enlazado el filtro.

Términos relacionados

WMI Parser muestra la consulta WQL de cada filtro junto al consumidor que dispara. Para una explicación del disparador clásico por tiempo de actividad, lea Persistencia WMI por suscripción de eventos, explicada.