Glosario
OBJECTS.DATA
El archivo del repositorio WMI que contiene cada definición de clase e instancia en páginas de 8 KiB, incluidos filtros, consumidores y enlaces de eventos.
OBJECTS.DATA es el archivo principal del repositorio CIM, en C:\Windows\System32\wbem\Repository. Almacena todas las definiciones de clase y todas las instancias de todos los espacios de nombres como registros en páginas de 8 KiB. Una página en la que empiezan registros se abre con una pequeña tabla de contenidos: una entrada de 16 bytes por registro (id de registro, desplazamiento en la página, tamaño, suma de comprobación), cerrada por una entrada toda a ceros. Un registro demasiado grande para el resto de su página continúa en las páginas lógicas siguientes.
Los filtros de eventos, los consumidores y los enlaces son instancias ordinarias dentro de él. Un registro de instancia empieza por el hash del nombre de su clase, escrito como 64 caracteres UTF-16 (SHA-256; 32 caracteres de MD5 en Windows XP), seguido de dos FILETIME no documentados y de los valores de las propiedades. Las cadenas residen en el heap del registro como texto legible.
Por qué importa en una investigación
Es donde están las evidencias. Las páginas liberadas y la parte final no usada de las páginas conservan registros antiguos hasta que WMI reutiliza el espacio, así que a menudo es posible recuperar mediante carving suscripciones eliminadas y versiones anteriores de los objetos. El hash del nombre de clase al comienzo de cada instancia hace que los registros sean fáciles de encontrar mediante escaneo, incluso sin el índice, y las cadenas legibles permiten que una simple búsqueda de texto revele líneas de comandos y referencias de enlaces.
Tenga en cuenta sus límites. Los registros no almacenan su espacio de nombres; solo INDEX.BTR lo conoce. Si un registro está activo o liberado lo determina el archivo MAPPING actual. Y los dos FILETIME son pistas, no fechas de creación documentadas.
Ejemplo
El comienzo de un registro de instancia de __FilterToConsumerBinding y las cadenas encontradas más adelante en su heap:
record header UTF-16 hex SHA-256 of "__FILTERTOCONSUMERBINDING" (64 characters)
FILETIME, FILETIME
heap strings __EventFilter.Name="IntelPerfMonitor"
CommandLineEventConsumer.Name="IntelPerfMonitor"
OBJECTS.DATA por sí solo basta para recuperar mediante carving suscripciones como esta; añada el índice y los mapas para obtener los espacios de nombres y el estado activo o eliminado.
Términos relacionados
WMI Parser analiza OBJECTS.DATA en el navegador, mediante el índice y mediante carving. Para su estructura en detalle, lea Dentro de OBJECTS.DATA.