0. 문제 지문 읽기

문제 설명에는 다음과 같이 작성되어 있습니다.

Someone deleted the PDF file which has flag!

How can I recover it?

 

플래그가 담겨있는 PDF파일이 삭제 되었다고 합니다. 이를 복구 해달라고 합니다.

 

 

1. 문제 풀이

문제 파일을 다운로드 받습니다.

Image.E01 파일

sha256 : 36c6d523ed44e2be02dbfebb2369154125ebc6775952c947dff9e89efbc105ca

SHA1: cb75da360c5bf93756119f11a159744f6cc60fb9

 

확장자가 E01파일입니다. 이는 Encase Forensic Image 포렌식 이미지 포맷 형식임으로 유명한 도구 FTK Imager로 열어보도록 하겠습니다.

 

다음 사진은 FTK Imager로 확인한 결과 입니다.

위 사진에서 가장 눈에 띄는 것은 이전 글에도 올린 unallocated space 입니다. 비할당 영역을 살펴보자 다음 사진처럼 나왔습니다.

아직까진 무엇을 의미하는지 잘 모르겠지만 파일의 크기가 적당히 있다 정도만 알 수 있는 것 같습니다.

다음 사진은 root에서 삭제된 파일만 확인해본 결과를 캡처해온 사진입니다. seg1, seg2, seg3, seg4가 삭제되었다 라는 것을 확인해 볼 수 있었습니다.

위 두 사진과 공통점을 하나 발견할 수 있었는데 그것은 파일의 크기입니다. 현재 저 삭제된 파일을 눌러보면 아무것도 뜨지 않지만 비할당 영역에서 똑같은 사이즈를 클릭해보면 정보를 확인해 볼 수 있었습니다.

그렇다면 비할당 영역에 있는 것은 아직 덮어써져 있지 않기를 바라면서 위의 오른쪽 사진 정보를 확인해보면 PDF파일이라는 것을 확인할 수가 있었습니다. 우선 seg1파일을 pdf확장자로 변환 해주고 복구가 되었는지 확인해보았습니다.

이게 정답이 아니였다는 것을 알 수 있었습니다.

그럼 어떤식으로 풀이를 해야 정확하게 답을 얻어낼 수 있을까 생각했고 유명한 NTFS Log Tracker 도구로 파일이 어떻게 삭제 되었는지 확인을 해볼 필요가 있다고 생각했습니다.

FTK Imager 에서 $J, $LogFile, $MFT 를 export 해주고 파서를 진행하였습니다.

 

당연히 제일 먼저 seg1이 생성되었는지부터 확인해본 결과 다음 사진과 같이 나오게 되었습니다.

2067(12)가 의미하는 바는 seg1 파일이 2067번 클러스터부터 12개 클러스터 영역에 생성된 것을 의미합니다.

다음 사진은 seg2를 살펴보았고 마찬가지로 3405번 클러스터 13개 영역에 생성

다음 사진은 seg3이고 4466 클러스터 부터 14개 영역에 생성

다음 사진은 seg4이고 5082 클러스터 영역부터 18개 영역에 생성

 

그 다음으로는 seg4, seg1, seg2, seg3 가 삭제 된 것을 볼 수 있습니다.

 

 

위의 내용을 아래와 같이 정리할 수 있습니다,

- seg1 : 2067 => 0x813, 12(0xC) 영역3

- seg2 : 3405 => 0xD4D, 13(0xD) 영역

- seg3 : 4466 => 0x1172, 14(0xE) 영역

- seg4 : 5082 => 0x13DA, 18(0x12) 영역

위와 같이 seg1 ~ seg4의 각각의 시작 영역을 섹터로 HXD를 이용해 image.E01을 직접 확인해보면 다음과 같습니다.

 

 

따라서 seg1~seg4 순서대로 파일을 합쳐주면 다음과 같이 플래그가 담긴 PDF파일을 복구할 수 있습니다.

 

산타 옆에 크게 flag 값

 

+ Recent posts