-
Digital Forensic - FAT32 HEX Editor를 이용하여 파일 및 폴더 생성Forensic 2019. 2. 21. 16:37
HEX Editor를 이용하여 VHD 내부에 주어진 문제 조건에 맞는 파일 및 폴더 생성
실습을 위한 VHD를 생성한다.
3GB의 FAT32-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을 써준다.
문제에서 주어진 파일 생성 시간이 11시 00분 20초이다.
11 -> 01011
00 -> 000000
20/2 = 10 -> 01010
0101 1000 0000 1010
58 0A
è 0A 48
생성 시간을 넣어준다.
문제에서 주어진 생성 날짜는 2020년 11월05일이다.
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
16544가 BABO.PNG의 시작 위치이다.
16544 섹터로 간다.
VHD에 생성할 파일인 BABO.PNG(VHD에 생성하기 위해 미리 받아둔 파일)를 HxD로 연다.
내용을 다 복사한 뒤
FAT32-1에 붙여넣기 쓰기를 한다.
이제 TEST 폴더를 만들기위해 TEST를 HEXA로 변환한다.
제목은 8개로 맞춰야 하기 때문에 나머지 4개는 공백을 의미하는 20 으로 채우고
폴더는 확장자가 없기 때문에 확장자 또한 20으로 채운다.
*20은 공백을 의미한다*
폴더이기 때문에 0B에 10을 입력한다.
0C, 0D는 00 00 으로 한다.
문제에서 주어진 생성 시간은 11시 00분 20초이다
11 -> 01011
00 -> 000000
20/2 = 10 -> 01010
0101 1000 0000 1010
58 0A
è 0A 58
생성 시간을 입력한다.
문제에서 주어진 생성 날짜는 1990년 11월 5일이다.
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을 입력한다.
문제에서 주어진 생성 시간은 01시 01분 02초이다.
01 –> 00001
01 -> 000001
02/2 = 1 -> 00001
0000 1000 0010 0001
08 21
è 21 08
시간을 입력한다.
문제에서 주어진 생성날짜는 1990년 1월 1일이다.
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
시간을 입력한다.
2040년 06월 06일
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파일도 잘 만들어졌다.
만든 날짜, 시간, 수정한 날짜, 시간이 문제에서 주어진 값으로 생성되었다.
위의 방식으로 내가 원하는 날짜, 시간 등의 조건을 가진 파일 및 폴더를 생성할 수 있다.
'Forensic' 카테고리의 다른 글
Digital Forensic - FAT32 파일 복원 (0) 2019.02.21 Forensic이란 (0) 2019.02.21