Win-Trojan/Scar.109568.U 악성코드분석보고서 Written by extr (white-hacker@nate.com, http://extr.kr) 2013. 02. 26 Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 1 / 14
Table of Contents 1. 분석정보 i. 분석대상 ii. 분석환경 2. 동적분석 i. 주요파일변화분석 ii. 주요레지스트리변화분석 iii. 네트워크스트림분석 3. 정적분석 4. 결론 5. 치료방법 Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 2 / 14
1. 분석정보 i. 분석대상 [Figure 1.1.1 install.exe] 이번에분석해볼악성코드는패킹이전혀되어있지않은상태이며, 2013 년 2 월 25 일기준으로하 여대부분의백신에서업데이트가된악성코드이다. 악성코드에대한정보는아래와같다. [Figure 1.1.2 Packing 여부확인 ] 파일명원본파일명진단명파일크기 MD5 SHA1 SHA256 install2.exe (win32/exe) Server.exe (win32/exe) Win-Trojan/Scar.109568.U (Ahnlab) 109604 Bytes 2ea7a9853eb8944a4cafa69084318e10 1d6636e992b913b8783fdb42d295c46269e2da35 c579a7343eeee7b6d584e6f2f5f78d71871c46c7c0e2a7f09cacf12a4cbdd8a6 Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 3 / 14
[Figure 1.1.4 Virustotal 분석결과 ] Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 4 / 14
ii. 분석환경 악성코드의동적분석을위한가상환경과, 역분석을위하여다음과같은프로그램들을사용하 였다. 가상환경프로그램 VMware 9.0 가상환경운영체제 Windows 7 Ultimate x84 Debugger IDA 6.1, Ollydbg 1.10 Packing Checker Exeinfo PE 0.0.3.0 - Install Watch 2.5 - Process Explorer 동적분석프로그램 - Process Monitor - Wireshark - TCP View 또한, 보다안전한분석을위해네트워크패킷스트림을 Guest 에서 Host 로흐르도록설정하고 Host 에서 DNS 를변조시켜가상서버를재현해보이겠다. [Figure 1-2.1 VM Network Setting(Host-only)] Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 5 / 14
2. 동적분석 i. 주요파일변화분석 프로그램실행으로인한파일변화에대해알아보자. 먼저프로그램실행후생성된파일들이다. 파일명 크기 생성된시각 C:\Windows\Prefetch\INSTALL2.EXE-CEEF9765.pf 18KB 2013-02-26 오후 9:54:56 C:\Windows\System32\nehvey.exe 110KB 2012-05-14 오후 9:00:10 먼저자신을프리패치파일로등록함으로써자동실행을하려는목적을간단히알수있다. 또한, 무작위여섯자리의알파벳이름의새로운파일을낳아서시스템폴더에넣는것을알수있는데, 파일을조사해보면 install2.exe와동일한체크섬을지니고있는것을알수있다. 즉, install2.exe가자가복제를한것이된다. [Figure 2-1.1 install2.exe 의해쉬와 nehvey.exe 의해쉬비교 ] 삭제된파일또는수정된파일은딱히짚고넘어갈만한악의적인행동이포착되지않았으므로생 략하도록하고, 레지스트리의변화에대해알아보도록하자. Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 6 / 14
ii. 주요레지스트리변화분석 수정된레지스트리나삭제된레지스트리의경우수상한부분이없었기에추가된부분에대해서만 언급하겠다. 서브키값데이터 Type dword:00000010 Start dword:00000002 ErrorControl dword:00000000 ImagePath hex(2):43,3a,5c,5 7,69,6e,64,6f,77,7 3,5c,73,79,73,74, 65,6d,33,32,5c,6e,65,68,76,65,79,2 e,65,78,65,00, DisplayName "Nationalwkg Instruments Domain Service" ObjectName "LocalSystem" Description "Providesbse a domain server for NI security." 등록되는레지스트리의옵션을통해, 우선 Nationalnvk라는이름의서비스를등록하고 C:\Windows\system32\nehvey.exe 를가리키게함으로써시스템시작시서비스를자동실행시키려는목적을알수있다. 또한, 이상한 (?) 영어단어에서도정상적인프로그램이아닌악성코드의낌새가느껴진다는사실을알수있다. 아래는실제악성코드의서비스탭을캡쳐한이미지이다. Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 7 / 14
[Figure 2-2.1 Nationalwkg Instruments Domain Service] 이밖에도네임스페이스카탈로그, 프로토콜카탈로그부분을수정하는등의네트워크에장애를 줄수있는부분도있었지만실제값변화는없었기에생략한다. Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 8 / 14
iii. 네트워크스트림분석 우선, 기본적인네트워크환경구성은위분석환경에서말한바가있다. host-only 모드를통해 VM 상의패킷을호스트에서분석하면외부로패킷이나가지않을뿐더러, 악성코드가패킷캡쳐 프로그램을감지하여종료시키는일도막을수있다. 우선캡쳐를위해 Host 환경에서 VM 의 Network Adapter 를설정해주자. [Figure 2-3.1 - Wireshark Capture Interfaces] Guest 의게이트웨이를어댑터로잡고패킷을캡쳐해보면다음과같은패킷을볼수있다. [Figure 2-3.2 Guest 가 tuhon1542.codns.com 으로 DNS Query 를보냄 ] tuhon1542.codns.com 에 DNS 질의를보낸다. 간단한호스트변조를통해 tuhon1542.codns.com 을 Host IP 로바꾼후, 다시패킷을살펴보자. [Figure 2-3.3 Guest 의 hosts 파일 ] Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 9 / 14
[Figure 2-3.4 1021 포트로접속을시도하나, 포트가닫혀있어 RST 되는모습 ] [Figure 2-3.5 1021 의목적지포트를지니고있다.] 이를통해 tuhon1542.codns.com:1021 로접속한다는것을알수있다. nc.exe 를통해 1021 포트를 열고어떤데이터를전송하는지관찰해보자. [Figure 2-3.6 nc.exe 를이용하여 1021 번포트를리스닝한상태 ] Guest 컴퓨터의운영체제, 유저명, 램및 CPU 의정보를 C&C 서버로보내는것을알수있다. 이밖에도 Vip2010-0818 이라는데이터를보내는데이는악성코드의고유번호로추측된다. Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 10 / 14
3. 정적분석 정적분석프로그램으로 IDA 6.1 을사용하였다. 까다로운패킹이없었기때문에비교적쉽게분석 할수있었다. [Figure 3.2 URLDownloadToFile] 외부에서의파일다운로드를통해악성코드를추가적으로감염시키기위한루틴으로사용되는구 간이다. 다운로드후 WinExec 로악성코드를실행시키는것을알수있다. [Figure 3.2 서비스생성 ] Nationalnvk 서비스를생성하고다중실행방지를위해 CreateMutex 함수를사용한다. 제일아래 에 WSAStartup 함수를통해소켓초기화를하는것으로보아소켓을사용한다는것또한알수 있다. Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 11 / 14
[Figure 3.3 서비스실행 ] 서비스가실행되었으니 StartServiceCtrlDispatcher 가실행되면서 SCM 에게서비스의실행을알려 준다. [Figure 3.4 감염된 PC 의정보를가져온다 1] Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 12 / 14
[Figure 3.5 감염된 PC 의정보를가져온다 2] 감염된 PC 의각종정보들을수집하는부분이다. 나중에는이를 Send 를통해전송하는것을볼 수있다. [Figure 3.6 스레드를여러개생성하고있다.] 또, 스레드를여러개생성해내는것을볼수있는데이는 DDoS 공격을위한좀비 PC 들의패턴 과유사한것을알수있다. Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 13 / 14
4. 결론 결론적으로악성코드가하는역할은다음과같다. 1. 자기자신을서비스로등록시킨다. 2. 연결할때마다감염된 PC 의 OS, Memory, CPU 정보를전송한다. 3. 연결후 C&C 서버의명령을대기한다. 4. 서버명령시다수의스레드를생성하여특정주소로공격 5. 치료방법 AutoHotKey 를이용해간단한복구프로그램을제작했다. 서비스를중지시킨후, 삭제하고복제 파일역시삭제하는간단한루틴으로이루어져있다. 무작위성을지닌악성코드복제파일은서 비스추가후등록되는레지스트리를이용해찾을수있었다. 소스코드는다음과같다. RegRead, key, HKEY_LOCAL_MACHINE, SYSTEM\CurrentControlSet\servi, ImagePath if(key = Done){ MsgBox, Malware Not Found. Exitapp } else{ MsgBox, Malware is here! -> %key% #Requires Administrator Level# Run, sc stop "Nationalnvk" Run, sc delete "Nationalnvk" FileDelete, %key% Exitapp } [Figure 5.1 Malware Detector.exe] Win-Trojan/Scar.109568.U 악성코드분석보고서 Page 14 / 14