보안 공부

[ctf-d] GrrCON 2015 본문

기타/워게임

[ctf-d] GrrCON 2015

zoome22 2023. 7. 29. 12:14

https://hackhijack64.tistory.com/85

 

[기초부터 따라하는 디지털 포렌식(inflearn)] - Volatility 사용 및 문제풀이

오늘은 인프런의 무료 디지털 포렌식 강의를 기반으로 메모리 포렌식을 공부해 볼 것이다. 여기서는 volatility라는 도구를 이용하여 분석을 할 것이고, 문제 파일은 다음 링크에서 확인할 수 있다

hackhijack64.tistory.com

https://www.inflearn.com/course/%EA%B8%B0%EC%B4%88-%EB%94%94%EC%A7%80%ED%84%B8-%ED%8F%AC%EB%A0%8C%EC%8B%9D/dashboard

 

[무료] 기초부터 따라하는 디지털포렌식 - 인프런 | 강의

기초부터 따라하는 디지털포렌식 강의입니다. 강의를 따라하다보면 "물 흐르듯, 자연스럽게" 실력이 늘어가는 강의를 추구합니다., 초보자 눈높이에 딱 맞춘, 원리를 이해하는 디지털포렌식 입

www.inflearn.com

해당 강의에서 나온 문제 풀이를 해본다. 이게 강의에서는 볼라틸리티2로 설명을 해서 나는 볼라틸리티3로 풀이를 작성해보려 한다.

 

https://drive.google.com/file/d/1FolF3YNq3TMM1pN_lZmyRsACzU7WWYR4/view

 

Target1-1dd8701f.vmss

 

drive.google.com

(ctf-d 사이트가 종료되어서 대신 강사님께서 올려주신 문제 파일 다운로드 링크를 첨부)

 

http://files.sempersecurus.org/dumps/cridex_memdump.zip

새 탭을 열고 위 링크를 복붙하면 다운로드 시작


python vol.py -f cridex.vmem windows.info

볼라틸리티 사용의 기본은 처음 시작할 때 메모리 information을 뽑아주는 것이다. 대상인 cridex.vmem에 대해서 windows.info로 데이터를 뽑아줬다.

 

python vol.py -f cridex.vmem windows.pslist

pslist는 메모리에서 실행되었던 프로세스 리스트 목록을 뽑아주는 명령어이다. 나머지는 대충 windows 프로세스일 것 같은데 지금 보기에는 저 두 개가 의심스럽게 보인다. (특히 alg.exe?)

 

python vol.py -f cridex.vmem windows.cmdline

cmdline은 cmd 단위에서 실행된 명령어의 리스트를 뽑아준다. 보면 system32에서 출발한 것을 보아 alg.exe도 시스템 함수였던 것 같다. 오히려 유일하게 파일 시스템에서 실행된 reader_sl.exe가 악성코드일 게 가장 유력해졌다.

 

python vol.py -f cridex.vmem windows.filescan > filescan.log

filescan 명령어는 메모리에 올라왔던 파일들의 정보를 출력한다. filescan이 출력하는 정보에는 해당 파일이 메모리의 어느 주소에 위치해있었는지에 대한 것도 있다. 모든 파일은 실행되기 위해 메모리에 올라오기 때문에, 이를 메모리에 올렸던 파티션을 그대로 추출해내서 파일을 뽑을 수 있다. 의심스러운 프로그램 reader_sl.exe의 오프셋은 0x23ccf90이다.

 

dumpfile 명령어로 뽑아내려고 했는데 v3에서 어떻게 쓰는지 몰라서 쳐봤다. 메모리 오프셋이니까 --physaddr로 뽑으면 될 것 같다.

 

python vol.py -f cridex.vmem windows.dumpfiles.DumpFiles --physaddr 0x23ccf90

Dumpfile 명령어로 프로세스의 파일 두 개를 뽑아줬다.

 

그 중 이미지 파일에서 트로이목마 반응이 약간 발견되었다.

python vol.py -f cridex.vmem windows.pstree

프로세스 그 자체를 뽑아내기 위해 PID 넘버를 알아내야 한다. pstree로 프로세스들의 정보를 트리 구조로 볼 수 있다. reader_sl.exe의 PID는 1640이고 부모 프로세스가 explorer.exe라는 것까지 알았다.

 

python vol.py -f cridex.vmem windows.pslist.PsList --pid 1640 --dump

근데 procdump 명령어가 볼라틸리티 3에서는 지원되지 않는다고 한다. 대안으로 memmap에서 pid 옵션을 쓰거나 dumpfile에서 pid옵션을 쓰거나 pslist에서 pid 옵션을 쓰거나...가 있는데 전부 덤프 형태로 나오고 exe 파일 형태로는 추출되지 않는다. 다른 대안이 있는지 찾아봐야 할 것 같다.

'기타 > 워게임' 카테고리의 다른 글

[Dreamhack] rev-basic-0  (0) 2023.10.03
[Reversing.Kr] Easy Keygen  (0) 2023.07.31
[Reversing.kr] Music Player  (0) 2023.07.19
[SuNiNaTaS] 30번  (0) 2023.07.18
[CodeEngn] Basic RCE L05  (0) 2023.07.03