ntfs-usnjrnl

USN 저널 파일에서 이벤트 발생 시각, 파일 경로 및 이름, 파일 생성/삭제 등의 작업 정보를 조회합니다. 조회한 데이터로 MFT 파일과 조인하여 타임라인 분석이 가능합니다.

문법

ntfs-usnjrnl [zipcharset=CHARSET] [zippath=ZIPFILE_PATH] FILE_PATH
필수 매개변수
FILE_PATH
USN 저널 파일의 경로. 파일 경로에 와일드카드(*)를 사용하면(예: D:\data\NTFS\*) 패턴과 일치하는 모든 파일을 한 번에 조회할 수 있습니다. zippath 옵션과 함께 사용하는 경우, ZIP 파일에 포함된 USN 저널 파일의 경로를 입력하십시오.
선택 매개변수
zipcharset=CHARSET
ZIP 엔트리 인코딩 형식 (기본값: utf-8). 다음 문서에 등록된 Preferred MIME Name이나 Aliases를 사용합니다: https://www.iana.org/assignments/character-sets/character-sets.xhtml
zippath=ZIPFILE_PATH
ZIP 파일의 경로

설명

출력되는 필드 내용은 다음 표를 참조하십시오.

출력 필드
필드타입설명
_time날짜이벤트 발생 시각
file_name문자열파일 이름
file_no정수파일 번호
file_ref정수파일 레퍼런스
parent_file_no정수부모 파일 번호
parent_file_ref정수부모 파일 레퍼런스
reason리스트이벤트 동작. 플래그 정보는 아래 표 참고
usn정수업데이트 시퀀스 넘버
플래그 정보

reason 필드에 출력되는 플래그 정보는 내용은 다음 표를 참조하십시오(USN_RECORD_V3 structure (winioctl.h), https://docs.microsoft.com/ko-kr/windows/win32/api/winioctl/ns-winioctl-usn_record_v2 참조).

플래그16진수 값설명
DATA_OVERWRITE0x00000001기본 $DATA 속성에 데이터를 겹쳐씀
DATA_EXTEND0x00000002기본 $DATA 속성에 데이터가 추가됨
DATA_TRUNCATION0x00000004기본 $DATA 속성에 데이터가 줄어듬
NAMED_DATA_OVERWRITE0x00000010이름 있는 $DATA 속성에 데이터를 겹쳐씀
NAMED_DATA_EXTEND0x00000020이름 있는 $DATA 속성에 데이터가 추가됨
NAMED_DATA_TRUNCATION0x00000040이름 있는 $DATA 속성에 데이터가 줄어듬
FILE_CREATE0x00000100파일이나 디렉터리가 생성됨
FILE_DELETE0x00000200파일이나 디렉터리가 삭제됨
EA_CHANGE0x00000400파일의 확장된 속성이 변경됨
SECURITY_CHANGE0x00000800접근 권한이 변경됨
RENAME_OLD_NAME0x00001000객체명 변경 시, 변경 전 이름
RENAME_NEW_NAME0x00002000객체명 변경 시, 변경 후 이름
INDEXABLE_CHANGE0x00004000인덱스 상태가 변경됨
BASIC_INFO_CHANGE0x00008000하나 이상의 파일/디렉터리 속성이나 타임스탬프가 변경됨
HARD_LINK_CHANGE0x00010000하드 링크가 생성되었거나 삭제됨
COMPRESSION_CHANGE0x00020000압축 상태가 변경됨(압축 또는 압축 해제)
ENCRYPTION_CHANGE0x00040000암호화 상태가 변경됨(암호화 또는 복호화)
OBJECT_ID_CHANGE0x00080000객체 ID가 변경됨
REPARSE_POINT_CHANGE0x00100000Reparse point가 변경됨
STREAM_CHANGE0x00200000이름 있는 $DATA 속성의 생성, 삭제, 또는 변경됨
TRANSACTED_CHANGE0x00400000주어진 스트림이 TxF 트랜잭션 커밋을 통해 수정됨
INTEGRITY_CHANGE0x00800000무결성 설정이 변경됨
CLOSE0x80000000파일/디렉터리를 닫음

사용 예

  1. 파일 경로를 입력하여 조회

    ntfs-usnjrnl D:\data\NTFS\test_UsnJrnl
    
  2. zippath 옵션으로 지정한 ZIP 파일 안에 있는 USN 저널 파일을 조회

    ntfs-usnjrnl zippath=D:\data\NTFS.zip NTFS\test_UsnJrnl
    
  3. 실행 파일을 삭제한 이력 조회

    ntfs-usnjrnl D:\data\NTFS\test_UsnJrnl
    | search file_name == "*.exe" and string(reason) == "*DELETE*"
    
  4. NTFS 마스터 파일과 조인하여 타임라인 분석

    ntfs-usnjrnl D:\data\NTFS\test_UsnJrnl
    | streamjoin type=left file_no [ ntfs-mft D:\data\NTFS\test_MFT | rename no as file_no | fields file_no, file_path, in_use, is_dir ]
    | eval reason = strjoin(" | ", reason)
    | fields _time, file_path, reason, in_use, is_dir