TigerDemon

6주차_디지털 포렌식 스터디 본문

2024-SWLUG/디지털 포렌식 스터디

6주차_디지털 포렌식 스터디

호랑2D 2024. 5. 15. 04:00

섹션 3 윈도우 포렌식, 깊게 들어가 보아요

$MFT 개념 및 실습

윈도우즈의 전반적인 구조, 윈도우즈 파일과 디렉토리들의 구조를 알 수 있는 것

MFT(Master File Table)

  • *NTFS 파일시스템에서 파일, 디렉터리를 관리하기 위한 구조
  • 하나의 파일당 하나의 MFT 엔트리를 가짐
  • $MFT란 MFT 엔트리의 집합

*NTFS 파일 시스템 : 윈도우즈가 쓰는 파일 시스템

 

MFT 엔트리

  • 파일의 이름, 생성·수정·변경시간, 크기, 속성 등을 가지고 있음
  • 파일의 디스크 내부 위치, 파일의 시스템 경로를 알 수 있음

도구 설치 및 실습

아래 링크로 들어가 MFTExplorer 0.5버전을 다운로드 바다야하는데 2.0 버전밖에 없어서 일단 이거로 해보았다.

https://ericzimmerman.github.io/#!index.md

 

MDwiki

 

ericzimmerman.github.io

 

 

그리고 MFT 파일을 받기 위해 FTK Imager에 들어가 아래 사진 처럼 따라간 후 MFT 파일을 export 해주면 됩니다.

 

 

그리고나서 아까 다운로드 받은 MFT EXPLORER 을 실행해주었는데 아래 첫번째 사진처럼 떠서 설치를 해주었고 아까 export 한 MFT 파일을 열어보니 두번째 사진처럼 떴는데 그 이후로 진행이 되지 않는다.. 

 

일단 저 MFTExplorer을 사용하면 어떤 경로에 어떤 파일이 있었는지 확인할 수 있다

$LogFile, $UsnJrnl 개념 및 실습

=> 유저가 변경하고 생성하고 수정하고 삭제하는 기록들을 전부 다 담고 있는 아티팩트

$LogFile

저널링(Jounaling)

  • 데이터 변경을 디스크에 반영하기 전에 행위를 기록하여 추후 오류 복구에 활용
    • 데이터를 기록하는 동안 시스템에 문제가 생기면 데이터가 손실됨
    • 문제가 발생하기 전에 "어떤 데이터를, 언제, 어디에 쓰는지" 기록
    • 문제가 발생하면 기록을 토대로 작업이 이루어지기 전 상태로 시스템을 복원

트랜잭션(Transaction)

  • "쪼갤 수 없는 업무 처리의 최소 단위"
  • 파일이나 디렉토리 생성, 수정, 삭제, MFT 레코드 변경 등
  • $LogFile : 메타데이터의 트랜잭션 저널 정보

$UsnJrnl

  • 파일이나 디렉토리에 변경 사항이 생길 때 이를 기록하는 로그 파일
  • 파일 복원의 목적이 아니라, 단순 파일 작업이 있었다는 사실을 확인하기 위함
  • 시간 순서대로 엔트리에 저장하고, 기본 크기는 32MB
    • 하루 8시간 사용시 4~5일 정도의 데이터를 저장하고 있음

도구 설치 및 실습

FTK Imager에서는 아래 사진을 따라해서 $ 과 $J 를 export 해준다.

 

그리고 아래 링크로 들어가 NTFS Log Tracker을 다운받아준다. 

https://sites.google.com/site/forensicnote/ntfs-log-tracker?authuser=0

 

blueangel's ForensicNote - NTFS Log Tracker

NTFS Log Tracker v1.71

sites.google.com

 

 

 

https://sqlitebrowser.org/blog/version-3-12-2-released/ 

 

Version 3.12.2 released - DB Browser for SQLite

This is a minor maintenance release, primarily to update the internal certificates for anonymous communication with the DBHub.io servers. You don’t need to upgrade unless you’re using DBHub.io anonymously. If you’re using DBHub.io with your own clien

sqlitebrowser.org

 

 

 

 

 

바로가기(.LNK) 개념 및 실습

  • 'Windows Shortcut'
  • .Ink 확장자

생성하는 방법

  • 사용자가 직접 생성
  • 프로그램 설치 시에 생성
  • 운영체제가 자동으로 생성

경로

바탕화면

  • %UserProfile%\Desktop

시작메뉴

  • %ProgramData%\MIcrosoft\Windows\Start Menu
  • %UserProfile%\Appdata\Roaming\Microsoft\Windows\Start Menu

최근실행

  • %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent

빠른실행

  • %ProgramData%\Microsoft\Internet Explorer\Quick Launch
  • %UserProfile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch
  • %UserProfile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

 

도구 설치 및 실습

 

FTK Imager 이용하여 추출

  • %UserProfile%\Desktop
  • %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent

LECmd 이용하여 분석

https://ericzimmerman.github.io/#!index.md

 

MDwiki

 

ericzimmerman.github.io

 

Jumplist 개념 및 실습

점프리스트란?

  • 최근 사용한 파일/폴더에 빠르게 접근하기 위한 구조

 

종류

  • Automatic : 운영 체제가 자동으로 남기는 항목
  • Custom : 응용프로그램이 자체적으로 관리하는 항목

경로

  • %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
  • %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations

 

도구 설치 및 실습

 

FTK Imager 이용하여 추출

  • %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
  • %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations

JumpList Explorer 이용하여 분석

https://ericzimmerman.github.io/#!index.md

 

MDwiki

 

ericzimmerman.github.io

 

JumpList Explorer 은 내부에 LNK를 분석할 수 있는 무언가, 처리할 수 있는 그런 것들을 담고 있다.