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

Ubuntu18安装cuckoo沙箱_第1张图片

初始化之后需要我们初始化数据库,然后编辑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查看:

Ubuntu18安装cuckoo沙箱_第2张图片

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架构图

Ubuntu18安装cuckoo沙箱_第3张图片

你可能感兴趣的:(安全)