설치하면서 작성하는 글.

0. 읽기 전에

버전이 많이 달라져서 이 글대로 하면 잘 안된다네요~

1. 버추얼박스에 우분투 설치

img_1.png

윈도우 쓰는 중인데 노트북에 남은 공간이 별로 없어서 파티션을 나누는 대신 가상머신 안에 설치하기로 했다.

그리고 파티션 나눠서 했다가 윈도도 지워버릴까봐 무섭

글 다쓰고 추가로 적는 건데 12 정도로 할 걸 그랬다

2. 우분투 세팅

img_2.png

게스트 확장 시디도 넣고

img_3.png

업데이트도 하고 재시작했다.

3. 준비과정

pip하고 그밖에 필요한 것들

sudo apt install python python-pip python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg-dev

몽고DB도 설치

sudo apt install mongodb

pip도 업데이트. 굳이 할 필욘 없지만..

sudo pip install -U pip setuptools

그리고 글에선 git 쓸 일이 좀 있으니까 git도 설치

sudo apt install git

4. ssdeep, pydeep 설치

ssdeep를 설치하기 위해 필요한 의존성 머시기라고 한다. 복붙해서 쓰자.

sudo apt install build-essential libffi-dev python python-dev python-pip automake autoconf libtool

그리고 pip으로 ssdeep 설치

sudo BUILD_LIB=1 pip install ssdeep

pydeep도 잘 설치

sudo apt install libfuzzy-dev
sudo pip install pydeep

5. tcpdump 설치

순서대로 잘 입력해보자. 근데 입력하니까 libcap2-bin이랑 tcpdump 이미 설치돼있었음.

sudo apt install libcap2-bin
sudo apt install tcpdump
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump

img_4.png

아래 명령어를 입력해서 스크린샷처럼 출력되면 잘 된거

getcap /usr/sbin/tcpdump

6. yara, yara-python 설치

yara는 github에서 받음. https://github.com/VirusTotal/yara/releases 에서 받음

sudo apt install automake libtool make gcc
wget https://github.com/VirusTotal/yara/archive/v3.5.0.tar.gz
tar -zxf v3.5.0.tar.gz
cd yara-3.5.0

그리고 설치

./bootstrap.sh
./configure
make
sudo make install
cd ~

이제 yara-python 설치하면 되는데, 이건 pip으로 설치. 편해서 참 좋다.

sudo pip install yara-python

7. volatility, distorm 설치

메모리 분석까지 하고 싶을 때 설치하는 선택사항.

pip에서 검색해보니까 버전이 낮아서 github에서 받아서 설치.

git clone https://github.com/volatilityfoundation/volatility.git
cd volatility
python setup.py build
sudo python setup.py install
cd ~

distorm은 볼라틸리티의 apihooks 플러그인에서 쓰는 패키지라고 http://www.hakawati.co.kr/272 를 쓰신 분이 말해주셨다. 이것도 설치

git clone https://github.com/gdabah/distorm.git
cd distorm
python setup.py build
sudo python setup.py install
cd ~

8. cuckoobox 다운로드, 필요한 패키지 설치

cuckoobox를 받고 필요한 패키지를 정리해놓은 requirements.txt도 한꺼번에 설치하자. 넘 편한것

git clone https://github.com/cuckoosandbox/cuckoo.git
cd cuckoo
sudo pip install -r requirements.txt
cd ~

운 안좋은 사람은 모듈 하나쯤 삑사리나면서 설치 안될듯

9. 버추얼박스 설치

img_5.png

https://www.virtualbox.org/wiki/Linux_Downloads 에서 버전에 맞는 deb 다운로드. 이 글에선 16.04 amd64

img_6.png

이것도 같이 받음. 우분투 소프트웨어로 실행하면 잘 설치해준다.

img_7.png

받은 김에 확장팩도 설치

10. 버추얼박스에 xp 설치

쿠쿠박스 문서에서는 xp 서비스팩3을 권장한다. 윈도우7도 되긴 된다는 듯.

이 글에서는 https://az412801.vo.msecnd.net/vhd/VMBuild_20141027/VirtualBox/IE8/Windows/IE8.XP.For.Windows.VirtualBox.zip 를 받아서 사용했다.

wget https://az412801.vo.msecnd.net/vhd/VMBuild_20141027/VirtualBox/IE8/Windows/IE8.XP.For.Windows.VirtualBox.zip
unzip IE8.XP.For.Windows.VirtualBox.zip

img_8.png

압축을 풀면 나오는 IE8-WinXP.ova는

img_9.png

잘 import하면

img_10.png

11. 버추얼박스 설정

호스트 전용 어댑터로 해놓으면 앞으로 설정할 때 좀 편하다.

img_11.png

버추얼박스의 환경설정에서 호스트 전용 어댑터를 하나 추가한다. 왠만하면 vboxnet0으로 설정을 진행하는 게 좋다.

img_12.png

DHCP 서버는 자동으로 설정돼있을 텐데, 만약 안돼있다면 이렇게 192.168.56 라인으로 잘 맞춰놓는다.

img_13.png

그리고 xp 설정에서 방금 추가한 호스트 전용 어댑터를 설정해준다.

img_14.png

그리고 머신 이름은 cuckoo1로 바꿔놓는다. 그래야 앞으로 설정할 때 편함.

img_15.png

공유폴더 설정도 해주면 이따가 편함.

12. xp 설정

공유폴더로 xp에 옮겨줄 파일은 4개가 있다.

python, PIL, agent.py, ProcessExplorer

PIL 최신 버전은 http://www.pythonware.com/products/pil/에서 확인하면 됨. agent.py는 아까 받은 cuckoo 폴더 안에 있는 것. 프로세스 익스플로러는 글 맨 위에 쓴 링크에서 따라함. 받아서 공유폴더로 옮겼다.

wget https://www.python.org/ftp/python/2.7.12/python-2.7.12.msi
wget http://effbot.org/media/downloads/PIL-1.1.7.win32-py2.7.exe
wget https://raw.githubusercontent.com/cuckoosandbox/cuckoo/master/agent/agent.py
wget https://download.sysinternals.com/files/ProcessExplorer.zip

이 시점에서 재시작 한번 함.

이제 xp 가상머신을 실행해서 게스트 확장을 설치하고,

img_16.png

ip도 확인해준다. 192.168.56.101이면 나중에 설정할 때 편하다.

img_17.png

파이썬 설치하고

img_18.png

PIL도 설치하고

img_19.png

방화벽도 해제하고

그리고 스크린샷은 안찍어놨는데 자동 업데이트도 끄고 페이징 파일도 꺼준다.

img_20.png

agent.py랑 procexp.exe를 실행하고 스냅샷을 SnapShot1(띄어쓰기 없이)으로 저장했다. 스냅샷 이름을 저렇게 해야 설정할때 편함ㅎ

13. 쿠쿠박스 설정

virtualbox.conf 편집함

vi ~/cuckoo/conf/virtualbox.conf

지금 버추얼설정대로 잘 있는지 확인하고, 주석처리 상태면 주석을 제거해줌

interface = vboxnet0
machines = cuckoo1
ip = 192.168.56.101
snapshot = Snapshot1
resultserver_ip = 192.168.56.1
resultserver_port = 2042

볼라틸리티를 설치했으니 processing.conf도 수정함.

vi ~/cuckoo/conf/processing.conf

img_21.png

[memory]에서 enabled = yes로 설정했다.

cuckoo.conf도 수정

vi ~/cuckoo/conf/cuckoo.conf

img_22.png

memory_dump = yes로 설정

그리고 memory.conf도 수정

vi ~/cuckoo/conf/memory.conf

들어가서 모든 옵션을 enabled = yes로 바꿨다. 그런데 글을 보면 결과가 엄청 오래 걸리니까 필요한 옵션만 체크하라고…

==== 2016-11-02 수정 ====

api hooking과 message hooking만 엄청 느리니까 속도가 중요하면 이 두 개만 no로 하면 된다.

dump delete 여부는 하드 용량에 따라 결정.

====================

14. 유저 설정과 아이피테이블 설정

사실 깜빡하고 쿠쿠박스를 먼저 실행했는데, 리눅스에서 설정을 좀 해줘야 한다.

이건 유저 설정

sudo adduser cuckoo
sudo usermod -a -G vboxusers cuckoo

이건 포워딩 설정..

sudo iptables -A FORWARD -o eth0 -i vboxnet0 -s 192.168.56.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE
sudo sysctl -w net.ipv4.ip_forward=1

포워딩 설정을 안하면 네트워크가 안된다.

15. 쿠쿠 샌드박스 실행

==== 2016-11-02 수정 ====

쿠쿠 샌드박스 실행 전에 아래 두 명령어를 입력해놓자.

VBoxManage controlvm "cuckoo1" poweroff
VBoxManage snapshot "cuckoo1" restorecurrent

====================

cuckoo.py를 실행하기만 하면 된다.

cd ~/cuckoo
python cuckoo.py

img_23.png

아씨

저기서 하란 대로 명령어를 더 쳐주고 다시 cuckoo.py를 실행했다.

==== 2016-11-02 수정 ====

python ./utils/community.py -wafb monitor에서 python ./utils/community.py -wafb 2.0로 수정

====================

sudo pip install pycrypto
python ./utils/community.py -wafb 2.0

img_24.png

문서를 읽으면서 뭐가 나오길래 뭔진 몰라도 하나 설치했다. 근데 안해도 될듯….

==== 2016-11-02 수정 ====

정말 안해도 됨

====================

sudo apt install samba-common-bin

16. 웹 인터페이스

쓰기 귀찮당…

cd ~/cuckoo/web/
python manage.py runserver

새로 쉘을 열어서 이거 써서 엔터치면

img_25.png

이런 게 뜰리가 업는디…

웹 인터페이스를 활성화하려면 reporting.conf를 설정해줘야 한다.

vi ~/cuckoo/conf/reporting.conf

img_26.png

이렇게 yes로 변경해주고 다시 manage.py를 실행하면

img_27.png

됐다ㅎㅎ

참고

http://docs.cuckoosandbox.org/en/latest/installation/host/installation/

http://lureout.tistory.com/213

http://cpuu.postype.com/post/325368/