본문 바로가기

Malware/Analysis

cuckoo 설치

cuckoo ?
가상OS환경에서 악성 의심파일을 분석하여 수집한 정보를 보여주는 오픈소스 종류 중 하나입니다.

windwos 7, os x, debian의 분석 가능 환경을 제공하고 문서파일, 스크립트파일, 압축파일, 파이썬 파일 등 분석 가능 하다.

 

cuckoo 구조

cuckoo 모듈 구성도

auxilary 모듈 : cuckoo 분석환경 설정 가능 (sniffer, 가상머신환경제공, 분석환경 초기화, anti vm bypass 등)

machinery 모듈 : vmware, virtualbox 등 가상머신 제공 및 실행과 종료 기능

processing 모듈 :  악성코드를 23개의 모듈을 통해 프로세스정보, 네트워크패킷, 문자열, api 등의 정적/동적 정보를 수집하다.

signature 모듈 : cuckoo에서 제공하는데 악성코드 종류와 시스템에 따라 분류된 357개의 행위기반 패턴을 제공

report 모듈 : 악성코드 분석결과를 mongodb에 저장하고 웹페이지 형태로 보여준다.

 

cuckoo 설치

1. 준비

- ubuntu 64bit 이미지 
- 바탕화면에 share 폴더 생성 후 아래 파일 복사
  win7.iso
  python2.7.x
  PIL-1.1.7.win32-py2.7.exe (파이썬 스크린샷 모듈)

 

2. virtualbox 설치
- 램2G 하드 50G (안정적 운영위해 고정크기로 할당)
- 설정->저장소->광학드라이브->우분투 이미지 지정, 오디오사용해제
- 공유폴더설정->자동마운트->공유폴더명 share 선택

- 우분투설치->한국어->체험하기->바탕화면 ubuntu 설치-> 디폴트로 지금설치->한국어/한국어104키->
  이름/비번입력-> 완료하면 다시시작->장치->게스트확장cd이미지삽입->실행->비밀번호입력
- 공유폴더 마운트
  sudo mkdir /mnt/share
  sudo mount -t vboxsf share /mnt/share
  ll /mnt/share

 

3. 라이브러리 설치
sudo apt install python python python-pip python-dev libffi-dev libxml2-dev libjpeg-dev mongodb git
sudo apt install build-essential libffi-dev python python-dev python-pip automake autoconf libtool

pip install --upgrade pip
sudo BUILD_LIB=1 pip install ssdeep // 파일 유사성 비교 패키지 설치
sudo apt install libfuzzy-dev
sudo pip install pydeep

sudo pip install m2crypto
sudo apt install libcap2-bin

 

4. tcpdump 설치
sudo apt install tcpdump
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
getcap /usr/sbin/tcpdump

 

5. yara 설치
sudo apt install automake libtool make gcc
wget http://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 ~
sudo pip install yara-python

 

6. cuckoo sandbox 설치
git clone  http://github.com/cuckoosandbox/cuckoo.git
cd cuckoo
sudo pip install -r requirements.txt //  cuckoo 사용에 필요한 파이썬 라이브러리 포함 pymongo 등을 설치
cd ~

 

7. virtualbox 설치

wget http://security.ubuntu.com/ubuntu/pool/main/libv/libvpx/libvpx1_1.0.0-1_amd64.deb

sudo dpkg -i libvpx1_1.0.0-1_amd64.deb

wget http://download.virtualbox.org/virtualbox/5.1.10/virtualbox-5.1_5.1.10-112026~Ubuntu~trusty_amd64.deb

sudo apt-get virtualbox-5.1_5.1.10-112026~Ubuntu~trusty_amd64.deb

sudo apt-get install libsdl1.2debian

sudo dpkg -i virtualbox-5.1_5.1.10-112026~Ubuntu~trusty_amd64.deb // virtualvbox 설치

sudo wget http://download.virtualbox.org/virtualbox/5.1.10/Oracle_VM_VirtualBox_Extension_Pack-5.1.10-112026.vbox-extpack

VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.10-112026.vbox-extpack

sudo /sbin/vboxconfig

vboxmanage hostonlyif create

vboxmanage hostonlyif ipconfig vboxnet0 -ip 192.168.56.1 // 윈도우7에 부여할 IP 설정

ifconfig // vboxnet0 확인

 

8.  windos7 설치 (우분투 안에서)

sudo mkdir /backup

virtualbox

- virtualbox 새로만들기 통해 원도우 설치하는데 설정에서 저장소 윈도우 이미지 선택, 오디오 체크해제, 네트워크는 호스트전용으로 설정

  윈도우vm->설정->공유폴더->+누르고 back 폴더 지정->자동마운트체크-> 윈도우 설치-> 윈도우에서 윈도우방화벽 uac 해제

 

9. 읜도우 공유폴더로 파일 이동

cd /mnt/share

cp PIL-1.1.7.win32-py2.7.exe /backup

sudo cp python-2.7.12.msi /backup

cd ~/cuckoo/agent

sudo cp agent.py /backup

 

10. windwos 설정

윈도우 장치에서 -> 게스트확장이미지cd 설치

사용자계정및 가족보호 -> 사용자계정컨트롤설정변경을 하단으로 옮기고 확인 재부팅하면 공유파일이 윈도우 안에 마운트되어야 한다.

마운트된 3개 파일을 바탕화면으로 복사

python27 설치하고  agent.py 넣고

cmd 창에서

cd c:\

cd python27

python.exe agent.py

네트워크 공유설정 연결에서 IP 설정

192.168.56.101

255.255.255.0

192.168.56.1

8.8.8.8

설정 후 cuckoo1 스냅샷 후 virtualbox 종료 -> 웹에서 악성파일 분석

 

11. cuckoo 환경설정

nano /root/cuckoo/conf/cuckoo.conf 버체크를  off로저장

nano /root/cuckoo/conf/virtualbox.conf  ip port  # 해제

nano /root/cuckoo/conf/reporting.conf // mongodb yes 로 설정

 

12. 시그니처 다운

cd ~/cuckoo

./utils/community.py -waf

 

13. cuckoo 동작 // 재부팅 시 명령어 입력

#!/bin/bash // 자동실행 스크립트 작성
echo "=====start====="
echo "1.mount"
sudo mount -t vboxsf share /mnt/share
ll /mnt/share
echo "2.vboxnet0 ip setting"
vboxmanage hostonlyif create
vboxmanage hostonlyif ipconfig vboxnet0 -ip 192.168.56.1
ifconfig
iptables -A FORWARD -o eth0 -i vboxnet0 -s 192.168.56.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1
sysctl -p
iptables -nvL
echo "3.virtualbox run"
echo "======end======"
virtualbox

cd ~ /cuckoo // 새터미털에서 실행

pyhon cuckoo.py

cd ~/cuckoo/web // 새터미널에서 실행

python manage.py runserver 0.0.0.0:8000

cd python27 // 윈도우에서 실행

python.exe agent.py

localost:8000 // 웹접속

 

14. cuckoo2 추가

[cuckoo2]
label = cuckoo2
platform = windows
ip = 192.168.56.110
# snapshot = cuckoo2
resultserver_ip = 192.168.56.1
resultserver_port = 2042

 

[cuckoo 실행 화면]

 

[악성 의심 파일 분석 화면]

 

'Malware > Analysis' 카테고리의 다른 글

zinkhole  (0) 2018.11.29
cuckoo를 활용한 악성 의심파일 분석  (0) 2017.02.28
악성코드 분석 교육 자료  (0) 2017.01.25
Anti VM 구현  (0) 2017.01.18