Startup 디스크 포렌식 실습
악성코드 감염 PC 복구
사용 툴: FTK Imager, HxD
※ 보안로그 수집기 가장한 악성코드로 로컬PC인 경우 MAC, IP 주소만 전송, VMware라면 MBR을 모두 0으로 변경
- MBR 복구를 위해 할 일
1) 파티션 Type 확인
2) BR 위치
3) 파티션의 섹터 수
4) 파티션 정보 파악 및 계산
1) 파티션 Type 확인
· NTFS 파일시스템의 시그니쳐(EB 52 90 4E 54 46 53) 검색
☞ FAT라면 해당 BR섹터+6 섹터의 복사본 확인
2) BR 위치
· NTFS의 시그니쳐를 통해 BR의 섹터를 확인할 수 있음
3) 파티션의 섹터 수
· NTFS BR의 백업은 해당 파티션 끝에 위치하며 NTFS 시그니쳐를 다시 검색하여 위치 확인
· 위와 같이 NTFS 파일시스템의 BR을 연속으로 확인할 수 있음
· 중간중간 NTFS 시그니쳐가 검색되지만 연속적인 파일시스템 시그니쳐가 검색되지 않아 PASS~~
☞ 추가 힌트는 NTFS 파일시스템이 두 개라는 점
4) 파티션 정보 파악 및 계산
· 첫 번째 파일시스템은 NTFS, BR의 시작섹터 2048(옵셋 0x100000), 마지막섹터 206847(옵셋 0x6500000)
· 따라서 아래와 같은 파티션 테이블에 입력될 값들이 완성
· 파티션 시작섹터는 2,048 -> 0x800
· 파티션 섹터 수 204,800(0x32000) = 206,848 - 2,048
※ 206,848인 이유는 BR 복사본의 시작 섹터가 206847이기 때문에 +1
파티션 테이블 항목 |
값 |
NTFS |
0x07 |
파티션 시작 섹터 |
0x800(2,048) |
파티션 섹터 수 |
0x32000(204,800) |
☞ 추가 반복 필요
· 파티션 시작섹터는 206,848 -> 0x32800
· 파티션 섹터 수 83,677,184(0x4FCD000) = 83,884,032 - 206,848
파티션 테이블 항목 | 값 |
NTFS | 0x07 |
파티션 시작 섹터 | 0x32800(206,848) |
파티션 섹터 수 | 0x4FCD000(83,677,184) |
5) 결과
6) 결론
- 파티션 테이블을 완성하는데 CHS 주소는 사용되지 않아 관련된 필드는 모두 0으로 세팅됨
- 부팅가능 여부, 파티션 타입, MBR과 BR거리, 파티션 섹터 수 핵심적인 정보로 파티션 테이블 값 셋팅
- 실습을 하면서 계속해서 시그니쳐를 찾는데 번거로움을 느껴 추후 NTFS 시그니쳐 쉽게 찾을 수 있는 스크립트 하나 만들 생각
- 추가적으로 바로 위 실습파일은 VMware이기 때문에 MBR 섹터가 0이 아니다. VMware 헤더정보로 MBR 위치 확인하여 값 덮어쓰기 진행함을 참고
- 계속해서 파티션테이블을 잊지 않도록 노력!!
'Computer > #Go2 포렌식' 카테고리의 다른 글
Disk Forensic 이론 #2 - FAT32 Time 개념 이해 (0) | 2018.09.26 |
---|---|
Disk Forensic 이론 #1 - FAT (0) | 2018.09.26 |
Filesystem Recovery (NTFS) - PeTya (0) | 2018.08.12 |
Filesystem Recovery (NTFS) - HASTATI (0) | 2018.07.22 |
Filesystem Recovery (NTFS) (0) | 2018.07.21 |