디지털포렌식

[디지털포렌식] NTFS Log Tracker 리뷰

은동동동 2025. 2. 10. 10:23

오늘은 NTFS 로그와 이를 확인하기 위한 포렌식 툴인 NTFS Log Tracker에 대해 리뷰해보겠습니다.

NTFS 로그?

NTFS는 New Technology FIile System의 약자로 마이크로소프트가 개발한 파일 시스템입니다.

여기서 발생하는 로그가 NTFS 로그입니다!

이 로그는 다음과 같은 기능을 합니다.

  • 저널링 : 파일시스템에서 수행하는 중요 변경사항을 기록합니다.
  • 트랜잭션 복구 : 시스템 오류 발생시 트랜잭션 로그를 확인해서 복구할 수 있습니다
  • 데이터 무결성 보장 : 기록된 로그를 통해 파일 시스템이 일관적인 상태를 유지할 수 있도록 합니다.

NTFS 로그의 종류

  • Transaction Log : \$LogFile (오류 발생 시 시스템 복구를 위한 메타데이터 기록)
  • Change : \$Extend\$UsnJrnl:$J (파일, 폴더의 변경 사항을 추적하기 위함)

디지털 포렌식에서의 NTFS 로그를 이용하는 방법

특정 기간에 발생한 유저의 행동, 즉 이벤트들을 분석하는데 사용할 수 있습니다

또한 정보를 지운다던지, 재설정한다던지 등의 안티 포렌식적 행위를 추적하는데 사용됩니다.

NTFS $LogFile - Transaction Log

$LogFile은 시스템 오류가 발생했을 때 이를 복구하기 위한 메타데이터들이 저장되어 있는 로그파일입니다.

로그파일의 디폴트 사이즈는 64MiB로, 2~3시간 사이의 로그들을 보관하고 있습니다

해당 파일에 로그된 트랜잭션의 예시로는 다음과 같은 것들이 있습니다.

  • 파일/폴더 생성, 데이터 쓰기, 파일/폴더 삭제
  • 파일/폴더 리네이밍, 옮김
  • MFT 기록 변경 사항 저장

NTFS $UsnJrnl - Change Log

$UsnJrnl은 파일과 폴더의 변경 사항을 추적하기 위한 로그파일입니다.

로그파일의 디폴트 사이즈는 32MiB로, 4~5일 사이의 로그들을 보관하고 있습니다.

Change Log로 부터 알 수 있는 정보들로는 다음과 같은 것들이 있습니다.

  • USN(Update Sequence Number), changed time, reason of change
  • MFT record number, File/Folder name, attributes

NTFS Log Tracker 리뷰

먼저 해당 툴을 사용하기 이전에 KAPE를 통해서 관련 로그 파일들을 수집해주겠습니다.

kape에서 $J, $Logfile, $MFT 옵션에 체크를 한 후 경로를 설정해주시면 됩니다.

작업이 끝나면 설정한 경로에 해당 파일들이 설치되어 있는 것을 확인할 수 있습니다.

이제 NTFS Log Tracker를 실행해보겠습니다.

해당 툴은 아래 사이트에서 다운로드가 가능합니다.

https://sites.google.com/site/forensicnote/ntfs-log-tracker

툴을 실행하고 아까 수집한 파일들의 경로를 각각 설정해주고 Parse를 누르면 됩니다.

먼저 $LogFile입니다.

어떤 이벤트가 발생했는지 뿐만 아니라, Created Time, Modified Time, Access Time등 자세한 타임스탬프를 확인할 수 있었습니다.

유저의 행동과 관련한 타임스탬프가 필요할 때 유용하게 사용할 수 있겠습니다!

아까 수집한 $MFT 파일은 해당 로그에 해당하는 파일의 Full Path를 사용하는데에 이용했습니다.

경로가 필요할 경우 넣어주시면 되겠습니다!

$UsnJrnl입니다.

USN과 어떤 이벤트가 발생했는지, FileReferenceNumber 등을 확인할 수 있습니다.

저는 카카오톡 관련 로그들을 확인해봤는데 채팅 로그도 기록이 되는지 처음알았습니다! (이모티콘 로그도 저장되는 것 같네요)

$MFT 파일도 넣어주었기 때문에 역시 Full path를 확인할 수 있었습니다.

오늘은 NTFS 파일 시스템에 대해서 알아보고 NTFS Log Tracker 리뷰를 했습니다!

정보 수정, 조언은 환영입니다.