공부/Forensic

NTFS 파일 시스템

완이버스 2025. 1. 19. 00:29

FAT32와 크기 다르지는 않지만 MFT(Master File Table)이라는 별도의 구조를 두어, MFT에 모든 파일의 메타데이터 저장

Backup VBR은 볼륨의 맨 끝에 위치하게 하여 복구가 가능하게 하도록 함

NTFS

 

이름 오프셋 설명
Jump Command 0x0 - 0x2 부트 코드로 점프
BPB(Bios Parameter Block) 0x3 - 0x53 볼륨의 전반적 설정
부트 코드 0x54 - 0x1FD 볼륨 부트 코드
시그니처 0x1FE - 0x1FF 고정값 0x55 0xAA

NTFS Structure

  • OEM ID: NTFS
  • Total Sectors: 0x3956FDF
    • 볼륨의 총 섹터 수
  • Start Cluster for $MFT: 0xC0000
    • 0xC000으로 MFT 영역으로 연결
  •  Volume Serial Number: 0x4672348672347CAD
    • 볼륨 식별값 8byte의 크기를 가짐

MFT

MFT Address: Start Cluster for $MFT * Cluster Size(0x1000) = 0xC000 0000

MFT영역은 0x200 크기의 MFT Entry가 계속 반복되는 구조

0 ~ 15번까지의 구역은 시스템의 메타데이터를 저장하기 위해 미리 예약된 구간

16 ~ 23번까지는 비어있는 엔트리

24번부터 사용자 데이터에 대한 MFT 엔트리가 위치

NTFS MFT Structure

이름 오프셋 설명
MFT Entry Header 0x0 - 0x2F MFT Entry에 대한 메타데이터
Fix-up Array 0x30 - 0x37 NTFS의 신뢰성을 높이기 위한 구조 
Attribute Area 0x38 - 가변 파일 이름, 변경 시각, 데이터, 위치 등 속성들이 나열되는 영역
End Marker 이후 영역 MFT Entry의 끝을 나타내는 데이터

 

  • Signature: 0x454C4946
  • Attribute Offset: 0x38
    • MFT Entry 시작으로부터 해당 offset에 Attribute Area가 나타남
  • Flags: 0x01
    • 0x01(사용 중), 0x02(디렉터리)이며 해당하는 속성을 OR 연산한 값
  • Number of this MFT Entry: 0x0

Attribute Area에는 여러 attribute가 연속되게 등장, 또한 Attribute는 ID값에 따라 구분

Attribute ID Attribute 이름 설명
0x10 $STANDARD_INFORMATION 파일/폴더의 기본 정보를 저장
0x30 $FILE_NAME 파일/폴더의 이름과 시간 정보를 저장
0x80 $DATA 파일/폴더의 실제 데이터를 저장

 

'공부 > Forensic' 카테고리의 다른 글

파일 시그니처(File Signature), 메모리 덤프(Memory Dump)  (0) 2025.01.19
Forensic 기초 지식  (0) 2025.01.18
Volatility Tool 사용  (0) 2024.07.10