안녕하세요~ Message 입니다. 오늘은~

<실전 악성코드와 멀웨어 분석> 책의 실습 문제 3-1 을 분석해보고자 합니다.

(책에서도 1-4 다음에 바로 3-1로 넘어갑니다)

분석환경은 동일하게  Windows XP / Vmware 9.0.3 build 이며,

사용되는 툴은 Dependency Walker, Strings, ProcMon, Process Explore, ApateDNS, NetCat 입니다.

 

1. 악성코드의 임포트 함수와 문자열 확인하기

DWalker를 통하여 임포트된 DLL을 살펴보겠습니다.

근데..임포트 함수라고는 딸랑 ExitProcess 하나뿐이군요. 정상적인 기능을 수행하는 프로그램이라면 이런 경우는 거의 없지요.

아마 패킹이 되어 있는것 같습니다.

PEID로 확인해본 결과 PEncrypt 3.1 Final -> junkcode 로 패킹이 되어있네요.

패킹을 해제하기 전까지는 정적분석이 안될것 같습니다.

마지막으로 Strings를 이용하여 문자열을 확인해봅시다.

......(중략).....

패킹이 되어있기 때문에 문자열에서 많은 기대를 할 순 없지만, 마지막 부분에서

WinVMX32, VideoDriver, vmx32to64.exe, 레지스트리 위치, 도메인명 등의 주요 단서들이 발견되었습니다.

동적분석 & 정적분석을 통해 이 단서들이 어떻게 사용되는지 알아봅시다.

 

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

악성코드 실행전 동적 분석을 위한 툴을 실행시킵니다. : ProcMon, Process Explore

 

[Process Explorer]

악성코드를 실행시키고 Process Explorer로 체크합니다.

Lab03-01를 클릭하고 메뉴탭에서 [View] - [Lower Pane View] - [Handles]를 선택합니다.

이 뷰를 통하여 해당 악성코드가 뮤텍스(Mutant)를 생성하는 것을 알 수 있습니다.

숙련된 리버서 혹은 악성코드 분석가라면 뮤텍스를 생성을 바로 알아차리겠지만 공부하는 입장에서는

별다른게 없네~ 하고 그냥 넘어갈 확률이 높겠네요 ^^; (ㅜㅜ)

다음으로  [View] - [Lower Pane View] - [DLLs]를 선택합니다.

지난 실습에서 보았던 ws2_32.dll과 같은 네트워크에 관련된 DLL이 보입니다만...

DLL이 한두개도 아니고...매의 눈으로 관찰해야 보이겠녜요.

아마 경험이 쌓이면 익숙해지겠죠?

 

[ProcMon]

ProcMon을 실행시킨 후 악성코드를 실행시키면 Lab03-01.exe의 행동이 기록됩니다.

하지만 다른 프로세스들의 결과와 함께 나올 뿐만 아니라 Lab03-01.exe의 데이터만 해도 너무 많은 리스트가 나와

눈을 어지럽힙니다. 따라서 우리가 원하는 부분만을 보려면 FIlter 기능을 이용해야합니다.

메뉴탭에서 [Filter] - [Filter]에 들어가서 아래와 같이 설정합니다.

(다른 필터들을 전부 [Remove] 시켰더니 아예 결과값이 안나오더군요, 기존 필터는 그대로 유지하고, 추가 필터 3개만 [Add] 합니다.)

- Process Name : Lab03-01.exe

- Operation : WriteFIle

- Operation : RegSetValue

이렇게 필터를 만든 후 [Apply]를 누르면 총 10개의 결과값을 볼 수 있습니다.

 그중 주요 항목은 아래와 같습니다.

- WriteFile : C:\WINDOWS\system32\vmx32to64.exe (악성코드의 복사)

- RegSetValue : HKLM\SOFT\Microsoft\Windows\CurrentVersion\Run\VideoDriver (윈도우 부팅시 자동실행)

 

3. 악성코드를 인식할 수 있는 네트워크 기반의 시그니처 확인하기

 악성코드 실행전 동적 분석을 위한 툴을 실행시킵니다. : ApateDNS, NetCat

 

[ApateDNS]

ApateDNS를 실행시킨 후 [Start Server]를 클릭하면 악성코드가 주기적으로

www.prac..(중략)..anlysis.com 으로 DNS 요청을 하는것을 볼 수 있습니다.

(혹시 Vmware XP에서 초기화 오류가 발생하는경우 MicroSoft Frame Work가 설치 안됐을 가능성이 높습니다.)

 

[NetCat]

ApteDNS에서 DNS Reply IP를 이용하면 NetCat을 이용하여 리다이렉션된 내용을 볼 수 있습니다.

(요거 설정 안된줄도 모르고 한참을...ㅠ)

리스닝모드로(-l) 포트443번(-p)을 모니터링하게되면 전송되는 256바이트의 무작위 데이터를 볼 수 있습니다.

 

 

 

posted by Red_Message