Forensic

Digital Forensic - FAT32 HEX Editor를 이용하여 파일 및 폴더 생성

홍덕화 2019. 2. 21. 16:37


HEX Editor를 이용하여 VHD 내부에 주어진 문제 조건에 맞는 파일 및 폴더 생성 






실습을 위한 VHD를 생성한다.







3GBFAT32-1을 만든다.





디스크 초기화 선택





MBR 선택





문제 조건에 맞게 볼륨 레이블 설정





파일 및 폴더를 생성하기 위해서는 VHD를 분리해야한다.



그 후 Hexacode 변환을 위해 https://www.asciitohex.com/ 로 접속한다.





BABO.PNG HEXACORD로 바꾼 값을 알 수 있다.

42 41 42 4f 20 20 20 20 50 4e 47


HxD를 관리자 권한으로 실행한다.





기타설정 디스크 이미지 열기로 FAT32-1을 연다.





파란 부분이 첫 번째 파티션의 정보이다.

 

BR의 시작 주소는 80 -> 128이다.





빨간 네모의 예약된 영역의 크기는

102A -> 4,138






파란 부분의 값으로 FAT값을 알 수 있다.

 

EB 17 00 00 -> 6,123


Root Directory의 위치 - 16512





붙여넣기 쓰기를 하여 위에서 변환한 BABO.PNG HEXA값을 넣어준다.




일반 파일이기 때문에 0B의 값을 20을 넣어준다.



파랑 네모안의 0C의 값은 항상 00이다.



파랑 네모안의 0D값도 00을 써준다.



문제에서 주어진 파일 생성 시간이 110020초이다


11 -> 01011

00 -> 000000

20/2 = 10 -> 01010


0101 1000 0000 1010

58 0A

è 0A 48


생성 시간을 넣어준다.




문제에서 주어진 생성 날짜는 20201105일이다.

 

2020 – 1980 = 40 -> 0101000

11 -> 1011

05 -> 00101

 

0101 0001 0110 0101

51 65

è 65 51


생성 날짜를 입력한다.



접근한 날짜를 입력한다.

접근한 날짜는 시간은 없고 날짜만 있다.



파랑 네모안의 값은 항상 00 00이다.



수정 시간, 날짜를 입력한다.



클러스터의 위치는 아직 모르기 때문에 00으로 둔다.






파일의 크기는 사용하려는 PNG 파일의 속성에서 확인한다.




81,176 바이트

0001 0011 1101 0001 1000

01 3D 18

è 18 3D 01


파일의 크기를 입력한다.


MB의 시작위치 128 + 예약된 영역의 크기 4,138 = 4,266으로 가면

FAT 영역 클러스터 할당 테이블로 간다.



BABO.PNG의 디스크 할당 크기는 81,920 바이트이고

하나의 클러스터는 4,096 바이트이다.

 

그러면 81,920/4,096 -> 20개의 클러스터가 필요하다.



19개를 입력하고 마지막엔 FF FF FF 0F를 입력한다.


시작 클러스터의 위치가 06이다.( 00부터 시작하기 때문에 위치는 06이 된다.)




다시 루트 디렉토리에 돌아와서 시작 클러스터의 위치 06을 입력한다.

 

4 X 8 ( 클러스터 2개는 시스템에서 사용해서 4 X 클러스터당 섹터의 수 8)= 32


16512 + 32 = 16544

 

16544BABO.PNG의 시작 위치이다.

 

16544 섹터로 간다.






VHD에 생성할 파일인 BABO.PNG(VHD에 생성하기 위해 미리 받아둔 파일) HxD로 연다.

 

내용을 다 복사한 뒤 





FAT32-1에 붙여넣기 쓰기를 한다.



이제 TEST 폴더를 만들기위해 TESTHEXA로 변환한다.





제목은 8개로 맞춰야 하기 때문에 나머지 4개는 공백을 의미하는 20 으로 채우고

폴더는 확장자가 없기 때문에 확장자 또한 20으로 채운다.


*20은 공백을 의미한다*



폴더이기 때문에 0B10을 입력한다.



0C, 0D00 00 으로 한다.




문제에서 주어진 생성 시간은 110020초이다

11 -> 01011

00 -> 000000

20/2 = 10 -> 01010

 

0101 1000 0000 1010

58 0A

è 0A 58


생성 시간을 입력한다.



문제에서 주어진 생성 날짜는 1990115일이다.

1990-1980 = 10 -> 0001010

11 -> 1011

05 -> 00101

 

0001 0101 0110 0101

15 65

è 65 15


생성 날짜를 입력한다.



접근 날짜를 입력한다



파랑 네모 안의 04 05번은 항상 00 00 이다.



수정 날짜와 시간을 입력한다.

 

그 후 클러스터를 지정하기위해 4,266 섹터로 간다.



1개의 클러스터를 사용하기 위해 다음 클러스터에 FF FF FF 0F를 입력한다.

클러스터 값은 1A이다.



클러스터의 값을 입력한다.


TEST 폴더의 위치는 16512 + 24 X 8 = 16,704

 

TEST 폴더안에 TXT 파일과 PNG 파일을 넣어 주기위해 TEST 폴더의 위치인 16,704로 간다.







HexaCode로 변환한 파일명과 확장자를 입력한다.



일반 파일이기 때문에 20을 입력한다.



문제에서 주어진 생성 시간은 010102초이다.

 

01 –> 00001

01 -> 000001

02/2 = 1 -> 00001

 

0000 1000 0010 0001

08 21

è 21 08


시간을 입력한다.



문제에서 주어진 생성날짜는 199011일이다.

 

1990-1980 = 10 -> 0001010

1 -> 0001

1 -> 00001

 

0001 0100 0010 0001

14 21

è 21 14


생성한 날짜를 입력한다.



접근 날짜를 입력한다.



수정 시간과 날짜를 입력한다.




애국가의 용량을 확인한다.

120 바이트 -> 클러스터 1개면 가능하다.




클러스터 1개를 할당한다.



클러스터의 위치 1B를 입력한다.

 


디스크의 할당 크기는 파일 크기인 120바이트보다 큰 값인 150정도로 한다.


25*8 = 200

 

루트 16512+200 -> 16712

16712로 이동한다.





애국가의 HexaCode를 복사한 뒤





16712 섹터에 복사한다.




TEST.PNG HexaCode로 변환한다.



TEST.PNG TEST 폴더안에 만든다.


KOREA TXT 아래에 TEST.PNG를 입력한다.




일반 파일이기 때문에 20을 입력한다.



6-> 00110

 6-> 000110

 6/2 = 3-> 00011

 

0011 0000 1100 0011

30 C3

è C3 30



시간을 입력한다.



20400606

2040-1980 = 60 -> 0111100

6-> 0110

6->00110

 

0111 1000 1100 0110

78 C6

è C6 78


날짜를 입력한다.



접근 날짜를 입력한다.



수정 시간과 날짜를 입력한다.


100,370/4096 – 24

 

클러스터를 지정하기 위해 4266 섹터로 간다.



24개를 지정해준다.

 

클러스터 주소 1D




클러스터 시작 주소를 입력한다.




디스크 할당 크기를 입력한다.


102,400 -> 019000

00 90 01 00



1D = 29 – 2 = 27 x 8 = 216

 

16512 + 216 = 16,728



TEST.PNG 파일을 복사한 뒤 16728에 붙여넣는다.






그 후 저장한다.



디스크 관리 - VHD 연결



연결이 되면 디스크가 뜬다.







TEST 폴더와 BABO.PNG 파일이 잘 만들어진 것을 볼 수 있다.





BABO.PNG의 만든 날짜, 시간

수정한 날짜, 시간이 주어진 문제와 같은 값으로 생성된 것을 볼 수 있다.





TEST 폴더의 만든 날짜가문제에서 주어진 값으로 생성된 것을 볼 수 있다.





TEST 폴더안에 txt 파일과 PNG 파일이 잘 생성이 된 걸 볼 수 있다.





 

PNG 파일의 만든 날짜, 시간

수정한 날짜, 시간 모두 문제에서 주어진 값으로 생성된 것을 볼 수 있다.

 





애국가 txt파일도 잘 만들어졌다.





만든 날짜, 시간, 수정한 날짜, 시간이 문제에서 주어진 값으로 생성되었다.


위의 방식으로 내가 원하는 날짜, 시간 등의 조건을 가진 파일 및 폴더를 생성할 수 있다.