안녕하세요. 도깬리 포렌식스입니다.
오늘은 파일시스템 메타데이터 파일 중 $MFT와 $Boot 구조체에 대해 알아 보겠습니다. 모두 화이팅하세요!!!
$MFT 파일
MFT 엔트리 0번 입니다.
표준 속성( $STANDARD_INFORMATION, $FILE_NAME, $DATA)과 고유한 속성인 $BITMAP을 갖습니다.
$BITMAP
한 개의 비트가 1로 되어 있으면 : 해당 엔트리는 할당된 상태를 의미합니다.
한 개의 비트가 0로 되어 있으면 : 해당 엔트리는 비할당 상태를 의미합니다.
$DATA = MFT 자체 입니다.
$Boot 파일
MFT 엔트리 7번 입니다.
부트 섹터와 $DATA 속성에 있는 부트코드를 포함합니다.
항상 섹터 0에서 시작됩니다.
부트 섹터에서 중요한 값은
각 섹터의 크기와 클러스터의 크기입니다.
이것이 있어야 어떠한 위치도 확인이 가능하기 때문입니다.
MFT의 시작 위치와 각 MFT 엔트리의 크기
MFT 엔트리는 항상 1,024바이트였지만 향후에는 변경될 가능성도 있습니다.
$MFTMirr의 $DATA속성의 주소
포렌식 또는 복구도구는 이 주소값을 보고 $MFT 엔트리의 백업본이 어디에 있는지 등 MFT의 위치를 찾습니다.
부트섹터의 데이터 구조체
바이트 범위 | 설명 |
0~2 | 부트코드로 점프하는 어셈블리 명령어 |
3~10 | OEM 이름 |
11~12 | 섹터당 바이트 수 |
13~13 | 클러스터당 바이트 수 |
14~15 | 예약된 섹터 (MS는 반드시 이 값이 0이어야 한다고 언급함) |
16~20 | 사용되지 않음 (MS는 반드시 이 값이 0이어야 한다고 언급함) |
21~21 | 매체 기술자 |
22~23 | 사용되지 않음 (MS는 반드시 이 값이 0이어야 한다고 언급함) |
24~31 | 사용되지 않음 (MS는 반드시 이 값이 0이어야 한다고 언급함) |
32~35 | 사용되지 않음 (MS는 반드시 이 값이 0이어야 한다고 언급함) |
36~39 | 사용되지 않음 (MS는 반드시 이 값이 0이어야 한다고 언급함) |
40~47 | 파일시스템의 전체 섹터 수 |
48~55 | MFT 시작 클러스터 주소 |
56~63 | MFT Mirror의 시작 클러스터 주소 |
64~64 | 파일레코드 크기 (MFT 엔트리) |
65~67 | 사용되지 않음 |
68~68 | 인덱스레코드의 크기 |
69~71 | 사용되지 않음 |
72~79 | 일련번호 |
80~83 | 사용되지 않음 |
84~509 | 부트코드 |
510~511 | 시그너처 (0xAA55) |
감사합니다. 오늘도 즐거운 하루 되세요.
"좋아요"와 "구독하기"는 힘이 됩니다.
참고문서 : File System Forensic Analysis (Brian Carrier)
'File System Forensics' 카테고리의 다른 글
[File System] NTFS (32) - $LogFile, $UsnJrnl 구조체 (0) | 2023.08.30 |
---|---|
[File System] NTFS (31) - $Bitmap, $Volume 구조체 (0) | 2023.08.28 |
[File System] NTFS (29) - 인덱스 엔트리 구조체 (0) | 2023.08.22 |
[File System] NTFS (28) - $DATA, $INDEX_ROOT, $INDEX_ALLOCATION 속성 (0) | 2023.08.20 |
[File System] NTFS (27) - $FILE_NAME 속성 (0) | 2023.08.18 |