삽이 부서질 때까지 삽질

Cuckoo SandBox 구축 본문

Tool

Cuckoo SandBox 구축

xinfo 2016. 11. 30. 09:44

쿠쿠 샌드 박스 구축 해놓은 서버가 있었는데 안돌아가서 다시 구축했는데 ... 시간이 좀 걸린... 눙물...

제가 구축한 버전은 쿠쿠샌드 박스 1.2 버전이고 현재 최신 버전은 2.0 버전입니다.

2.0으로 안한 이유는 단지 귀찮아서?...

나중에 새롭게 해야죠...



먼저 필요한 라이브러리 및 실행 파일들을 설치합시다.


$ sudo apt-get install python-dev libtool byacc flex bison git automake python-pip mongodb libfuzzy-dev libvirt-dev tcpdump subversion virtualbox vim curl python-lxml



그리고 야라 3.3.0 버전을 설치!!
하려면 다운을 받아야겠죠.

$ wget https://github.com/plusvic/yara/archive/v3.3.0.tar.gz -O yara_3.3.0.tar.gz


압축을 풀고 디렉토리로 이동 후 권한을 바꿔주고 빌드를 합니다.

$ tar xfz yara_3.3.0.tar.gz
$ cd yara-3.3.0
yara-3.3.0 $ sudo chmod +x build.sh
yara-3.3.0 $ ./build.sh


install 파일을 make 해주고 install 해줍니다.


yara-3.3.0/yara-python $ sudo make install

yara-3.3.0 $ cd yara-python

yara-3.3.0/yara-python $ sudo python setup.py install




그리고 테스트 해주고 버전을 확인합니다.


yara-3.3.0/yara-python $ sudo ldconfig

yara-3.3.0/yara-python $ python tests.py

yara-3.3.0/yara-python $ yara –v



이렇게 야라 설치는 끝!

다시 처음으로 돌아옵니다. 


yara-3.3.0/yara-python $ cd ../..





이번에는 쿠쿠 1.2 를 받아봅시다!



$ wget http://downloads.cuckoosandbox.org/1.2/cuckoo_1.2.tar.gz



$ tar xfz cuckoo_1.2.tar.gz

cd cuckoo

cuckoo $ vim requirements.txt


sqlalchemy==0.9.9

bson==0.4.2

jinja2==2.8

pymongo==2.9.3

bottle==0.12.9

pefile==2016.3.28

django==1.6

chardet==2.3.0

nose==1.3.7

dpkt==1.8.7

pydeep==0.2

distorm3==3.3.4

pycrypto==2.6.1


위의 내용을 입력하신 뒤 저장!



그리고 pip 로 한번에 인스톨!


$ sudo pip install –r requirements.txt





자 쿠쿠 샌드 박스까지 끝났습니다.

이제 메모리 덤프를 위해 볼라틸리티를 설치해봅시다!


역시나 다운부터 시작


$ wget https://github.com/volatilityfoundation/volatility/archive/2.5.tar.gz -O volatility-2.5.tar.gz



압축해제하고 이동하는 건 스킵... 그리고 install 만들고 실행!


$ tar xfz volatility-2.5.tar.gz

$ cd volatility-2.5.tar.gz

volatility-2.5 $ sudo make install

volatility-2.5 $ sudo python setup.py install

volatility-2.5 $  cd ..



이렇게 볼라틸리티까지 끝!!

이제 얼마 안남았어요!!!


tcpdump 권한을 설정해주고!


$ sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump



MAEC 레포트를 위한 파이썬 라이브러리를 설치해줍니다~


$ sudo pip install cybox==2.0.1.4

$ sudo pip install maec==4.0.1.0



이제 virtualbox에 취약한 xp를 설치 해줍니다!

이때 이름을 설정해주실텐데 이 이름으로 쿠쿠 환경설정할 때 사용하기 때문에 잘 지어주세요. ㅎ




그리고 설치가 다되셨으면 1차 스냅샷!!


이제 환경을 구축합시다.

xp에 설치해줘야 하는건 python 2.7 과 python-pil 1.1.7 버전입니다~

구글링하면 바로 다운로드가 나오는 것들이지만...

[이때 우분투에서 설치한 파이썬 버전과 os 에 설치한 파이썬 버전이 일치해야 오류가 발생하지 않습니다.]



Downloads.z01

Downloads.zip


두가지를 압축해서 올려 놓을게요.

귀찮으시면 다운 받으셔서 옮기시면 될거 같네요.


cuckoo/agent 를 공유 폴더로 agent.py를 xp 에 옮깁니다.



저는 귀찮아서 Documents에 넣어두고 옮긴 뒤 공유를 끊었네요 ㅎ

그리고 네트워크에서 브릿지로 설정합니다.



마지막으로 고정 ip를 설정해주시면 됩니다.



마지막으로 agent를 실행하고 스냅샷!!


이제 환경설정에 들어가겠습니다.


먼저 cuckoo.conf 파일을 수정하겠습니다.



내려가시다보면 resultserver이 보이는데 해당 아이피는 우분투 ip를 입력하시면 됩니다.



저는 virtualbox를 사용해서 구축했기 때문에 virtualbox.conf 를 수정하겠습니다.

만약 vmware 면 vmware.con 를 수정하시면 됩니다.



machines 가 보이는데 이건 위에서 xp를 설치할 때 설정했던 가상 os 이름입니다. 


[가상os_이름]

label = 가상 os_이름

platform = [가상 os]

ip = [고정한 ip 주소]


으로 하시면 됩니다.

그리고 자세하신건 주석을 읽으시면 됩니다.



마지막으로 tcpdump를 위해서 인터페이스를 변경해주는데, 저는 ens33 로 잡았기에 ens33으로 변경합니다.



나머지 옵션들은 적혀있는 주석을 읽으시면서 필요한 옵션이 있으시면 on 해주시면 될거 같네요.



쿠쿠를 실행하기 위해 2가지를 해야합니다.

cuckoo 디렉터리에 들어있는 cuckoo.py를 실행합니다.



그리고 cuckoo/web 에 있는 manage.py를 실행하시면 됩니다.


python manage.py runserver ip:port 


그리고 서버를 종료하고 다시 실행하면 포트가 중복되서 실행이 안될 때가 있던데...

이때는 그냥 닫아주면됩니다.



sudo fuser -k 8080/tcp                          //포트 열려있나 확인

sudo lsof -t -i tcp:8080 | xargs kill -9        //죽이기


쿠쿠샌드 박스가 용량이 가득차서 오류가 많이 나올땐 cuckoo/storage 에서 파일들을 삭제하시면 됩니다.

패턴을 패치하고 하실 땐 cuckoo/util/community.py -fab 1.2 를?... ㅋㅋ




넣어본건 파이썬 설치 파일입니다.

가상 os에 실제 환경처럼 구축해놓고 테스트하면 더욱 좋은 결과가 있지 않을까요? ㅎ



저도 이것저것 배우는 학생입니다.

틀렸거나 오류가 있으면 지적부탁드립니다.


PS. 쿠쿠 샌드 박스 2.0 으로 업그레이드 해야하는데 언제 하지...


'Tool' 카테고리의 다른 글

utmp, wtmp parser를 제작해 보았다  (0) 2016.12.21
Nmap 을 사용하여 정보 수집  (0) 2016.11.13
MSFvenom 을 이용한 악성코드 제작  (0) 2016.11.13
칼리 설치법  (0) 2016.11.12
Comments