CTF/포렌식

[2020CCE] Simple Memory - 포렌식 / Volatility

SecurityMan 2022. 10. 22. 11:00


2020년에 진행된 국정원 주최 사이버공격방어대회

오랫동안 컴퓨터에 당시 문제들을 묵혀놨다가 이제야 풀이 포스팅을 해본다.

당시는 거의 이런 대회에 나가본게 처음이라, 시간에 쫒겨서 캡쳐를 제대로 못한 부분이 많다.

 

반응형

 

 

Simple Memory 문제

 

문제 제목처럼 간단한 메모리 포렌식 문제였다.

 

문제파일로는 mem.raw 파일이 주어진다.

 

 

메모리포렌식 문제를 풀 때는 Volatility 라는 도구를 사용한다.

 

이 분야에서 거의 독보적인 툴이다.

 

https://www.volatilityfoundation.org/releases

 

Release Downloads | Volatility Foundation

Volatility releases are the result of significant in-depth research into OS internals, applications, malicious code, and suspect activities. Releases represent a milestone in not only our team's progress, but also in the development of the community and fo

www.volatilityfoundation.org

 

위 주소에서 다운로드 받을 수 있다.

 

윈도우 환경에서 실행이 가능하다.

 

 

캡처를 못뜬 부분이 있는데

 

Volatility를 사용하려면 먼저 분석할 메모리 덤프 파일의 profile을 확인해야 한다.

 

vol.exe -f mem.raw imageinfo 라고 입력하면 profile 값을 얻을 수 있다.

 

이 문제의 경우 Win7SP1x64 였다.

 

profile 값을 알아냈으면, 이제 플러그인을 통해 원하는 정보들을 추출하면 된다.

 

가장 먼저 프로세스 목록을 보기 위해 pstree 플러그인을 사용했다.

 

vol.exe -f men.raw --profile=Win7SP1x64 pstree > pstree.txt 형태로 cmd 창에서 실행해

 

실행결과를 pstree.txt 파일에 저장했다.

 

 

pstree.txt 파일을 열어보니

 

정직하게도 악성코드 이름이 malware.exe 였다.

 

뒤에 있는 숫자는 프로세스 ID를 의미한다.

 

앞에있는 2248은 malware.exe 의 PID 이고,

 

뒤에있는 2970은 부모 프로세스인 chrome.exe 의 PID 이다.

 

chrome 으로 부터 악성코드가 실행되었나 보다.

 

 

PID를 알았으면 해당 프로세스를 추출할 수도 있다.

 

vol.exe -f mem.raw --profile=Win7SP1x64 procdump -p 2248 -D ./ 라고 입력하면 된다.

 

procdump 플러그인을 이용해

 

-p 옵션으로 PID를 지정해주고, -D 옵션으로 저장할 경로를 지정해주면 된다.

 

 

그럼 현재 경로에 executable.2248.exe 라는 파일이 생성되는데

 

실행시켜 보면 cmd 창이 하나 뜨면서

 

플래그가 출력되는것을 확인할 수 있다.

반응형