악성코드 분석/동적 분석

실전 악성코드와 멀웨어 분석 - 실습 03-01

IT공부 2020. 1. 6. 21:27
반응형

 

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

기초 동적 분석 

VirusTotal의 Lab03-01에 업로드 결과  70개 안티바이러스 엔진 중 67개 엔진이 발견하였다. 

결과를 본 후에 Backdoor임을 짐작할 수 있었다. 

컴파일 시간 결과 2008/01/06 14:51:31 UTC를 확인할 수 있었다. 

패킹과 난독화 징 후가 있는 PEiD로 확인 결과 PEncryt 3.1 Final -> junkcode로 패킹된 것을 확인할 수 있었다. 

junkcode라는 말이 나왔으므로 코드 분석을 어렵게 하기 위해서 중간중간 불 필요한 코드를 삽입한 것으로 보인다.

질문

 

1. 악성코드의 임포트 함수와 문자열은 무엇인가?

패킹이 되어 있기 때문에 ExitProcess에 임포트 정보만 나와있는 것을 볼 수 있다. 

!This program cannot be run in DOS mode.
Rich
.text
`.data
ExitProcess
kernel32.dll
`3

ws2_32
A)|
-~_
"p7
h
u8
u(
cks=u
ttp=
cks=
CONNECT %s:%i HTTP/1.0
QSRW
?503
200
PWW
thj@h
PWW
_^
U
jj
a3
U
VSWRQ
YZ_[^

f5
f
Ou

YZ_[^
3_
3_
Ls
V
D$0
D$0
D$0
D$0
3W
3W
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
3U


f3
G]=
QVlM
+
4~v
X:a
z
3sg
yn
6I*h<8
^-m-m<|<|<|M
o/o/
00U
Y^
"r
advapi32
ntdll
user32
Jbh
)
o%
ww!
iB
1+KY
x{w
#%li
E
}>*K
40j
QQVP
ucj
u-
jjjjjj
advpack
hk7
~Pj
t}
<2f
StubPath
SOFTWARE\Classes\http\shell\open\commandV
Software\Microsoft\Active Setup\Installed Components\
test
 www.practicalmalwareanalysis.com
admin
VideoDriver
WinVMX32-
vmx32to64.exe
U
SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Ph?
V5h
V1
V)V
U
SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
PWj
AppData
j@h
VQj
ViW
V%X_

SOFTWARE\Microsoft\Windows\CurrentVersion\Run 문자열이 삽입된 것으로 보아 레지스트에 부팅 시 자동 실행될 수 있게 등록을 하는 기능을 하는 것을 알 수 있었다.

그리고 Url 주소인 www.practicalmalwareanalysis.com 으로 DNS을 요청한다는 정보도 있었다.

 

2. 악성코드임을 의미하는 호스트 기반 표시자는 무엇인가?

ProcessEx로 확인해본 결과 Lab03-01.exe는 mutant를 생성하는 것을 알 수 있다. 

mutant : 악성코드가 한번에 한 가지 버전만 실행하게 보장하기 위해 뮤 텍스를 생성한다고 책에 나와있었는데 정확이 어떤 이유로 생성하는지는 정확히 모르겠다. 

악성코드는 WinVmx32라는 명칭의 뮤턴트를 생성하고, C:\Windows\System32\vmx32 to 64로 복재해 레지스트 리키 HKLM\SOFTWARE\Windows\CurrentVersion\Run\VideoDrive를 생성하고 복사 위치를 설정해 시스템이 시작할 때 스스로 설치해 실행하게 된다.

악성코드가 파일 시스템과 레지스트리에 가하는 변경 사항을 보기위해 RegSetValue과 WriteFile도 포함하였다.

ProcMon으로 Lab03-01.exe에 실행 후에 결과에서 WriteFile 과 레지스트리 변화를 발견할 수 있었다. 

아래의 그림을 보고 C:\WINDOWS\system32\vmx32to64.exe가 \SOFTWARE\Microsoft\Windows\CurrentVersion\Run\VideoDriver라는 이름으로 등록되어 있어서 재부팅 후에 VideoDriver라는 이름으로 자동으로 실행될 수 있도록 하는 기능을 하는 악성코드임을 알 수 있었다.

아래의 그림을 보시면 실제 VideoDriver라는 이름으로 등록이 된 것을 확인 할 수 있었다.

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

ApateDNS로 확인한 결과로는 www.practicalmalwareanalysis.com 으로 요청을 보내는 것을 볼 수 있었다.

(Vmware에서 Windows XP로 사용하 실 때 ApateDNS가 실행이 안되고 오류가 발생하는데 , 인터넷에 찾아보니  Net Framework 3.5를 설치한 후 정상적으로 실행되어 해결하였습니다.)

 

넷캣을 이용하여 80과 443 포트를 리스닝을 하게 되면은 악성코드는 443을 통해 신호를 보내는 것으로 보인다.

 

nc -l -p 80(443) 해보면 데이터가 들어오는 것을 알 수 있었다.