본문 바로가기

전공 공부/디지털 포렌식

디지털 포렌식 시나리오 연습

728x90

포렌식 시나리오

- USB를 발견하였으나, 컴퓨터가 인식하지 못하였다.  USB를 복구하여 증거를 찾아라.

 

1. USB 확인하기

해당 연습용 파일을 FTK Imager를 사용하여 열었더니, 인식할 수 없었습니다. 

 

2. USB 파티션 복구하기

도구 => 디스크 이미지 열기를 선택하여 이미지를 선택해서 열어주면 섹터 크기를 지정할 수 있습니다.

 

 

HxD 헥스에디터를 사용해 이미지 파일을 열었습니다.

 

이 이미지는 DOS 파티션을 사용하고 있습니다. 

1번 영역은 총 446Byte 크기로 Boot Code 영역으로 사용되고 있습니다.

2번 영역은 총 64Byte 크기로 Partition Table 영역으로 사용되고 있습니다. 

3번 영역은 총 2Byte 크기로 MBR Signature로 사용되고 있습니다. (55 AA => 리틀 엔디안으로 읽으면 0xAA55)

 

 

 

https://ko.wikipedia.org/wiki/%EB%A7%88%EC%8A%A4%ED%84%B0_%EB%B6%80%ED%8A%B8_%EB%A0%88%EC%BD%94%EB%93%9C

 

마스터 부트 레코드 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 마스터 부트 레코드의 구조 주소 설명 크기(바이트) 십육진수 십진수 0000 0 코드 영역 440최대 446 01B8 440 디스크 서명 4 01BC 444 보통 없음(Null); 0x0000 2 01BE 446 프라이머리 파티션 테이블(4개의 16바이트 엔트리) 64 01FE 510 55h MBR 서명;0xAA55 2 01FF 511 AAh MBR, 전체 크기: 446 + 64 + 2 = 512 마스터 부트 레코드(영어

ko.wikipedia.org

마스터 부트 레코드의 구조와 16 바이트로 된 파티션 레코드의 구조 정보를 얻을 수 있습니다.

 

 

 

Partition Table 영역에 파티션 4개까지 할당이 가능한데, 현재 이 이미지 파일의 첫 번째 파티션을 보면, 

총 16 Byte에 걸쳐서 파티션 정보가 저장되어 있는 것을 볼 수 있습니다.

 

순서대로 파티션 값을 보면 다음과 같습니다.

80 / 01 01 00 / 0E / FE 3F F7 / 3F 00 00 00 / C1 DF 3C 00

 

1 byte(파티션 상태): 0x80 이므로 정상

3byte(파티션의 첫 번째 섹터의 실린더-헤드 섹터 주소): 0x000101

1byte(파티션 종류): 0x0E   WIN95: DOS 16-bit FAT, LBA-mapped

3byte(파티션의 마지막 실린더-헤드-섹터 주소): 0xF73FFE

4byte(파티션 첫 번째 섹터의 LBA): 0x0000003F 논리 블록 주소 지정

4byte(파티션의 크기 / 단위: 섹터): 0x003CDFC1

 

 

우리는 USB가 인식이 안되기 때문에 해당 데이터가 저장되어 있는 파티션으로 이동하겠습니다.

여기서 필요한 데이터는 파티션 첫 번째 섹터의 LBA입니다. 

 

 

 

해당 파티션의 시작 부분인 섹터 63으로 이동을 하였습니다. 

USB Destroy라는 글이 써져 있습니다. 아무래도 파티션의 시작 섹션이 깨져서 인식이 안되는 거 같습니다.

 

이제 깨져있는 섹션 부분을 올바르게 채워주겠습니다. 

 

 

NTFS 파일 시스템에서 부트 레코드의 복사본은 파티션 섹터의 제일 마지막에 위치하고 있습니다.

해당 섹터를 복사해 줍니다.

 

 

 

복사한 NTFS 부트 레코드 섹터를 손상된 파티션의 시작 부분에 복사를 해준 뒤 파일로 저장을 해줍니다.

 

3. 복구된 USB 불러오기

이제 처음과 같이 이미지를 불러오면 깨지지 않고 정상적으로 불러오는 것을 볼 수 있습니다.

 

 

728x90