Disk Forensic #26 (범죄자는 자신의 인생을...)

 

디스크 포렌식 26번 문제

 

이번 문제 파일은 dd 확장자를 가진 이미지 파일이다.

 

해당 파일 분석을 위해 HxD로 열어 확인하였다.

 

HxD로 여는 대신, 해당 파일을 섹션으로 나눠서 보기 위해 HxD의 [기타 설정 메뉴] - [디스크 이미지 열기] 기능을 통해 파일을 확인하였다.

 

[그림 1] 디스크 이미지 열기 기능 (섹터 확인)

 

화면과 같이 섹터가 적혀 있는 것을 확인 가능하다.

 

[그림 2] 3000번 섹터 (JPEG 시그니처 확인)

 

분석하던 도중, 3000번 섹터에 화면과 같은 JPEG 파일 시그니처를 확인하였다.

 

이를 통하여 이미지 파일 안에 JPEG 형태의 사진이 있다는 것을 추측할 수 있다.

 

이미지 파일 추출을 위해 리눅스 환경에서 foremost 도구를 사용하여 파일을 추출하였다.

 

[그림 3] foremost 도구 사용

 

foremost : 데이터 복구를 위한 카빙 도구로 네트워크 패킷 데이터 추출, 악성코드 분석, CTF 포렌식 문제  등에 자주 사용되는 도구

 

설치 사이트 : http://foremost.sourceforge.net/ 

 

Foremost

Foremost Introduction Foremost is a console program to recover files based on their headers, footers, and internal data structures. This process is commonly referred to as data carving. Foremost can work on image files, such as those generated by dd, Safeb

foremost.sourceforge.net

 

[그림 4] jpeg 이미지 파일 확인

 

위 이미지 파일은 추출된 jpeg 이미지 파일이다.

 

하지만 해당 이미지 파일의 md5 값을 문제의 플래그로 인증하면 인증이 되지 않는다.

 

위 이미지 파일을 자세히 보면, 이미지 중간에 초록색 선으로 조금 어긋나 있는 것을 확인할 수 있다.

 

이 문제 때문에 완전한 이미지가 아니라서 인증이 되지 않는 것을 추측할 수 있다.

 

자세한 분석을 위해, jpeg 이미지 파일을 HxD로 위 방법대로 다시 확인하였다.

 

[그림 5] 데이터 값 중간 지워짐

 

분석 결과, 데이터 값 중간이 0으로 덮여 있는 부분을 확인 가능하다.

 

0으로 되어 있는 부분을 지워 이미지를 편집하면 정상적인 이미지가 나올 것 같다.

 

0으로 쓰여져 있는 부분을 쉽게 확인하기 위해 jpeg 이미지 파일을 위 방법을 통해 섹터로 확인하게 되면 0섹터 ~ 15561 섹터 중에 0으로 쓰여져 있는 부분은 3000섹터 ~ 5999섹터, 9000섹터 ~ 11999섹터라는 것을 확인할 수 있다.

 

지워야 하는 영역을 확인하였으니 해당 부분을 제거하기 위해, 리눅스 환경에서 dd 명령어를 이용하여 섹터 단위로 데이터를 선택해 수정할 수 있다.

 

[그림 6] dd 명령어 이용

 

※ dd 명령어 사용법

  • if : 파일 입력

  • count : 입력된 블록의 크기만큼 복사

  • skip : 파일의 시작부터 입력 값 만큼의 블록을 건너 뜀 

 

[그림 7] 정상적인 이미지 파일 확인

 

0값을 지운 정상적인 이미지 파일의 화면이다.

 

이제 md5 값 확인을 위해 md5sum 명령어를 사용하여 플래그를 확인한다.

 

[그림 8] 플래그 확인

 

md5sum 명령어를 통해 나온 결과값을 플래그로 입력하게 되면, 문제를 해결할 수 있다.


# Reference

 

http://www.yes24.com/Product/Goods/59156934

+ Recent posts