본문 바로가기

Hacking&Security/forensics(포렌식)

[포렌식]FAT32 기본파일 분석

이번 포스팅은 FAT32 기본 파일 분석을 목표로 합니다.
hxd에서 분석할 파일명은 FAT32_file.001입니다.

 

파티션 시작주소, 타입, VBR

파티션 타입
0x00 EMPTY 0x0e FAT16
0x01 FAT12 0x0f MX_ Extended
0x04 FAT16 0x83 Linux
0x05 MS Extended 0x85 Linux_ Extended
0x06 FAT16 0xa5 FreeBSD
0x07 NTFS 0xa8 MACOSX
0x0b FAT 32 0xab MAC OSX BOOT
0x0c FAT 32 0xee EFI GTP DISK

위 파티션 타입 테이블을 참고하면, 0x0b는 FAT32 타입임을 알 수 있습니다.
또한, 파티션 시작 주소는 0x000080이므로 계산기로 계산해보았을 때 128임을 알 수 있습니다.

파티션 시작 주소 0x000080 =>128
파티션 타입 0x0b => FAT 32

 

 

FAT32 VBR

128섹터로 들어가 VBR구조를 분석하면 위 사진과 같습니다.

섹터단위 0x0200(512 Byte)
섹터당 클러스터수 0x08
클러스터 할당 512 * 8 = 4,096
RS 0x101A (4122)
총섹터개수 00 1F E8 00 ( 2091008)
파일시스템 사이즈 00 00 07 F3(2035)

 

Root 디렉토리 계산법

VBR + RS + (FAT*2 )   [ FAT 개수 2개이기 때문에 x2를 한다]
128  + 0x101A(4122) + [ 0x07F3(2035) *2  ]
128 + 4122 + 4070 = 8320

따라서 root디렉토리는 8320섹터가 됩니다. 8320섹터로 갑니다.

8320섹터로 이동해서, 32byte씩 잘라줍니다.
중요한 참고사항은, 첫byte가 E5로 시작하면 삭제된 바이트입니다.

이를 확인하기 위해 FTK Imager로 한 번 불러와줍니다.

특정 파일이 삭제된 것을 알 수 있습니다.

 

FAT32 루트 디렉토리 

FAT32 루트 디렉토리의 특징
-32Byte로 구성되어 있습니다.
-저장되는 정보는 이름, 확장자, 속성, 시간정보, 날짜정보, 파일사이즈 등이 있습니다.
-이름의 첫 byte가 "E5"일 경우 삭제된 파일임을 나타냅니다.

FAT32 루트 디렉토리의 특징으로 보았을 때,
E5가 있는 것으로 보아 삭제된 데이터입니다.

 

이제 hxd를 통해서 파일 복구를 할텐데, FTK를 잠시 꺼주어야 합니다.
E5로 되어 있던 영역을 41로 바꿔줍니다. 
그 다음 [Ctrl+S] 를 눌러 저장해줍니다.

파일 추출 및 속성 확인

FTK Imager를 다시 실행시키면 png 파일이 복구된 것을 확인할 수 있습니다.
해당 파일을 [우클릭-Export Files]를 클릭해 특정 경로로 추출합니다.

확장자명 0x504E47
속성 0x20(일반 파일)
예약된 영역 0x10AA
생성시간(초단위) 0xA693
생성일 0x8248
접근일 0x8248
클러스터hi 0x0000
마지막 수정시간(초) 0x0d95
마지막 수정일 0x3648
클러스터 low 0x500
파일사이즈 0xe2260000