본문 바로가기

🚀프로젝트

[악성코드 분석] Cuckoo Sandbox VirtualBox 이용해서 구축하기(3)

3. 게스트 인 게스트 스펙 - Sandbox

운영체제: 윈도우 7 엔터프라이즈 SP1 32비트

가상머신: 버추얼박스(Virtualbox)

CPU: 가상 CPU 1코어

메모리: 512MB

아이피: 192.168.56.101

서브넷마스크: 255.255.255.0

게이트웨이:192.168.56.1

9) Ubuntu에서 xp 설치, 설정

※  가상환경에서 가상환경을 설치하는 것이기 때문에 속도가 굉장히 느릴 것이다. 최대한 우분투와 xp머신에 램을 할당해주자, 가장 좋은 것은 우분투내에서 설치하는 것이지만 win10에서 xp이미지를 ova파일로 내보내서 그 xp이미지로 우분투에 설치하는 방법도 있다. 실제로 테스트 해봤는데 두번재 방법은 될 때도 있고 안 될때도 있다.

자신의 램이 8G이상이고 우분투에 4G할당하면 설치하는데 큰 문제는 없을 것이다.

 

1. sudo apt-get install -y virtualbox
2. sudo usermod -a -G vboxusers cuckoo

3. virtualbox

4. xp 가상환경 생성 램은 우분투의 할당받은 램의 반으로 잡아주고 이름은 xp32로 했다.

5. xp 생성(한글판 보단 영문판 추천)

 

New 클릭해 xp32 설치

 

ctrl + G 를 누른다. 그러면 사진과 같은 창이 뜬다. Network를 선택하고 Host-only Networks를 선택하고 왼쪽에 +모양의 아이콘을 클릭한다. 그러면 vboxnet0이 추가된다.

이 사이트에서 iso를 다운 받는다.

xp32 iso 추가
네트워크를 호스트 온리 어댑터로 잡아준다.

xp32 start

ENTER
F8
ENTER
ENTER
ENTER
포맷 기다리기
다음
이름 입력하고 다음 (소속은 입력 안해도 된다)
Product Key  H93M4-R9D77-PQT48-HKB64-9RY6Q  입력하고 다음
컴퓨터 이름 입력하고 다음 ( 암호는 입력 안해도 된다.)
서울 시간대 그대로 사용할 것이기 때문에 다음
네트워크 설치 중인 화면
다음
다음
확인 클릭
확인 클릭
다음 클릭
나중에 다시 알림 선택 후 다음 클릭
LAN 선택 후 다음 클릭

IP주소: 192.168.56.101

서브넷 마스크: 255.255.255.0

기본 게이트웨이: 192.168.56.1

DNS 서버는 win10에서 cmd -> ipconfig /all 에서 나오는 DNS 서버로 설정해준다.

아니요 선택 후 다음 클릭
사용자 이름 입력 후 다음 클릭
마침 클릭

1. ping으로 우분투와 xp가 서로 통신이 되는지 확인

2. xp에서 익스플로러를 켜서 인터넷이 연결 됐는지 확인

 

1번이 안되면 버추얼박스 호스트 어댑터 설정이 잘못된 것이고

2번이 안되면 위에서 8)라우팅 설정이 제대로 안된 것이다.

 

게스트확장 설치

[Devices] -> [Insert Guest Additions CD image...] 클릭
Download 클릭
Download 클릭
Insert 클릭
Next 클릭
Next 클릭
Install 클릭
계속 클릭
계속 클릭
계속 클릭
Finish 클릭

python 2.7.14 windows x86(https://www.python.org/downloads/release/python-2714/) 우분투에 다운받은 후 /home/cuckoo/.cuckoo/agent/ 에 저장하기 (.cuckoo가 보이지 않으면 [Ctrl+H])

(xp32에서 python 홈페이지 접속이 안되서 우분투에서 다운받고 공유폴더로 옮기자)

공유 폴더 

[Devices] -> [Shared Folders] -> [Shared Folders Settings]
+ 클릭
/home/cuckoo/.cuckoo/agent/
[내 컴퓨터] -> [도구] -> 네트워크 드라이브 연결
찾아보기 클릭
VirtualBox Shared Folders아래에 \\VBOXSVR\agent 선택후 확인 클릭
마침 클릭
agent.py와 python 2.7.14 windows x86를 xp로 복사하기

python 2.7.14 windows x86설치하기

python-2.7.14 installer 더블클릭해서 실행한 후 Next
Next
Next
Finish

agent.py 실행(더블클릭)

4. xp의 스냅샷 찍기

1. VBoxManage snapshot"xp32" take "Xnapsho1" --pause

("xp32"는 virtualbox에서 xp32 설치할 때 xp32의 이름이고, Snapshot1은 스냅샷 이름이다.)

 

2. xp32 virtualbox 끄기

VboxManage controlvm "xp32" poweroff

 

3. resotre하기

VBoxManage snapsot "xp32" restorecurrent

 

Snapshot1이라는 이름으로 스냅샷이 찍혀있다.

 

10) Cuckoo Sandbox 설정

 

이제 cuckoo를 실행하기 위해 설정을 바꿔야 하는데, 이 글의 경우 공식 홈페이지의 가이드대로 해서 거의 수정할 것이 없다. VirtualBox를 쓰지 않았거나, 우분투와 xp의 네트워크 설정을 다르게 한 경우 수정해야할 것이다. 설정파일의 위치는 /home/cuckoo/.cuckoo/conf에 있다.

 

여기서 살펴볼 conf 파일은 다음과 같다.

1. cuckoo.conf

ignore_vulnerabilities = yes ( no라고 되어 있는데 yes로 바꿔준다. virtualbox관련 error 무시하기 위함)

...

machinery = virtualbox (버추얼 박스)

...

ip = 192.168.56.1 (우분투 호스트 어댑터의 ip)

 

위와 같이 설정되있을 것인데 이 글을 따라서 했다면 따로 수정할 필요가 없다.

 

2. virtualbox.conf

...

[cuckoo1]
# Specify the label name of the current machine as specified in your
# VirtualBox configuration.
label = cuckoo1

...

label = cuckoo1이라 되어있는데 자신이 설치한 xp 머신의 이름으로 바꾼다. 버추얼 박스에서 실행하면 나오는 머신의 이름이다.

 

3. reporting.conf

...

[mongodb]
enabled = no

...

enabled = yes로 수정한다.

 

이제 모든 설정이 끝났다.

11) Cuckoo Sandbox 실행, 테스트

터미널을 두개 열고 각각 다음과 같은 명령어를 입력한다.

1. 8) 라우팅 설정 쉘 스크립트 실행

sudo ./routing

이 쉘 스크립트를 실행해야 xp가 외부와 통신이 된다.

 

2. 첫번째 터미널

1. cd /home/cuckoo

2. . venv/bin/activate

3. cuckoo

첫번째 터미널이 성공적으로 실행되었을 때의 결과

3. 두번째 터미널

1. cd /home/cuckoo

2. . venv/bin/activate

3. cuckoo web runserver

두번째 터미널이 성공적으로 실행되었을 때의 결과

우분투의 파이어폭스로 http://127.0.0.1:8000로 접속한다.

SUBMIT A FILE FOR ANALYSIS를 클릭하면 파일을 찾아서 분석할 수 있다.

 

참고: ferretsecu.tistory.com/6

forensic-wetware.tistory.com/4,

gbworld.tistory.com/1176,

hsnlc.tistory.com/57,

m.blog.naver.com/PostView.nhn?blogId=bebe_yh&logNo=40168430050&proxyReferer=https:%2F%2Fwww.google.com%2F,

dia7691.tistory.com/4?category=797280