본문 바로가기

4-7. 2021-2 심화 스터디/악성코드 포렌식

[2021.11.20] CTF-D Memory Forensic 문제 풀이 (GrrCON 2015 #4,5,6)

GrrCON 2015 #4



가장 먼저 PID를 찾아보았다. pstree(는 실행중인 프로세스를 트리 형태로 보여줌)



./volatility -f Target1-1dd8701f.vmss --profile=Win7SP1x86 pstree

 

<복습>

PID: 운영체제에서 프로세스를 식별하기 위해 프로세스에 부여하는 번호

PPID: 부모 프로세스의 PID. 

여기서 이상한 점은 iexplorer.exe인데 현재 pstree에서 독립적으로 실행되고 있다는 것임. 

 

원래 아래와 같이 explorer.exe 하위에 있어야 함.

그림 1_ https://hec-ker.tistory.com/204

 

PID를 알고 싶다고 했으므로

 

정답은 2996






GrrCON 2015 #5

 

재부팅을 해도 지속성을 위해 멀웨어가 사용하고 있는 레지스트리 KEY의 이름을 알고 싶음.

 

보통 재부팅 공격을 할 때 다음과 같은 위치에 멀웨어를 실행시킴. RunOnce는 한 번만 사용한다는 뜻!

 

 

여기서 사용할 수 있는 플러그인은 printkey

printkey 플러그인이란? 특정 Registry key의 subkeys, values, data, data type을 보여주는 명령어이다. 기본적으로 printkey는 모든 하이브로부터 검색해 찾아진 key information을 출력하기 때문에 -K Option을 통해 포함 문자열을 함께 적어주는 것이 좋다고 한다. 

출처: https://lastcard.tistory.com/150 [月光愛靑狼]

 

./volatility -f Target1-1dd8701f.vmss --profile=Win7SP1x86 printkey -K “Microsoft\Windows\CurrentVersion\Run”

(큰 따옴표 꼭 붙여주기)

 

그러면 해당 레지스트리 하위에 존재하는 레지스트리 key가 출력됨.

 

2개가 출력되는데 여기서 멀웨어가 사용하는 레지스트리 키는 MrRobot이다. 




 

 

GrrCON 2015 #6

#6 멀웨어가 C&C 서버에 재인증시 사용하는 비밀번호는 무엇인가?

KEY Format : Password1234(대소문자 구분)

 

 

<관련 개념>

C&C 서버란?

- Command&Control 서버를 뜻하며, 감염된 좀비 PC가 해커가 원하는 공격을 수행하도록 원격지에서 명령을 내리거나 악성코드를 제어하는 서버를 일컫는다.

- 주로 악의적인 명령을 봇넷이나 랜섬웨어와 같은 손상된 컴퓨터 네트워크에 원격으로 보내는데 사용된다.

 

https://hardner.tistory.com/37 참조

 

 

<문제 풀이>

 

앞서 #4에서 프로세스 인젝션된 것이 iexplore.exe 이었으므로, 이 프로세스를 메모리덤프 하였음

 

pid가 2996 이었으므로

./volatility -f Target1-1dd8701f.vmss --profile=Win7SP0x86 memdump -p 2996 --dump-dir=./

명령어를 작성함

 

덤프파일이 생성됨

 

덤프 파일의 내용을 확인하기 위해 txt파일로 변환함

 

#5의 답이었던 MrRobot을 서치해보았음.

여러개의 MrRobot 문자열을 발견할 수 있었고, 그중에서도 해당 캡쳐화면과 같이 XTreme과 GrrCon2015 등 문제와 관련된 문자열을 발견함.

 

키 포맷을 확인해보면 대소문자를 구분하는 영문자와, 숫자의 형식이므로

답은 GrrCon2015이다.