版本及说明
cuckoo 2.0.7
主机:ubuntu16.04 LTS desktop
客机:win7 32位
python2.7
均使用root用户
准备主机
cuckoo所需基础环境安装
- 基本环境安装
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
sudo apt-get install postgresql libpq-dev
- 安装virtualbox 为创建客机准备基础环境
sudo apt-get install virtualbox
- 安装tcpdump
为了转储恶意软件在执行期间执行的网络活动,您需要正确配置以捕获流量并将其转储到文件中。默认情况下,Cuckoo 采用tcpdump,这是著名的开源解决方案。
$ sudo apt-get install tcpdump apparmor-utils
$ sudo aa-disable /usr/sbin/tcpdump
$ sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
# 您可以使用以下命令验证最后一个命令的结果:
$ getcap /usr/sbin/tcpdump
/usr/sbin/tcpdump = cap_net_admin,cap_net_raw+eip
# 如果您没有安装setcap,您可以通过以下方式获取:
$ sudo apt-get install libcap2-bin
- 安装 M2Crypto
sudo apt-get install swig
sudo pip install m2crypto==0.24.0
- 安装guacd
guacd 是一项可选服务,为 Cuckoo Web 界面中的远程控制功能提供 RDP、VNC 和 SSH 的转换层。
sudo apt install libguac-client-rdp0 libguac-client-vnc0 libguac-client-ssh0 guacd
从源代码构建/安装 Cuckoo
-
获取源码
git clone https://github.com/cuckoosandbox/cuckoo.git
-
创建虚拟环境
virtualenv venv
-
进入虚拟环境
source venv/bin/activate
-
进入cuckoo目录执行
python stuff/monitor.py
pip install idna==2.10 cryptography==3.3.2 jsonschema==2.5.1 MarkupSafe==1.1.1 itsdangerous==1.1.0 Werkzeug==0.16.1 ecdsa==0.17.0
python setup.py sdist develop
准备客机
虚拟机创建
- root权限启动virtualbox,创建windows7虚拟机
- 配置网络
windows虚拟机配置
-
关闭防火墙、自动更新、UAC
-
配置IP地址
在宿主机(ubuntu)中执行以下操作
# 修改文件 $ sudo vim /etc/sysctl.conf net.ipv4.ip_forward=1 # 查看 $ sudo sysctl -p /etc/sysctl.conf net.ipv4.ip_forward = 1 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 vim /etc/network/interfaces pre-up iptables-restore < /etc/iptables.rules #开机时启用iptables规则 post-down iptables-save > /etc/iptables.rules #关机前保存当前所有的iptables规则 sudo apt-get install -y dnsmasq sudo service dnsmasq start
在虚拟机中ping www.baidu.com验证
-
安装python2.7 配置环境变量
-
安装PIL
-
启动agent.py
将ubuntu主机CWD(/root/.cuckoo)目录下agent/agent.py文件拷贝至windows虚拟机,重命名为agent.pyw。拷贝至指定目录位置。
cmd运行:
python agent.pyw
验证:执行netstat -an
是否有8000端口 -
制作虚拟机快照
配置文件修改
$ vim cuckoo.conf
version_check = no
# 主机(ubuntu)ip
ip = 192.168.56.1
connection = postgresql://cuckoo:cuckoo@localhost:5432/cuckoodb
$ vim reporting.conf
[mongodb]
enabled = yes
$ vim virtualbox.conf
mode = gui
# win虚拟机ip
ip = 192.168.56.101
# 快照名
snapshot = Snapshot1
poetgresql:创建用户修改权限
pip install psycopg2
sudo -u postgres psql
CREATE USER cuckoo WITH PASSWORD 'cuckoo';
CREATE DATABASE "cuckoodb";
GRANT ALL PRIVILEGES ON DATABASE "cuckoodb" TO cuckoo;
vim /etc/postgresql/9.5/main/pg_hba.conf
vim /etc/postgresql/9.5/main/postgresql.conf
listen_addresses = '*'
启动
启动cuckoo
cuckoo -d
启动web
cuckoo web runserver 0.0.0.0:port
启动api
cuckoo api --host 0.0.0.0 --port 8000
参考资料:
https://blog.csdn.net/baobaoyu_/article/details/103047082
https://www.jianshu.com/p/ac009f6c2710