디스크 이미지 파일 삭제 - diseukeu imiji pail sagje

디스크 포렌식 기초 , 설정

이번에는 디스크 포렌식 배우기 위해서 먼저 설정이 필요합니다.

(1)우선 실행창에서 diskmgmt.msc. 라고 먼저 입력을 해줍니다.

디스크 이미지 파일 삭제 - diseukeu imiji pail sagje

(2) 동작 -> VHD 만들기를 눌러준 후  임의의 용량을 설정 하여 세팅을 시도합니다.

(3)  만들고 나서 왼쪽 이름나오는 공간을 클릭하여서 '디스크 초기화' 버튼을 누른 후 완료가 되면 오른쪽 공간 우클릭하여서  '단순 볼륨 만들기을 눌러줍니다'

-> 디스크 초기화 시 MBR과 GPT 설정하는 공간이 나오는데

내가 설정한 용량이 2TB 이하라면 MBR로 설정

2TB 초과하면 GPT로 설정해주어야 합니다.

(4) 여기서는 파일 시스템 종류를 FAT32로만 설정을 해줍니다.

* 아까 내가 설정한 용량은 3GB(3072)이지만 화면에 보이는것은 3069입니다.

그 이유로는 파티션 정보가 저장되어야 해서 3MB가 감소하여서 3069가 나오게 됩니다.

* FAT32를 설정한 후 할당 단위 크기에 대하여 나오는데 원래 명칭은 '클러스터 단위'라고 해야 옳습니다.

클러스터 단위는 8개의 섹터가 1개의 클러스터가 기본값이며 한개의 섹터 용량은 512byte

포렌식을 하면서 계속 언급되기에 꼭 외우고 넘어가야 하는 기본 공식같은 존재입니다.

(5) Hexeditor를 관리자 실행으로 열어줍니다.

* 논리 디스크와 , 물리디스크가 보이며 논리디스크에 아까 설정한 FAT32라는 디스크가 보입니다.

여기서 논리디스크는 건드리지 않고 하드 디스크 종류중에서 제일 밑에 있는

저한테는 하드 디스크 2번을 클릭한 후 '읽기 전용으로 열기'해제 하여 줍니다.

* FAT32로 만들었다면 0번섹터에 나오는 것은 MBR 영역이며 여기서 446바이트까지는 크게 신경쓸 필요가 없습니다.

!! Hex Editor은 1칸에 4비트짜리가 2개가 있으므로 총 8비트 = 1바이트 입니다.

!! 한줄이 총 16개로 이루어져있으니 16바이트를 쓰고있습니다.

(5) 이제 드래그 한 MBR부분을 해석 하여 내가 원하는 정보를 얻습니다.

- 제일 처음 드래그에 포함된 00 : 부팅이 가능한지 불가능하지 알려줍니다.

00 : 부팅 가능

80 : 부팅 불가능

- 02 03 00 (3바이트 ) : ch 방식에서 start 방식입니다. :별로 중요하지 않아 가볍게 넘어갑니다.

- 0B : 현재 파일시스템의 종류를 알려줍니다  (중요)

0B : FAT32

0C : NTFS 로 됩니다.

- B4 70 04 : ch방식에서 start 방식이며 이것도 중요하지 않아 가볍게 넘어갑니다.

- 80 00 00 00 : BR의 위치를 알려줍니다. (매우 중요)

읽을때는 거꾸로 읽으며 00 00 00 80 이라고 읽어줍니다.

그렇게 읽어 해석을 하면 128번섹터에 FAT32의 시작점인것을 알 수 있습니다.

! 그럼 0섹터부터 127섹터까지는 MBR의 영역인것을 확인 할 수있습니다.

이제 128번 섹터로 이동을 하면

FAT32 만들면 반드시 보이는 문구열인 MSDOS를 확인 할 수 있습니다.

이제 데이터를 찾아야 합니다.

데이터를 찾기위해서는 총 3개의 자료가 필요합니다.

1. MBR의 크기

->128 (위에서 언급했지만 0~127번섹터까지의 MBR의 크기입니다)

2. 예약 영역의 사이즈

밑줄 친 곳이 예약 영역의 사이즈 입니다.

읽을 때는 거꾸로 읽어야 하기에 10 2A 로 읽어주며

10진수로 바꾸어 주면 4138 입니다.

(3) FAT 크기

FAT의 크기는  3번쨰줄에 있습니다.

읽을때는 아까와 동일하게 00 00 17 EB로 읽어줍니다.

10진수로 바꾸게 되면 6123 입니다.

(6) 이제

FAT1 + FAT2 + 예약 영역 + MBR

6123 + 6123 + 4138 + 128 = 16512

이제 16512 섹터로 이동을 해보게 되면 파일의 속성들이 있습니다.

이렇게 2개의 파일이 존재합니다.

한개는 메모장으로 작성한 korea.txt 파일

한개는 제가 테스트 삼아서 삭제한 text2.jpg가 있습니다. (삭제하였기에 제일 앞에 E5)라는 문구가 오게 됩니다.

 아셔야 할 꿀팁 !

 파일을 만들때는 8:3 규칙이 있습니다.

 이름은 8 확장자는 3이며

클러스터 할당 테이블을 공부해보시면 테이블 0과 1은 다른 용도로 쓰고 있습니다.

그래서 03에서 2개를 빼서 1이 나오며 1개의 클러스터는 총 8개의 섹터를 지니고 있으니

16512 + 8을 해줍니다 = ???

그런데 나는 어째서인지 16520에 정보가 없고 16528에 아까 삭제한 파일의 정보가 있다.

(7) 일단 찾아서 16528에서 아까 삭제한 jpg 파일의 시그니처가 있는것을 확인 할 수있습니다.

(8) 다시 16512 섹터로 돌아가서 내가 삭제한 그림 파일의 용량을 구해야 합니다.

마지막 4바이트가 그림파일의 용량이며 이것을 10진수로 변환하게 되면

561,276이 나오는것을 확인할 수 있습니다.

(9) 16528섹터로 돌아가서 블록 지정 길이를 10진수 561,276을 더하여서 지정 후

새로 만들어서 복사를 해준후 저장을 하게 되면

아까 삭제한 그림 파일 test3.jpg가 복구된것을 확인 할 수있습니다.