실습 3-1 연습문제

2018. 1. 9. 05:390x06 Malware/0x06-1 실전악성코드와 멀웨어분석

728x90

기초 동적 분석 도구를 이용해 Lab03-01.exe파일에서 발견된 악성코드를 분석하라.


Q : 악성코드의 임포트 함수와 문자열은 무엇?

우선, Process Explorer의 Strings로 살펴본 결과 임포트 함수는 ExitProcess 밖에 없었고,

문자열은 엄청나게 많으며 난독화도 되어있지 않았다.


임포트 함수를 확실히 보기 위해 정적도구 STRINGS를 이용하였다. 추가적으로 파일에 담아서 보기 위함

도 있다.


!This program cannot be run in DOS mode.

Rich

.text

`.data

ExitProcess

kernel32.dll

ws2_32

A)|

-~_

"p7

cks=u

ttp=

cks=

CONNECT %s:%i HTTP/1.0

QSRW

?503 

200 

PWW

thj@h

PWW

VSWRQ

YZ_[^

f5 

YZ_[^

D$0

D$0

D$0

D$0

D$0

D$0

|$,

D$0

t$,

D$0

t$,

|$,

D$4

D$4

D$4

D$4

D$4

D$4

D$4

D$4

D$4

D$4

G]=

QVlM

4~v

X:a

3sg

6I*h<8

^-m-m<|<|<|M

o/o/

00U

advapi32

ntdll

user32

Jbh

ww!

1+KY

x{w

#%li

}>*K

40j

QQVP

ucj

advpack

hk7

~Pj

<2f

StubPath

SOFTWARE\Classes\http\shell\open\commandV

Software\Microsoft\Active Setup\Installed Components\

test

 www.practicalmalwareanalysis.com

admin

VideoDriver

WinVMX32-

vmx32to64.exe

SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Ph?

V5h

V)V

SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders

PWj

AppData

j@h

VQj

ViW

V%X_



Q : 악성코드임을 의미하는 호스트 기반 표시자는 무엇?

악성코드는 WinVMX32 라는 명칭의 뮤텍스를 생성하고 c:\Windows, Sytem32\vmx2to64.exe

로 복제해 레지스트리 키 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\VideoDriver

생성하고 복사 위치를 설정해 시스템이 시작할 때 스스로 설치해 실행되게 한다.



Q : 악성코드를 인식할 수 있는 유용한 네트워크 기반의 시그니처가 존재하는가? 있으면 무엇인가?

악성코드는 www.practicalmalwareanalysis.com을 찾은 후 무작위 데이터로 보이는 256바이트

크기의 데이터를 끊임없이 전송한다.


악성코드를 실행하기 전 Procmon을 실행시켜 모든 이벤트를 삭제하고 프로세스 익스플로러(Process Explorer)를

실행한다. 그리고 ApateDNS, NetCAT을 포함한 가상 네트워크를 설정한 후 와이어샤크로 네트워크 캡처를 준비한다.


악성코드가 실행되면 프로세스 모니터를 통해 프로세스 검사를 진행하게 되는데 우선 Handle을 살펴보게 되면 

WinVMX32라는 이름으로 뮤텍스 생성이 되어있고, DLL을 보게 되면 ws2_32.dll, wshtcpip.dll을 로드하는 것으로 보아

네트워크 기능이 있는 악성코드임을 알 수 있다. 


Procmon을 통해 추가정보도 알 수 있다.

우선 필터링이 필요하다. 보다 더 빠른 분석을 위해 

Filter -> Filter -> Process Name 1EA (Lab03-01.ex) & RegSetValue, WriteFile (이 두가지는 파일 시스템과 레지스트리에 미치는 영향을 보기 위함) 


중요하게 보아야 하는게 있다. Procmon에 WriteFile이 보이게 되는데 

WirteFile의 바이트 길이가 실제 악성코드와 정확히 똑같다. 그렇다면 복사본이라는 것을 알 수 있다.

복사본인 이유는 동일한 해시값을 가지고 있다(MD5)


그리고 Run위치에서 VideoDriver라는 키를 생성하는 것으로 보아 부팅 시 시스템에 vmx32to64.exe를 실행시킨다.


DNS 요청을 살펴보니 www.practicalmalwareanalysis.com 을 요청하고,

와이어샤크와 NC로 보니 250바이트마다 값이 달라진다.