forensic/File System
Forensic - 2 FAT32 File System 1 이론
SKUSTI
2021. 9. 12. 17:34
FAT32 파일시스템, 개인적으로 생각하기에 알아두면 좋은것만 체크함
중요 - 리틀엔디안 방식으로 읽어야함.
Jump boot Code : 부트코드로 점프하기 위한 명령어
OEM ID : 운영체제별 ID
Byte per Sector : 섹터당 바이트 수
Sector Per Cluster : 클러스터 당 섹터수
Reserved Sector Count : 예약된 영역의 섹터수
Number of Fats(table) : FAT 테이블의 수
Media(type) : 디스크의 상태 ex) 0xF8 = Fixed disk
Total Sector 32 : 4Byte크기의 파티션 총 섹터 수
Fat 32 Size : Fat하나의 영역이 가지는 4Byte크기의 섹터수
File System Version : 파일시스템의 주버전과 하위버전
Root Eirctory Cluster : root디렉토리가 위치한 클러스터값 (FAT32경우 보통 2)
File system inforamtion : FSINFO 구조체가 저장된 섹터번호
Backup Boot Record : 백업된 부트 섹터의 위치 (보통 0x06)
File System Type : 해당 파일시스템의 타입
FAT32 조금 더 깊게
Reserved Area - Area Sector (0,6)
3 - 87 - 420(Boot code / Error msg) - 2
3 : Jump Command to Boot Code : Boot Code로 점프하기위한 Jump command
Jump command에 의해 Boot Code가 실행된다. 이때, BPB를 참조하여 File System Booting
FAT32는 0x9058EB이다.
87 : BPB (BIOS Parameter Block)
부팅에 실패하면 에러메시지를 띄운다.
OEM ID : 이 부분은 사람마다 BPB에 포함시키냐 시키지 않느냐가 갈린다.
파일시스템 종류에 따라 다름
2 : Signature : 55 AA
Reserved Area - FSINFO
4 - 480 - 4 - 4 - 4 - 14 - 2
4 : Signature : RRaA
480 : 사용 안함
4 : Sigature : rrAa
4 : Number of free Cluster : 사용 가능한 클러스터 수
4 : Nest free Cluster : 사용가능 클러스터 시작 위치
14 : 사용 안함
2 : Signature : 55 AA
Reserved Area - Boot Strap 2, 8 섹터
부트 코드의 영역이 부족할 경우 추가적으로 사용할수 있도록 존재하는 영역, 추가적인 작업이 필필요하지 않을경우 보통 비어있음, 데이터 은닉 가능
FAT Area
데이터 영역의 크럴스터 할당 상태 표시
FAT32 = 4byte
일반적으로 2개, 1,2로 나누었을때 2는 1의 백업이다.
8byte는 예약된 영역 FAT Entry 0은 Media Type, FAT Entry 1은 Parition Status를 나타냄
FAT Entry 2~
0x?000 0000 : 미할당상태,
0x?000 0001 : reserved
0x?000 0002 ~ 0x?FFF FFEF : 할당상태,
클러스터가 점유하고 있는 파일의 다음데이터가 있는 클러스터를 카리킨다.
0x0FFF FFF0 ~ 0xFFF FFF6 : reserved
0xFFF FFF7 : 불량클러스터,
배드 섹터가 포함된 클러스터가 발견될 경우 이후 사용 x
0xFFF FFF8 ~ 0xFFF FFFF : 할당상태,
파일이 하나의 클러스터만 사용하거나 파일에 할당된 마지막클러스터
DATA Area
1 - 7 - 3 - 1 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 4
1 : File Name or Status, 삭제된 파일일 경우 E5
7 : File name
3 : Extention
1 : attributes,
1 : Read Only, 2 : Hidden File, 4 : System File, 8 : Volume label, F : Long File Name(SFN & LFN 구조), 10 : Directory, 20 : Archive
2 : Reserved
2 : C Time
2 : C Date
2 : A Date
2 : High Cluster
2 : M time
2 : M Date
2 : Low Cluster
4 : File Size