Multimedia Forensic #5 플래그를 찾아라!

 

5번 문제

 

이번 문제는 저번 문제들과 아예 다른 처음 보는 확장자인 lzma파일을 문제에서 주었습니다.

 

일단 lzma파일은 압축파일이기에 일반 압축으로 압축을 풀어주었습니다. 

 

압축을 풀어주면 dump1 이름으로 된 raw파일이 나옵니다.

 

raw파일은 저도 많이 본 적이 없어서 구글링을 통해 알아본 결과, 손실 압축을 하지 않고 가능한 모든 정보를 저장하는 파일 포맷이라고 합니다.

 

이런 정보만으로는 알 수가 없어서 파일 이름이 dump1이라는 이름으로 되어 있어서 메모리 덤프파일이라 생각하고, 메모리 덤프파일 분석도구인 volatility로 분석하였습니다.

 

볼라틸리티 도구 사용

 

volatility : Python 기반의 메모리 포렌식 툴로, Windows, Linux, Mac OS에서 사용이 가능합니다.

또한 플러그인 형태로 다양한 기능들을 제공하는데, 자신이 직접 플러그인을 만들어서 사용 가능

 

결과를 확인하면 해당 파일은 윈도우 10 운영체제의 메모리 덤프 파일인 것을 확인할 수 있습니다. 

좀 더 자세한 분석을 위해 pslist 플러그인을 사용하여 실행 중이던 프로세스를 확인해보았습니다. 

 

프로세스 목록 확인

 

실행 중이었던 프로세스 목록을 보면 대다수의 서비스 프로세스들을 확인할 수 있습니다. 

하지만 계속 분석하던 도중 이상한 프로세스가 발견되었습니다.

 

이상한 프로세스 발견

 

바로 mspaint 프로세스와 notepad 프로세스입니다.

 

mspaint는 그림판을 뜻하고 notepad는 말 그대로 노트패드를 뜻하는 프로세스 같았습니다.

 

만약 mspaint를 예로 보면 어떤 것을 그리고 있었으면 프로세스를 복구했을 때 그림을 볼 수 있을 것입니다.

 

그래서 volatility의 memdump 플러그인을 사용해서 프로세스를 덤프해보았습니다.

 

프로세스 덤프

memdump 플러그인으로 프로세스 덤프에 성공하였습니다.

 

이번엔 덤프 된 프로세스를 분석해보기 위해서 확장자를 raw에서 data로 바꾸고, GIMP라는 도구를 사용해서 분석해보았습니다.

 

GIMP : 사진 편집이나 이미지 생성 및 편집 등 다양한 이미지 작업을 하기에 적절한 편집 도구입니다.

 

손상된 그림

 

아무런 포렌식 도구도 아닌 GIMP 도구를 사용하는 이유는 보시다시피 그림은 손상되서 알아볼 수 없는 상태입니다.

하지만 GIMP 도구는 너비, 높이, 오프셋을 수정하면서 그림이나 이미지를 편집할 수 있기 때문에 GIMP 도구를 사용합니다.

 

오프셋, 너비, 높이 변경

 

위의 화면처럼 너비를 1093, 높이 691로 조정 후 오프셋을 계속 올리다가 6000000 오프셋에서 그림이 선명하게 보이게 되었습니다.

맞추고 open을 누르니 플래그 값을 확인할 수 있었습니다.

 

플래그 값 확인

그림을 정확하게 맞추지는 못했지만, 그래도 플래그 값을 조합해보면 확인할 수 있습니다.

 

FLAG = CTF{HeRe_GoEs_thE_FLaG}

+ Recent posts