wmi-objects-data

WMI(Windows Management Instrumentation) OBJECTS.DATA 파일을 파싱하여 CIM(Common Information Model) 개체를 조회합니다. 클래스 정의, 인스턴스 객체, 등록 정보 등의 WMI 저장소 레코드를 구조화된 필드로 변환하여 출력합니다.

명령어 속성

항목설명
명령어 유형드라이버 쿼리
필요 권한클러스터 관리자
라이선스 사용량집계함
병렬 실행미지원
분산 실행수집 노드에서 실행 (mapper)

문법

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

옵션

zippath=STR
OBJECTS.DATA 파일이 포함된 ZIP 파일의 경로. ZIP 파일 내부의 OBJECTS.DATA 파일을 직접 조회할 때 사용합니다.
zipcharset=STR
ZIP 파일 엔트리의 문자 집합 (기본값: utf-8)

대상

FILE_PATH
조회할 OBJECTS.DATA 파일의 경로. 와일드카드(*)를 사용하여 여러 파일을 지정할 수 있습니다. 이 파일은 C:\WINDOWS\system32\wbem\Repository\OBJECTS.DATA 경로에 위치합니다.

출력 필드

레코드 유형에 따라 출력 필드가 달라집니다.

공통 필드

필드타입설명
_file문자열OBJECTS.DATA 파일 이름
record_type문자열레코드 유형. CLASS_DEFINITION, INSTANCE_OBJECT, REGISTRATION 중 하나

CLASS_DEFINITION 유형

필드타입설명
_time날짜클래스 정의 시각
name문자열이름
class_name문자열클래스 이름 (예: Win32_PageFileSetting)
super_class_name문자열상위 클래스 이름 (예: __SystemClass, __Provider)
properties속성 목록
qualifiers한정자 목록

INSTANCE_OBJECT 유형

필드타입설명
hash문자열인스턴스 해시 값
date1날짜첫 번째 타임스탬프
date2날짜두 번째 타임스탬프
strings배열인스턴스 블록에서 추출한 문자열 목록

REGISTRATION 유형

필드타입설명
name문자열이름
class문자열클래스 이름
instance_name문자열인스턴스 이름 (예: Connection, provider)
index_key문자열인덱스 키

오류 코드

파싱 오류

해당 사항 없음

런타임 오류
오류 코드메시지설명후처리 동작
-cannot read wmi objects file {파일 경로}OBJECTS.DATA 파일을 읽을 수 없는 경우쿼리 실행을 중단함

설명

wmi-objects-data 명령어는 지정한 OBJECTS.DATA 파일을 바이너리 형식으로 파싱하여 WMI 저장소의 CIM 개체를 추출합니다. OBJECTS.DATA 파일은 윈도우 WMI 서비스가 관리하는 CIM 저장소 파일로, 클래스 정의, 인스턴스 객체, 등록 정보를 포함합니다.

파일은 8,192바이트 크기의 데이터 페이지 단위로 구성되어 있으며, 각 페이지는 여러 개의 객체 레코드를 포함합니다. 레코드 유형은 데이터 구조에 따라 자동으로 판별됩니다.

WMI 서브스크립션을 통한 지속성 메커니즘(MITRE ATT&CK T1546.003)을 탐지하려면 __EventFilter, __EventConsumer, __FilterToConsumerBinding 관련 문자열을 검색할 수 있습니다.

ZIP 파일 내부의 OBJECTS.DATA 파일을 조회하려면 zippath 옵션에 ZIP 파일 경로를 지정하고 대상에 ZIP 내부의 OBJECTS.DATA 파일 경로를 지정합니다.

이 명령어는 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요하며, 접근 가능한 파일 경로가 제한됩니다. 자세한 내용은 파일 접근 제한을 참고하세요.

사용 예

각 사용 예의 파일 경로는 ALLOWED_FILE_SCAN_PATHS 설정에 포함되어 있다고 가정합니다.

  1. OBJECTS.DATA 파일 조회

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

    지정한 경로의 OBJECTS.DATA 파일에서 모든 CIM 개체를 조회합니다.

  2. ZIP 파일 내부의 OBJECTS.DATA 파일 조회

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

    ZIP 파일 내부의 OBJECTS.DATA 파일에서 CIM 개체를 조회합니다.

  3. WMI 서브스크립션을 통한 실행 탐지

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

    WMI 이벤트 서브스크립션 관련 객체를 검색하여 지속성 메커니즘을 탐지합니다.

  4. 클래스 정의만 필터링

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

    클래스 정의(CLASS_DEFINITION) 유형의 레코드만 필터링합니다.

호환성

wmi-objects-data 명령어는 소나 4.0 이전 버전부터 제공되었습니다. 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요합니다.