Ubuntu18安裝cuckoo沙箱

0X00 系統環境搭建

本文章不去介紹cuckoo相關信息,只關注於cuckoo的安裝部署。由於時間比較倉促,還沒有把文章完全理順,後續會慢慢整理,持續更新,烏拉!

關於cuckoo的詳細信息見官方文檔:https://cuckoo.sh/docs/index.html

# 系統基礎軟件安裝
$ sudo apt-get install python python-pip python-dev libffi-dev libssl-dev
$ sudo apt-get install python-virtualenv python-setuptools
$ sudo apt-get install libjpeg-dev zlib1g-dev swig

# 爲了使用基於Django的Web界面,需要MongoDB:
$ sudo apt-get install mongodb

# 爲了將PostgreSQL用作數據庫(我們的建議),安裝PostgreSQL:
$ sudo apt-get install postgresql libpq-dev

# 使用KVM進行虛擬化:
$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils python-libvirt

# 創建用戶
$ sudo adduser cuckoo

# 添加用戶到KVM組
$ sudo usermod -a -G libvirtd cuckoo

# 安裝tcpdump
$ sudo apt-get install tcpdump apparmor-utils

# 如果使用默認的cuckoo work directory,需要禁用該配置文件
$ sudo aa-disable /usr/sbin/tcpdump

# 創建pcap組,添加cuckoo到pcap組
$ sudo groupadd pcap
$ sudo usermod -a -G pcap cuckoo
$ sudo chgrp pcap /usr/sbin/tcpdump
$ sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump

# 安裝guacd
$ sudo apt install libguac-client-rdp0 libguac-client-vnc0 libguac-client-ssh0 guacd

# 至此,系統軟件安裝告一段落,接下來使用pip安裝相應軟件
# 修改pip源,升級pip和setuptools
$ sudo pip install --upgrade pip
$ pip install setuptools

# 創建venv環境
$ virtualenv venv
$ . venv/bin/activate
(venv)$ pip install -U pip setuptools
(venv)$ pip install -U cuckoo
(venv)$ pip install psycopg2

0X01 開始運行

接下來可以運行cuckoo了,首次運行cuckoo會創建默認的配置文件,也就是CWD(cuckoo work directory)

cuckoo -d

初始化之後需要我們初始化數據庫,然後編輯cuckoo的配置文件

# 創建postgresql用戶並創建數據庫
$ su postgres

# 創建用戶
$ create user cuckoo with password 'cuckoo123';

# 創建數據庫cuckoo,並將該數據庫的擁有者設置爲cuckoo用戶
$ create database cuckoo owner cuckoo;

# 將該數據庫所有權限給到cuckoo用戶
$ grant all on database cuckoo to cuckoo;

要使cuckoo能正常運行,最起碼得修改cuckoo.conf和kvm.conf(我使用的kvm,如果你使用virutalbox,那麼得修改virtualbox.conf)。修改cuckoo配置文件:cuckoo.conf,該文件在執行cuckoo -d命令返回給你的CWD路徑下,例如/root/.cuckoo/conf/cuckoo.conf

# 將虛擬化環境設置爲KVM
machinery = kvm

# 設置數據庫連接
connection = postgresql://cuckoo:cuckoo123@localhost:5432/cuckoo

# 設置resultserver,KVM創建的virbr0的ip地址
ip = 192.168.122.1

cuckoo需要設置resultserver ip,也就是用於接收虛擬機運行情況的ip,如果是用KVM虛擬化,那麼該IP就是本機的virbr0,可以使用ifconfig查看:

iptables設置,允許kvm虛擬機訪問宿主機及該網段其他所有機器:

iptables -t nat -A POSTROUTING -o ens160 -s 192.168.122.0/24 -j MASQUERADE
iptables -P FORWARD DROP
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.122.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.122.0/24 -d 192.168.122.0/24 -j ACCEPT
iptables -A FORWARD -j LOG
iptables -nL -v

# 開啓內核轉發
$ echo 1 | sudo tee -a /proc/sys/net/ipv4/ip_forward
$ sudo sysctl -w net.ipv4.ip_forward=1

# 安裝iptables-president,使iptables規則持久化,否則重啓後會丟失規則
apt-get install iptables-persistent

0X02 使用KVM安裝win7虛擬機

根據自己需要修改下面命令相關參數即可,命令執行成功後是VNC連接暴露出來的VNC端口(例如5902),完成系統安裝

virt-install --connect qemu:///system --name windows --memory=4096 --vcpus=2 --disk path=/home/vms/windows.qcow2,device=disk,format=qcow2,bus=ide,cache=none,size=50 --cdrom /home/ISO/cn_windows_server_2008_r2_standard_enterprise_datacenter_web_x64_dvd_x15-50360.iso --os-type=windows --network bridge=br0,model=virtio,model=e1000 --hvm --virt-type=kvm --noautoconsole --graphics vnc,listen=0.0.0.0,port=5902  

0X03 Win7沙箱相關配置

1.關閉防火牆和自動更新

這個不需要多說,關掉即可,這樣才能讓惡意樣本暢通無阻

2.設置靜態IP地址,DNS

設置靜態IP地址,和virbr0同網段即可,默認網關指向virbr0的IP,DNS地址也填寫virbr0的IP。配置完成後測試下是否能正常訪問宿主機和外網。

 

在宿主機上創建快照:

virsh snapshot-create-as windows windows_init

0X04 運行cuckoo

在運行前還有兩件事要做,1.編輯kvm.conf,修改相關參數。2.安裝libvirt

(venv)$ cuckoo

 

0X05 cuckoo架構圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章