DFIR/DFIR

[파일 시스템]FAT32 - 1편(Reserved Area)

dotaky99 2021. 11. 12. 13:41
반응형

 

예약된 영역(FAT12/16 | FAT32)

FAT 예약된 영역

아래는 FAT12, FAT16과 FAT32 구조이다.

FAT12, FAT16은 예약된 영역에서 Boot Sector가 1섹터를 차지한다.

FAT32

  • 0~31번으로 총 32섹터를 가진다
  • 0, 6번 섹터 : 볼륨 부트섹터(Volume Boot Sector)
  • 1, 7번 섹터 : File System Information(FSINFO) 구조체
  • 2, 8번 섹터 : 부트스트랩 코드(Boot Strap Code)

Boot Sector

Jump command to boot code & BIOS Parameter Block

Jump command에서 58의 위치로 가라는 의미이다. FAT12/16은 'EB 3C 90', FAT32는 'EB 58 90' NTFS는 'EB 52 90'값으로 나타난다.
BIOS Parameter Block 안에 주황색 칸은 아래 표를 참고하여 보기 편하게 만든 것

BIOS Parameter Block(BPB)

필드 이름 설명
OEM ID 운영체제 버전별 ID- Win95 : MSWIN4.0- Win98 : MSWIN4.1- Linux : mkdosfs
Bytes Per Sector 섹터당 바이트 수
Sector Per Cluster 클러스터당 섹터 수
Reserved Sector Count 예약된 영역 섹터 수. BPB를 보는게 것이 제일 정확하다
Number of FAT Tables FAT 테이블 수 (보통 0x02)
Root Directory Entry Count 루트 디렉터리 최대 파일 수(FAT12/16= 512, FAT32=0)
Total Sector 16 파티션 총 섹터 수( 2바이트로 부족할 경우 Total Sector 32 사용 )
Media Type - 0xF8 : Fixed disk
- 0xF0/F9/Fd/FF/FC/FE=floppy, removable
FAT Size 16 FAT12, FAT16에서 FAT영역이 가지는 2바이트 크기의 섹터 수 ( FAT32 = 0 )
Sectors Per Track 장치의 트랙 당 섹터 수 ( 보통 0x3F=63 )
Number of Heads 장치의 헤더 수
Hidden Secotrs 파티션 시작 전 섹터의 수
Total Sector 32 4바이트 크기의 파티션 총 섹터 수
FAT Size 32 FAT 하나의 영역이 가지는 4바이트 크기의 섹터 수
Ext Flags (하단 Ext Flags 참고) 여러 개의 FAT 영역을 사용할 경우 설정 값
File System Version 파일시스템의 주 버전(major)과 하위 버전(minor)
Root Directory Cluster 루트 디렉토리가 위치한 클러스터 값- FAT12/16은 고정된 위치, FAT32는 보통 클러스터 2번 사용
File System Information FSINFO 구조체가 저장된 섹터 번호(보통 0x01)
Backup Boot Record 백업된 루트 섹터의 위치(보통 0x06)
Drive Number BIOS INT13h 드라이브 번호
Boot Signature 확장 부트 시그니처(보통 0x29)- 확장 부트 시그니처가 존재할 경우,이어서 3개의 부가 정보(볼륨ID, 레이블, 타입)가존재한다는 의미
Volume ID 볼륨 시리얼 번호
Volume Label 볼륨 레이블(없을 경우 "NO NAME")- 볼륨 레이블 값은 루트 디렉터리에도 존재
File System Typ 파일 시스템 형식(FAT32)

Ext Flags

지금까지 Boot Sector 를 알아보았습니다. 다음으로 FAT기본 구조에서 1, 7번 섹터에 위치한 FSINFO를 알아보도록 하겠습니다.

FSINFO(FAT32 only)

FAT32

예약된 영역에서 0, 6번은 Boot Sector가, 1, 7번 섹터에는 FSINFO, 2, 8번 섹터에는 Boot Strap 코드가 위치하고 있습니다. 그러면 FSINFO에 대해서 알아봅시다.

1,7번 섹터의 FSINFO

범위에 대해서 살짝 설명하자면, 범위가 총 두 개이다. 왼쪽은 0부터 시작했을 떄, 오른쪽은 기존 1번 섹터부터 시작했을 때, 10진수와 16진수 둘 다 표기해놓았다.

Boot Strap

FAT32

FSINFO 다음으로는 Boot Strap 코드이다. 이 부분은 추가적으로 사용하는 부분인데 거의 비어있다. 섹터의 마지막 부분에 0x55AA 시그니처만 남아있다.

반응형

'DFIR > DFIR' 카테고리의 다른 글

[파일 시스템]FAT32 - 3편(Data Area, restore)  (0) 2021.11.12
[파일 시스템]FAT32 - 2편(FAT Area)  (0) 2021.11.12
[Windows Forensics] 이벤트 로그  (0) 2021.11.10
프리패치(Prefetch)란?  (0) 2021.07.04
생성시간 vs 수정시간  (0) 2021.07.03