본문 바로가기

SWUFORCE/Dreamhack

[드림핵 스터디] 6주차 - 시스템 로그, Track_the_file

$LogFile

  • 파일시스템의 저널링* 기능을 위해 존재하는 파일
  • 저널링의 단위는 트랜잭션(Transaction, 쪼갤 수 없는 업무의 최소 단위)으로, $LogFile은 이 트랜잭션을 기록하는 파일임

* 저널링(Jornaling): 데이터 변경을 디스크에 반영하기 전에 행위를 기록하여, 오류가 발생했을 때 복구할 수 있도록 하는 기능

 

 

 

 

 

$LogFile 수집 및 분석

  • [root]\$LogFile
  • ftk imager 로 $MFT, $LogFile 추출
  • 분석 도구는 NTFS Log Tracker 사용

ftk imager 로 $LogFile, $MTF 추출

 

NTFS Log Tracker 에다가 파일 경로 넣고 분석 돌리기

 

 

 

 

  • NTFS Log Tracker 에서 직접 결과 조회해도 되지만, DB Browser for SQLite 이용 추천

db browser for sqlite 로 열려고 햇으나 계속 오류떠서 NTFS log tracker 로 분석

 

 

  • EventTime: 이벤트가 발생한 시간, 시스템 시간으로 표현됨
    • 2026-05-18 16:02:04
  • Event: 이벤트에 대한 정보
    • Renaming File은 파일 이름이 변경됐다는 것을 의미함
  • Detail: 이벤트에 대한 상세 기록
    • 미확인 760647.crdownload -> NTFS Log Tracker v1.9.zip
    • 크롬을 통해 NTFS Log Tracker v1.9.zip 파일을 다운로드하는 과정에서 미확인 760647.crdownload 파일이 임시로 생성되었다가 다운로드 다 된 이후 NTFS Log Tracker v1.9.zip로 이름이 변경되었음을 확인할 수 있음
  • Filename & FullPath: 파일의 이름과 전체 경로 확인 가능 

 

 

 

 

File Creation 키워드로 검색해 본 모습

 

  • File Creation: 새로운 파일을 생성하는 이벤트를 나타냄
  • EventTime 칼럼을 살펴보면 로그가 $LogFile에 저장되는 시간이 그다지 길지 않다는 것을 확인할 수 있음

 

 

 

 

$LogFile 분석 팁

- NTFS Log Tracker 도구는 $LogFile 을 분석해 Event 항목을 만들어줌
- 도구에서 제공하는 대표적인 목록은 아래와 같음

 

  • EventTime: 이벤트 발생한 시간
  • FullPate: $MFT에 저장된 데이터와 연계해 해당 파일의 전체 경로를 나타낸 것
  • LSN, RedoInfo: 어떤 트랜잭션이 일어났는지 상세한 과정 확인 가능 < 이를 응용해 파일 복구 작업도 할 수 있음 (링크)

 

 

 

 


 

 

 

 

$UsnJrnl

  • 응용 프로그램이 특정 파일의 변경 여부를 파악하기 위해 사용하는 로그
  • NTFS 파일시스템에서 지원하는 기능 중 하나
  • 단순 파일에 대한 작업이 있었다는 사실을 확인하기 위한 목적으로 생성됨
  • 시간 순서대로 엔트리 저장, 오래된 데이터는 삭제함

 

 

 

 

$UsnJrnl 수집 및 분석

  • [root]\$Extend\$UsnJrnl\$J (실제 파일 이름이 $J임)
  • ftk imager 이용해 $J, $MTF 파일 추출

 

 

 

 

  • 이전과 마찬가지로 NTFS Log Tracker 이용, 데이터베이스 경로 지정해 줌
  • $LogFile, $MTF, $UsnJrnl 한 번에 분석

 

  • $LogFile 과 마찬가지로 NTFS Log Tracker v1.9.zip 파일을 다운로드한 흔적이 출력되어 있음
  • TimeStamp: 이벤트가 발생한 시각. 시스템 시각으로 출력됨
    • 2026-05-18 16:02:04
  • FileName: 이벤트가 발생한 대상 파일
    • 미확인 760647.crdownload
    • NTFS Log Tracker v1.9.zip
  • Event: 대상 파일에 발생한 이벤트
    • 미확인 760647.crdownload: File_Renamed_Old
    • NTFS Log Tracker v1.9.zip: File_Renamed_New
    • 위 파일이 아래 파일로 Rename 되었음을 확인할 수 있음
  • FullPath: 대상 파일의 경로
    • $MTF와 연계해서 가져오는 데이터

 

 

 

 

$UsnJrnl 분석 팁

 

 

 

 


 

 

 

 

$LogFile, $UsnJrnl 활용

- 로그 분석이 필요한 상황 알아보기

  • 랜섬웨어(Ransomware) 분석 상황
    • 랜섬웨어는 컴퓨터에 있는 모든 파일을 암호화한 후 원격 서버로 전송하고, 원본 파일은 삭제해 사용할 수 없게 만듦
    • 이 과정에서 관련 로그가 다수 생성되는데, $LogFile 분석을 통해 트랜잭션을 복구해 몇몇 파일을 되살리는 작업이 가능할 수 있음
    • $UsnJrnl을 통해 다양한 이벤트 확인 가능
    • 랜섬웨어뿐만 아니라 대부분의 악성코드에서 유용하게 이용됨
  • 자료 유출 사건 분석 상황
    • 파일 다운로드 기록이나 파일 생성 흔적과 생성한 시각 찾아낼 수 있음
  • 안티-포렌식 행위 분석 상황
    • 안티 포렌식이란 포렌식을 막기 위해 의도적으로 파일 삭제하거나 훼손하는 행위를 말함
    • 이 상황에서도 공격자가 삭제한 아티팩트의 종류, 삭제한 시간을 확인할 수 있음

 

 

 

교차 검증

  • 디지털 포렌식에서는 보통 귀납적 방식으로 사실 관계를 밝혀냄 하지만 때때로 오류를 범할 수 있는데, 이를 방지하기 위한 방법이 교차 검증임
  • 같은 이벤트를 기록하는 여러 아티팩트를 동시에 관찰해 사실관계를 올바르게 파악한 것이 맞는지 더블 체크함

 

 

 

 


 

 

 

 

[실습 - Track_the_file]

  • malware.exe 파일이 시스템에 복사된 시간 구하기
  • FLAG = DH{yyyy_MM_dd_hh_mm_ss}

 

 

ftk imager 에서 DiskImage.E01 파일 열고 $LogFile, $MFT 파일 추출

 

 

 

 

NTFS Log Tracker 에다 집어넣음 (혹시 모르니 $UsnJrnl도 같이 추출함)

 

 

 

 

malware 검색

 

$LogFile에서 malware 검색하면 바로 나옴

복사된 시간을 찾으라고 하였으니 CreationTime 일 듯

정답은? DH{2024_04_04_21_10_46}