관리 메뉴

Information Security

디스크와 파티션 연습문제 본문

포렌식/윈도우 디지털 포렌식 완벽 활용서

디스크와 파티션 연습문제

HackingPractice 2026. 2. 16. 17:55

1. ‘Episode02.E01’ 파일을 다운로드한다.


2.FTK Imager에 ‘Episode02.E01’ 파일을 추가한다.

① 바탕화면의 FTK Imager 아이콘에서 마우스 우측 버튼을 클릭하여 관리자 권한으로 실행한다.

② [File] → [Add Evidence Item] → [Image File] → [Browse]를 클릭한 후 ‘Episode02.E01’ 파일을 로드한다.

③ 왼쪽 트리 구조에서 이미지 파일에 포함된 데이터를 확인한다.


3. ‘Episode02.E01’에서 분석 대상 파일을 내보내기를 한다.

① 왼쪽 트리 구조에서 다음의 경로를 찾아간다.

  • Episode02.E01\Partition 2 [149415MB]\NONAME [NTFS][root]\Windows\System32\config\SYSTEM

② 오른쪽 테이블에 보이는 SYSTEM 파일에 마우스 우측 버튼을 클릭하고 Export Files를 눌러 원하는 경로에 파일을 내보내기를 한다.


4. Registry Viewer를 실행하여 [File] → [Open]을 선택한 후 SYSTEM 파일을 추가하여 다음의 사항을 분석한다.

① MountedDevices 키를 확인한다.


② MountedDevices 키의 엔트리에서 C 드라이브에 해당하는 엔트리를 찾은 후 첫 번째 DWORD 값을 확인하고, MBR의 디스크 시그니처와 비교한다.

 


③ 위 엔트리의 두 번째, 세 번째 DWORD 값을 확인하고, C 드라이브가 시작되는 시작 섹터를 찾는다.

  • 첫 번째 DWORD: C1 2B 17 6D → 데이터 시그니처 또는 디스크 ID 관련 값입니다.
  • 두 번째 DWORD: 00 00 00 30 → 실제 위치 계산을 위한 오프셋 값입니다.
  • 세 번째 DWORD: 03 00 00 00 → 위 이미지 하단 데이터 영역의 값을 기반으로 추출합니다.

 

  1. 데이터 선택: 00 00 00 30 03 00 00 00 (8바이트 추출)
  2. 리틀 엔디언 역순 정렬: 이 값을 뒤에서부터 거꾸로 배열합니다.
  •  결과: 00 00 00 03 00 00 00 00 (16진수)
  1. 10진수 변환: 16진수 0x30000을 10진수로 변환하면 196,608이 됩니다. (이는 196,608 바이트 지점에서 시작한다는 뜻입니다.)  컴퓨터 하드디스크의 최소 단위는 보통 **512바이트(1 섹터)**입니다. 따라서 위에서 구한 바이트 값을 섹터 크기로 나누면 시작 섹터 번호가 나옵니다.

      196,608 / 512 = 384

 

 

④  MountedDevices 키의 엔트리에서 D 드라이브에 해당하는 엔트리를 찾은 후 첫 번째 DWORD 값을 확인하고, MBR의 디스크 시그니처와 비교한다.


⑤  위 엔트리의 두 번째, 세 번째 DWORD 값을 확인하고, D 드라이브가 시작되는 시작 섹터를 찾는다.

  1. 데이터 확인 (MountedDevices)
      \DosDevices\D: 행의 REG_BINARY 데이터를 확인합니다.

       전체 데이터: C1 2B 17 6D 00 00 00 9F 24 00 00 00 00 00 00
      이 데이터에서 파티션 오프셋(시작 위치)을 나타내는 두 번째와 세 번째 DWORD(각 4바이트) 값을 추출합니다.

  2. DWORD 값 추출 및 조합 (Little-Endian)
    Windows는 리틀 엔디언(Little-Endian) 방식을 사용하므로, 8바이트(QWORD) 오프셋 값을 뒤에서부터 읽어야 합니다.

    두 번째 DWORD: 00 00 00 9F (실제 값: 0x9F000000)   
    세 번째 DWORD: 24 00 00 00 (실제 값: 0x00000024)
    조합된 16진수: 0x000000249F000000 (바이트 단위의 시작 위치)

3. 시작 섹터(Sector) 계산
   16진수 바이트 값을 10진수로 변환한 뒤, 섹터 크기인 512(0x200)로 나누어 시작 섹터 번호를 구합니다.
     16진수 계산: 0x249F000000
     섹터 번호 변환: 0x249F000000 ÷ 0x200 = 0x124F8000
     10진수 최종 결과: 18,454,937,600 (Bytes) ÷ 512 = 36,044,800

[최종 결과 요약]
D 드라이브 시작 바이트 위치: 0x249F000000 (약 18.45GB 지점)
D 드라이브 시작 섹터: 36,044,800


5. C와 D 드라이브 이외에 은밀로 저장 장치가 있는지 찾아본다.

  • _ ? ? _ U S B S T O R: 여기서 **USBSTOR**라는 글자가 보이시나요? 이것은 "USB Storage"의 줄임말입니다. 즉, 누군가 USB 저장 장치를 연결했다는 뜻입니다.
  • D i s k & V e n _ G e n e r i c -: 'Generic'은 일반적인 제조사를 뜻합니다.
  • P r o d u c t _ M u l t i - C a r d: 이것은 '멀티 카드 리더기'를 꽂았을 때 주로 나타나는 문구입니다.

이미지 상단에 \??\Volume{82c45673-...} 같은 긴 이름들은GUID(고유 식별 번호)는 장치마다 부여되는 고유한 지문과 같습니다.
여기에 등록된 개수가 내가 눈으로 보는 드라이브 개수보다 많다면, "숨겨진 장치" 혹은 "현재는 뽑혀 있는 비밀 장치"가 있었다는 뜻입니다.

이 컴퓨터에는 최소 4개 이상의 추가 외부 저장 장치가 사용된 흔적이 남아 있습니다.


6. Belkasoft Evidence Center X 프로그램을 실행여 [Create Case] → [Create Case 창에 사건명과 분석 결과를 저장할 폴더를 지정한 후 [Create]를 클릭 → [Add a new data source to the case] → [Add existing] → [Image] 순으로 클릭하여 ‘Episode02.E01’ 파일을 추가하고, [Next]를 클릭하여 데이터를 처리한 다음 다음의 사항을 분석한다.

① [Structure] 탭 → SYSTEM 레지스트리 → 마운트된 디바이스의 시그니처와 할당된 드라이브 문자(MountedDevices)를 확인한다.
② 위 ①과 관련하여 할당된 드라이브 문자는 무엇 몇 개인가?
③ 위 ①과 관련하여 C 드라이브와 D 드라이브의 시작 섹터의 위치를 확인하라.