HxD 에디터를 이용해 디스크에 임의의 파일을 생성해보자.
우선 디스크관리자를 실행하고 다음과 같이 FAT32라는 이름의 vhd를 하나 생성한다.
디스크의 크기는 200MB, 디스크 포맷은 VHD, 디스크 유형은 고정크기로 한다.
디스크가 만들어지면 위와 같이 파티션 형식을 MBR로 디스크를 초기화한다.
해당 디스크에 볼륨을 위와 같이 설정하여 생성한다.
우선 HxD 에디터로 파일을 생성하기 위해서는 FAT32 파일시스템 구조에 대해 알아야 한다.
FAT32 파일시스템 구조는 이전 블로그를 참고하길 바란다.
다음 파일을 한번 생성해보자.
- 파일명 : hack.txt
- 파일위치 : 루트 디렉터리
- 파일내용 : this file is created by hacktool
- 파일크기 : 20bytes
- 파일생성 시간 : 2000.12.31 23:59:59
- 파일수정 시간 : 1999.9.30 15:30:12
- 파일접근 날짜 : 1998.11.10
이를 위해 수정해야 하는 것은 다음과 같다.
> FSINFO에서 다음 사용할 클러스터 확인 및 수정
> Directory Entry 수정
> FAT 수정
우선 HxD 에디터를 관리자권한으로 열고 다음과 같이 [기타설정]-[디스크 열기]를 클릭해 생성한 하드디스크2를 선택한다. 이때 [읽기전용으로 열기]에 체크를 해제한다.
* [기타설정]-[디스크 열기]를 이용해 vhd를 열었을 경우 해당 vhd가 연결되어 있는 상태이기 때문에 vhd를 수정할 수가 없다. 따라서 vhd를 인식하지 못하도록 MBR 파티션 테이블에서 파티션 타입을 '00'으로 설정한 뒤 디스크 관리자를 새로고침하면 해당 vhd가 연결해제된다. 이 상태로 작업을 한 뒤 vhd를 인식하기 위해 수정한 MBR 파티션 테이블을 복구하고 디스크 관리자를 새로고침해야 한다.
* [기타설정]-[디스크 이미지 열기]를 이용할 경우 해당 vhd를 분리한 뒤 작업을 하면 된다.
필자는 [기타설정]-[디스크 열기]를 이용했기 때문에 다음과 같이 MBR 파티션 테이블 값을 변경한다.
디스크 관리자를 새로고침하면 다음과 같이 FAT32 vhd가 인식되지 않는다.
위의 MBR 캡처화면의 ①을 통해 VBR의 위치가 '80 00 00 00'으로 128임을 알 수 있다.
해당 위치로 가면 다음과 같은 화면을 볼 수 있다.
이를 분석하면 다음과 같다.
① : SP( 클러스터 당 섹터 수 ) : 4
② : RS( 예약 섹터 ) : 6,646
③ : Hidden Sector : 128
④ : FAT Size : 773
이를 통해 다음을 계산할 수 있다.
- FAT 1의 시작 위치 : 128( Hidden Sector ) + 6,646( RS ) : 6,774
- FAT 2의 시작 위치 : 6,774 + 773( FAT 1 Size ) = 7,547
- 루트 디렉터리 시작 위치 : 7,547 + 773( FAT 2 Size ) = 8,320
파일의 시작 위치를 알기 위해 FSINFO 부분을 보면 다음과 같다.
* FSINFO는 VBR+1 위치에 있다.
① : 남은 클러스터 수
② : 다음 사용할 클러스터 번호
이를 통해 다음 사용할 클러스터는 6임을 알 수 있다.
파일의 시작위치는 다음과 같이 계산할 수 있다.
- ( 6 - 2( 예약 클러스터의 수 ) ) * 4( 클러스터 당 섹터 수 ) + 8,320( 루트 디렉터리 시작 위치 ) = 8,336
지금까지 확인한 내용을 보면 다음과 같다.
- FAT 1 위치 : 6,774
- 루트디렉터리 위치 : 8,320
- 파일의 시작 위치 : 8,336
이를 이용해 파일을 한번 만들어 보자.
먼저 실제 데이터가 들어가는 8,336 섹터에 다음과 같이 데이터를 넣는다.
루트 디렉터리에 파일에 대한 정보를 기입한다.
* 파일에 대한 정보를 계산하는 법은 이전 포스트를 참고하길 바란다.
FAT 1 정보를 다음과 같이 수정한다.
* FAT 1 정보에 대한 내용은 이전 포스트를 참고하길 바란다.
FSINFO에 대한 정보를 다음과 같이 수정한다.
* 클러스터 하나를 사용했기 때문에 FSINFO에 반영해 주어야한다.
정보를 모두 변경했다면 MBR에서 수정한 파티션 타입을 FAT32로 다시 변경해 준다.
저장을 한 뒤에 디스크 관리에서 새로고침을 누르면 다음과 같이 FAT32 볼륨이 연결이 된다.
파일 탐색기를 이용해 FAT32 볼륨에 들어가 보면 다음과 같이 HACK.TXT 파일이 생성된 것을 볼 수 있다.
FTK Imager를 이용해 해당 디스크를 보면 다음과 같이 정보와 저장된 데이터를 볼 수 있다.
* 파일 탐색기에서 HACK.TXT 파일의 속성을 보게 되면 접근 날짜가 현재로 변경이 된다. 그렇기 때문에 FTK Imager를 이용해 속성들을 보아야 정확하게 확인할 수 있다.
* 데이터를 보면 실제 입력했던 데이터가 모두 출력되지 않는다. 그 이유는 파일의 크기를 20 bytes로 했기 때문에 20 bytes까지만 확인할 수 있다.
'NCS보안3기 > 디지털 포렌식' 카테고리의 다른 글
[Forensics] 타임라인 분석 (0) | 2017.05.12 |
---|---|
[Forensics] FAT32 파일 생성( LFN ) (0) | 2017.05.11 |
[Forensics] FAT32 파일추적 및 복구 (0) | 2017.04.29 |
[Forensics] 윈도우 포렌식 분석 (0) | 2017.04.28 |
[Forensics] 메모리 포렌식 (0) | 2017.04.27 |