Startup 디스크 포렌식 이론 #3 - NTFS (구조)
1) NTFS 및 MFT Entry 구조 이해
- NTFS 기본 구조
- 위 구조는 MBR -> VBR -> MFT Entry -> Root Cluster 위치
가. MBR
- MBR의 위치는 이미지 0번 섹터에서 확인 할 수 있고 파티션의 정보가 있으며 상대적인 위치이기 때문에 계산 시 고려
나. VBR
- MBR의 정보를 참고하여 위치를 찾을 수 있고 해당 파티션 정보를 헤더에서 확인
VBR 정보(출처: http://kali-km.tistory.com/entry/NTFS-File-System-3)
- 헤더 정보(붉은 박스 차례대로)
☞ 1섹터 당 바이트 -> 0200(16) = 512 Byte
☞ 1클러스터 당 섹터 수 -> 08(16) = 8개
ㄴ 1클러스터 => 4096 = 512(Byte) * 8(개)
☞ 해당 파티션의 총 섹터 수-> FE7FF(16) = 1042431 개
☞ MFT 시작 위치(섹터) -> A9AA(16) = 43434 개
다. MFT
- MFT 시작 위치(위 붉게 표시한 정보 참고)
☞ 347,600 = 43,434(A9AA(16)) * 8 + 128(현재위치)
☞ MFT Entry는 각 번호와 이름이 있음
MFT Entry (출처: http://kali-km.tistory.com/entry/NTFS-File-System-4)
☞ MFT는 각 2개의 섹터를 갖기 때문에 크기는 1024(512*2)Byte
☞ MFT 구조
MFT Entry 구조
☞ MFT Header 48 Byte 이후 Fixup, Attribute, End Mark(0xFFFFFFFF), 사용되지 않은 영역 순으로 구조를 가짐(왼쪽 오른쪽 색으로 영역 구분)
☞ MFT Header 데이터 포맷
MFT Header 구조(출처: http://kali-km.tistory.com/entry/NTFS-File-System-4?category=522239)
☞ 생성된 파일이 700 byte 이하면 클러스터를 할당받지 않고 해당 MFT Entry(Index Entry) 내 데이터를 저장하고 이를 Resident 속성이라 함
☞ 생성된 파일이 700 byte 이상이면 클러스터를 할당 받아 다른 곳에 연속적으로 저장하며 이를 Non-Resident 속성이라 함
MFT Entry 내 데이터 저장 Resident 속성
위 MFT Entry의 실제 파일
☞ MFT Entry의 Attribute 속성 관련하여 아래와 같이 확인
라. Data Area
- 데이터의 크기가 700byte 이상인 경우 이를 저장 장소
다음 이어질 내용
- Non Resident
- MFT Fixup
- MFT Attribute
'Computer > #Go2 포렌식' 카테고리의 다른 글
Disk Forensic Chanllenge (Startup 디스크 포렌식) (0) | 2018.11.25 |
---|---|
Disk Forensic 이론 #2 - FAT32 Time 개념 이해 (0) | 2018.09.26 |
Disk Forensic 이론 #1 - FAT (0) | 2018.09.26 |
Filesystem Recovery (NTFS) - MBR Recovery (0) | 2018.08.18 |
Filesystem Recovery (NTFS) - PeTya (0) | 2018.08.12 |