한국어

tc_backup

악성코드를 분석하기 위해 무작정 Debugger를 사용하여 리버싱하는 행동은 오히려 분석을 비효율적으로 만들어 상당한 시간을 소요하게 할 수 있다. 또한 간단하게 어떠한 악의적인 행동을 하는지 분석하고자 할 때 효율적이지 못하다.

최근에는 자동화 툴을 이용하여 어느 정도 행동 패턴을 파악할 수 있는 툴이 존재하며 예를 들면 SysAnalyzer 같은 툴이 존재한다. 본인도 SysAnalyzer를 사용하여 간단하게 행동 패턴을 분석하고 난 다음 상세한 분석을 시도하는 편이다.

해외 사이트를 웹서핑하다가 Zerowine이라는 툴을 알게 되었고, 한번쯤 사용해봐야겠다고 마음먹고 있었는데, 생각보다 새로운 것을 접하는 행동은 번거로움이 따르는 일이라 지금에 이르러서야 사용해 볼 수 있었다.

관련 정보를 찾아 본 결과 Debian 기반의 자동 악성코드 분석 툴이라는 정보를 확인했고, QEMU나 VMware를 사용하여 이용할 수 있다는 것을 알 수 있었다.

QEMU가 무엇인지 확인하여 보았더니 VMware와 같은 가상 머신 소프트웨어라고 한다. 그러나 GUI 인터페이스를 지원하지 않고 성능이 VMware보다 우수하지 못하여 최근에는 많이 외면(?)받는다고 한다.

처음에는 QEMU로 Zerowine을 에뮬레이트할려고 했는데 QEMU를 윈도우용으로 받아서 해서 그런지 몇 가지 오류가 발생해서 그냥 VMware로 사용해보았다.

qemu-img.exe convert c:\zerowine_vm\zerowine.img -O vmdk c:\zerowine_vm\zerowine.vmdk


위와 같은 QEMU의 컨버트 기능으로 zerowine.img 파일을 zerowine.vmdk으로 컨버팅 시켰다.

Vmware용 이미지로 만들었으므로 VMware에서 새로운 가상 머신을 추가하여야 한다. 데비안 기반이므로 Linux를 선택하고 커널 버전 정보를 2.6.x kernel로 선택한다.

이것저것 설정하면서 메모리는 256정도로 설정하고 네트워크는 NAT로 설정한다. 그러나 악성코드 분석 시에는 NAT로 할지 Host Only로 할지 상당히 잘 선택하여야 한다. 본인은 NAT로 설정하였지만 NAT로 설정하여 동일 네트워크에 악성코드를 감염 전파시키는 경우가 발생할 수 있으므로 선택에 신중을 기하길 바란다.

디스크와 관련된 부분에서는 새로운 가상 디스크를 만들 필요가 없다. Zerowine를 VMware 이미지로 만들어 놓은 것이 있으므로 기존에 만들어놓은 것을 사용하면 된다.

계속 Next를 하다 보면 최종에서 VMware 버전에 따라 컨버팅할 것인지 그냥 쓸 것인지 선택하는 메뉴가 나올 수 있지만 그냥 사용하여도 무관하므로 그냥 사용하는 것을 선택하면 된다.

새로운 가상머신 추가가 완료되면 자동으로 리눅스 부팅이 되며 정상적으로 부팅 되면 로그인하여야 하는데 로그인 계정은 root이며 비밀번호는 zerowine을 입력하면 로그인 할 수 있다.

악성코드를 분석을 하고자 하는 사람이라면 리눅스를 사용해 본 사람일 것으로 판단이 된다.

Ifconfig 명령을 사용하여 이더넷 어댑터(랜카드)가 잡혔는지 확인한다. 정상적으로 잡히고 ping과 같은 명령을 사용하여 외부와 연결 테스트를 확인하여 정상적이라면 NAT 설정을 통하여 자동으로 인터넷을 잡은 것이다.

본인의 경우는 VMware의 DHCP 기능을 꺼놓고 사용하기 때문에 ifconfig 명령을 사용하였더니 lo 라는 loopback 장치만 확인이 가능하였다.

eth0에 ip를 설정하였으나 장비가 없다고 한다. 바로 eth1에 설정하였으니 정상적으로 설정이 되었다. route 명령어를 사용하여 외부와의 통신을 허용할지 말지는 위에서 언급하였듯이 본인에게 달려있는데 필자는 통신을 허용하기로 하였다.

route add default gw 192.168.8.2


이제 네트워크 설정이 완료되었다.

Zerowine의 경우 Web을 통하여 악성코드를 업로드하고 결과를 확인이 가능하다. 8000번 포트를 사용하여 웹으로 접근이 가능하게 만들어져 있다. 그러므로 웹브라우저를 이용하여 http://192.168.8.100:8000/에 접속하였더니 아래와 같은 페이지가 뜬다.

파일을 업로드 할 수 있고 Analyze memory 옵션도 제공하고 있다.

위와 같은 검색 결과를 보여주며 Analyze Memory 옵션을 선택하게 되면 위와 같이 메모리 상에 올라간 데이터를 dump할 수도 있다.

Report 메뉴를 누르면 위와 같이 정보가 나오게 되고 다시 Report 메뉴를 누르면 해당 정보가 사라지게 된다.

Strings 메뉴를 선택하였을 때의 모습이다.

File Header 메뉴를 선택했을 때의 모습이다. PE 구조를 기반으로 정보가 나오게 되고 Import 되는 함수를 확인할 수 있다.

Signature 메뉴를 선택했을 때이다. 테스트에 사용된 악성코드의 경우 시그너쳐 정보로 "___b0th____" 라는 뮤텍스를 생성한 정보에 대하여 확인이 가능하다.

python 기반으로 제작된 것으로 보이며 가상 머신이므로 시스템에 감염될 염려가 없으므로 안전하다는 점을 장점으로 볼 수 있지만 언제나 그렇듯 자동화 툴 만으로는 부족한 부분을 경험하게 되므로 전적으로 신뢰하지 말고 참조하는 용도로 사용하면 적당한 툴로 보인다.

Zerowine :
http://sourceforge.net/projects/zerowine

QEMU :
http://www.nongnu.org/qemu/

참고사이트:
http://zenfosec.blogspot.com/2009/01/automated-malware-analysis-with.html
http://space.zdnet.com.cn/html/72/313972-2779965.html

서민수

2009.04.15
19:53:24
(*.249.126.21)
형님 +_+ 잘보았습니다 +_+!!!

엔신

2009.04.15
22:16:29
(*.248.95.104)
언제왔어 ㅋㅋ
요즘들어 아는사람들이 자주 들어오네..
아흥.. 자주 업데이트해야되는데 시간이 안나네...

eew

2009.12.28
01:49:22
(*.232.113.179)
잘 읽고 갑니다.

저도 zerowine을 써보고 싶었는데 덕분에 삽질을 줄이게 되었네요.

엔신

2009.12.30
19:34:56
(*.236.141.97)
ㅎㅎ 그냥 사용기 정도인데 도움 되신다면 잘된일이죠.
List of Articles
번호 제목 글쓴이 날짜 조회 수
160 Windows Windows Vista의 볼륨 섀도 복사본 관리 또는 백업 파일 추출 file 엔신 2009-04-16 22506
159 ETC SK브로드밴드 주택광랜(100M) 가입~ file 엔신 2009-04-08 9965
158 Incident Response Dcode - Forensic Date/Time Decoder file 엔신 2009-04-05 13108
» Malware Zero Wine Malware Analysis Tool [4] file 엔신 2009-04-05 23113
156 Security ARP Spoofing(ARP Cache Poison) 참고 file 엔신 2009-03-31 24877
155 Wireless WirelessKeyView 엔신 2009-03-21 9733
154 RCE [Unpack] MEW 11 1.2 -> NorthFox/HCC file 엔신 2009-03-20 19141
153 RCE [Unpack] UPX_+_UNOpix_Scrambler 1.10 secret 엔신 2009-03-18  
152 RCE [Unpack] USSR_0.31 [2] [1] file 엔신 2009-03-17 13042
151 Security 범죄적으로 지능화된 싸이월드 방문자 추적기 [6] file 엔신 2009-03-16 20786
150 RCE [Unpack] VCrypt0[1].9b 엔신 2009-03-14 9409
149 Malware 악성코드 정의 엔신 2009-03-14 13611
148 Malware [Trojan] Tigger/Syzor.A file 엔신 2009-03-13 9986
147 Windows VMware VMwareDnD 폴더 엔신 2009-03-07 33110
146 Malware BlackEnergy_DDoS_Bot_분석 [2] file 엔신 2009-02-25 9184
145 RCE [MUP] UPX & Stolen Bytes [2] file 엔신 2009-02-17 36716
144 Linux Linux find 명령어 완전 정복 가이드 엔신 2009-02-10 9506
143 RCE vmware에서 Kernel Debugging 하기 엔신 2009-01-31 20163
142 DBMS mysql 설치 후 root 비밀번호 설정, db 생성 엔신 2009-01-31 12727
141 Security base64 code 표 file 엔신 2009-01-20 40206