wmi-objects-data

Parses a WMI (Windows Management Instrumentation) OBJECTS.DATA file to retrieve CIM (Common Information Model) objects. Converts WMI repository records such as class definitions, instance objects, and registration information into structured fields for output.

Command properties

PropertyDescription
Command typeDriver query
Required permissionNone
License usageCounted
Parallel executionNot supported
Distributed executionRuns on Data Node (mapper)

Syntax

wmi-objects-data [zippath=STR] [zipcharset=STR] FILE_PATH

Options

zippath=STR
Path to the ZIP file that contains the OBJECTS.DATA file. Use this when querying an OBJECTS.DATA file directly inside a ZIP archive.
zipcharset=STR
Character set for ZIP file entries (default: utf-8).

Target

FILE_PATH
Path to the OBJECTS.DATA file to query. You can use a wildcard (*) to specify multiple files. This file is located at C:\WINDOWS\system32\wbem\Repository\OBJECTS.DATA.

Output fields

Output fields vary by record type.

Common fields

FieldTypeDescription
_filestringOBJECTS.DATA file name
record_typestringRecord type. One of: CLASS_DEFINITION, INSTANCE_OBJECT, REGISTRATION

CLASS_DEFINITION type

FieldTypeDescription
_timetimestampClass definition time
namestringName
class_namestringClass name (e.g., Win32_PageFileSetting)
super_class_namestringSuperclass name (e.g., __SystemClass, __Provider)
propertiesmapProperty list
qualifiersmapQualifier list

INSTANCE_OBJECT type

FieldTypeDescription
hashstringInstance hash value
date1timestampFirst timestamp
date2timestampSecond timestamp
stringsarrayList of strings extracted from the instance block

REGISTRATION type

FieldTypeDescription
namestringName
classstringClass name
instance_namestringInstance name (e.g., Connection, provider)
index_keystringIndex key

Error codes

Parsing errors

N/A

Runtime errors
Error codeMessageDescriptionPost-processing action
-cannot read wmi objects file {file path}The OBJECTS.DATA file cannot be readStops query execution

Description

The wmi-objects-data command parses the specified OBJECTS.DATA file in binary format to extract CIM objects from the WMI repository. The OBJECTS.DATA file is a CIM repository file managed by the Windows WMI service, and it contains class definitions, instance objects, and registration information.

The file is organized in 8,192-byte data pages, and each page contains multiple object records. The record type is automatically determined based on the data structure.

To detect persistence mechanisms through WMI subscriptions (MITRE ATT&CK T1546.003), you can search for strings related to __EventFilter, __EventConsumer, and __FilterToConsumerBinding.

To query an OBJECTS.DATA file inside a ZIP archive, specify the ZIP file path in the zippath option and the OBJECTS.DATA file path within the ZIP as the target.

Examples

  1. Query an OBJECTS.DATA file

    wmi-objects-data /opt/logpresso/evidence/OBJECTS.DATA
    

    Retrieves all CIM objects from the OBJECTS.DATA file at the specified path.

  2. Query an OBJECTS.DATA file inside a ZIP archive

    wmi-objects-data zippath=/opt/logpresso/evidence/artifacts.zip OBJECTS.DATA
    

    Retrieves CIM objects from the OBJECTS.DATA file inside the ZIP archive.

  3. Detect execution via WMI subscriptions

    wmi-objects-data /opt/logpresso/evidence/OBJECTS.DATA
    | eval strings = strjoin("\n", strings)
    | search in(strings, "*__EventFilter*", "*__EventConsumer*", "*__FilterToConsumerBinding*")
    

    Searches for objects related to WMI event subscriptions to detect persistence mechanisms.

  4. Filter for class definitions only

    wmi-objects-data /opt/logpresso/evidence/OBJECTS.DATA
    | search record_type == "CLASS_DEFINITION"
    

    Filters for records of type CLASS_DEFINITION only.