File System Forensics

[File System] NTFS (20) - MFT 분석 방법 요약

도깬리 2023. 8. 3. 05:58

안녕하세요. 도깬리 포렌식스 입니다.

오늘은 NTFS 에서 MFT 분석방법을 요약하여 설명합니다. 모두 화이팅하세요!!!

 

분석 개요

디스크를 획득하기 전에 볼륨이 이미 포맷된 상태에서 과거 파일시스템에 존재하던 파일을 복구하고자 합니다.

볼륨을 포맷하면 새로운 MFT 엔트리가 최소 개수만큼 생성될 것이고, 비할당영역에는 과거 파일시스템에 존재하였던 MFT 엔트리가 여전히 남아 있을 것 입니다.

이러한 과거의 MFT 엔트리를 이용하면 해당 파일의 속성 내용을 복구할 수 있습니다.

 

분석 순서

비할당영역 추출

$Bitmap 파일을 분석한 후 0비트에 해당하는 각 클러스터의 내용을 추출합니다.

 

과거 MFT 엔트리 검색

ASCii 시그너처 FILE(0x46494c45)로 시작하는 MFT 엔트리를 추출합니다.

Grep, Sigfind를 이용하여 검색합니다.

 

MFT 엔트리 헤더 분석

바이트 오프셋 22~23에 위치하는 플래그 값을 분석하여 해당 엔트리가 과거 파일시스템에서 어떤 상태였는지 분석합니다.

- 0x0000 --> File, Deleted

- 0x0001 --> File, Allocated

- 0x0002 --> Folder, Deleted

- 0x0003 --> Folder, Allocated

바이트 오프셋 20~21에 위치하는 데이터를 분석하여 첫 번째 속성이 어디에서 시작하는지 알아 냅니다.

 

속성분석

$STANDARD_INFORMATION

시간 정보를 분석합니다.

 

$FILE_NAME

부모 디렉토리를 분석합니다.

파일이름을 분석합니다.

 

$DATA

거주형인 경우 MFT Entry 안의 내용을 확인합니다.

비거주형인 경우, RunList를 해석하고 해당 클러스터를 찾아 내용을 확인합니다.

 

예제 데이터 (NTFS_1GB.dd MFT Entry 32)

 

 

 

 

 

감사합니다. 오늘도 즐거운 하루 되세요.

"좋아요"와 "구독하기"는 힘이 됩니다.

참고문서 : File System Forensic Analysis (Brian Carrier)