Ubuntu16.04下安装cuckoo布谷鸟沙箱

Ubuntu下安装cuckoo布谷鸟沙箱

cuckoo安装与配置

一、cuckoo主要功能

Cuckoo一种将未知、不可信的软件隔离执行的安全机制。恶意软件分析沙盒一般用来将不可信软件放在隔离环境中自动地动态执行,然后提取其运行过程中的进程行为、网络行为、文件行为等动态行为,安全研究员可以根据这些行为分析结果对恶意软件进行更深入地分析。Cuckoo是一款用Python编写的开源的自动化恶意软件分析系统,它的主要功能有:
• 跟踪记录恶意软件所有的调用状况;
• 恶意软件文件行为:恶意软件执行过程中创建新文件、修改文件、删除文件、读取文件或下载文件的行为;
• 获取恶意软件的内存镜像;
• 以 PCAP 格式记录恶意软件的网络流量;
• 获取恶意软件执行过程中的屏幕截图;
• 获取执行恶意软件的客户机的完整内存镜像

Cuckoo可以分析的文件类型包括但不限于:
• Windows 可执行文件
• DLL 文件
• PDF 文件
• MS Office 文件
• URL 和 HTML 文件
• PHP 脚本文件
• CPL 文件
• VB 脚本文件
• ZIP 压缩包
• JAR 文件
• Python 脚本文件
• APK 文件
• ELF 文件

二、电脑配置

物理机:win 10
虚拟机软件:VMware Workstation Pro 15x
安装布谷鸟沙盒的靶机:Ubuntu 16.4
布谷鸟中的靶机:win xp

三、cuckoo安装

1)更换源

打开终端,输入命令:

sudo gedit /etc/apt/sources.list

将下列源复制粘贴进去。

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

然后输入命令sudo apt-get updatesudo apt-get upgrade,过程可能有点久。
出现设备锁问题,可以通过命令sudo rm /var/lib/apt/lists/lock解决此问题。
Ubuntu16.04下安装cuckoo布谷鸟沙箱

2)安装cuckoo依赖

终端输入命令:

sudo apt-get install git mongodb libffi-dev build-essential python-django python python-dev python-pip python-pil python-sqlalchemy python-bson python-dpkt python-jinja2 python-magic python-pymongo python-gridfs python-libvirt python-bottle python-pefile python-chardet tcpdump -y

Ubuntu16.04下安装cuckoo布谷鸟沙箱

Tcpdump(进行数据的信息收集):

sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
getcap /usr/sbin/tcpdump

安装pydeep,可以现在物理机下载,在移至ubuntu中,下载网址为:http://sourceforge.net/projects/ssdeep/files/ssdeep-2.13/ssdeep-2.13.tar.gz/download -O ssdeep-2.13.tar.gz
或者在虚拟机终端使用命令下载:

sudo wget http://sourceforge.net/projects/ssdeep/files/ssdeep-2.13/ssdeep-2.13.tar.gz/download -O ssdeep-2.13.tar.gz 

下载完成,通过tar -zxvf ssdeep-2.13.tar.gz解压,进入ssdeep目录,然后执行命令:

sudo ./configure   、sudo make   、sudo make install

Ubuntu16.04下安装cuckoo布谷鸟沙箱
Ubuntu16.04下安装cuckoo布谷鸟沙箱

Ubuntu16.04下安装cuckoo布谷鸟沙箱
Ubuntu16.04下安装cuckoo布谷鸟沙箱
然后ssdeep -V查看是否安装成功,出现版本信息则为成功。
Ubuntu16.04下安装cuckoo布谷鸟沙箱
为防止之后出错,可以添加快照保留状态。虚拟机->快照->拍摄快照。
Ubuntu16.04下安装cuckoo布谷鸟沙箱

安装Volatility
由于2021.1之后pip的21.0版本也不再支持python2.7,而这里使用的是python2.7,所以不能安装pip21版本,要安装指定版本的pip。
sudo pip install –upgrade pip==20.1.1,若安装成功通过pip -V会显示版本信息。

sudo pip install openpyxl ujson pycrypto distorm3 pytz

Ubuntu16.04下安装cuckoo布谷鸟沙箱

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

确认volatility安装无误

python vol.py -h

之后会出现vol的版本,拍摄快照保存状态,防止后面出错。
Ubuntu16.04下安装cuckoo布谷鸟沙箱

开始安装cuckoo,先安装依赖

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

Ubuntu16.04下安装cuckoo布谷鸟沙箱
之后pip安装,快照保存状态。

sudo pip install -U cuckoo 

Ubuntu16.04下安装cuckoo布谷鸟沙箱
这里发现报错了,根据报错内容,执行命令

pip install –ignore-installed dpkt

Ubuntu16.04下安装cuckoo布谷鸟沙箱
在ubuntu文件夹下按住ctrl+h查看是否有./cuckoo这个文件,没有的话执行下面语句
cd /home/usr/local/bin/,在这个目录下找到的。
Ubuntu16.04下安装cuckoo布谷鸟沙箱

python cuckoo

Ubuntu16.04下安装cuckoo布谷鸟沙箱

cd /home
cuckoo -d

Ubuntu16.04下安装cuckoo布谷鸟沙箱
这里出现错误,但不影响,只需在后面配置好文件即可。

3)guest客户机配置

安装virtualbox6.0

cat /etc/lsb-release
sudo gedit /etc/apt/sources.list

添加源

deb https://download.virtualbox.org/virtualbox/debian xenial contrib

Ubuntu16.04下安装cuckoo布谷鸟沙箱

添加公钥并更新

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add –
sudo apt-get update

Ubuntu16.04下安装cuckoo布谷鸟沙箱

安装

sudo apt-get install virtualbox-6.0

Ubuntu16.04下安装cuckoo布谷鸟沙箱
安装成功后,启动virtualbox,要用root权限启动,因为非root权限的virtualbox,对于cuckoo来说是无法进行监听的。
sudo virtualbox
Ubuntu16.04下安装cuckoo布谷鸟沙箱

这里会自动弹出一个窗口,点击新建虚拟机
Ubuntu16.04下安装cuckoo布谷鸟沙箱
名称最好改为“cuckoo1”这样方便之后的virtualbox.conf的修改,也方便之后cuckoo之后的启动,之后点击设置->存储->选择一个虚拟光盘文件,导入盘片(win xp的镜像),保存修改安装镜像。
Ubuntu16.04下安装cuckoo布谷鸟沙箱
然后启动
Ubuntu16.04下安装cuckoo布谷鸟沙箱

该过程与window xp安装一样,关闭自动更新和防火墙。
完毕之后设置网卡
Ubuntu16.04下安装cuckoo布谷鸟沙箱
设置虚拟机网络,点击编辑->虚拟网络编辑器,设置为NAT模式
Ubuntu16.04下安装cuckoo布谷鸟沙箱
Guest客户机网络如下:
Ubuntu16.04下安装cuckoo布谷鸟沙箱
Ubuntu网络设置
右上角点击设置->搜索 网络
Ubuntu16.04下安装cuckoo布谷鸟沙箱
点击选项,进行修改
Ubuntu16.04下安装cuckoo布谷鸟沙箱
配置完成,重启网络

sudo -i
sysctl -w net.ipv4.ip_forward=1
echo 1 > /proc/sys/net/ipv4/ip_forward
gedit /etc/sysctl.conf #去掉net.ipv4.ip_forward=1 前的#号,保存
sysctl -p /etc/sysctl.conf

配置iptables

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
sudo gedit /etc/network/interfaces

添加

pre-up iptables-restore < /etc/iptables.rules 
post-down iptables-save > /etc/iptables.rules

指令在sudo情况下运行
终端输入sudo gedit /etc/resolv.conf
将nameserver 127.0.0.1 改为nameserver 114.114.114.114
下载安装python2和PIL

进行guest客户机配置
1.在Ubuntu环境中home下新建一个share文件夹, 将 .cuckoo/agent/agent.py复制进去,然后在share打开终端(sudo)下载python2.7和PIL,也可以在物理机下载在拖进虚拟机中
Ubuntu16.04下安装cuckoo布谷鸟沙箱

sudo wget https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi
sudo wget http://effbot.org/media/downloads/PIL-1.1.7.win32-py2.7.exe

2.安装virtualbox增强功能,主要是为了能够在virtualbox*享文件夹
Ubuntu16.04下安装cuckoo布谷鸟沙箱
一路安装,然后添加共享文件夹路径。
Ubuntu16.04下安装cuckoo布谷鸟沙箱
Ubuntu16.04下安装cuckoo布谷鸟沙箱
Ubuntu16.04下安装cuckoo布谷鸟沙箱

改启动顺序
Ubuntu16.04下安装cuckoo布谷鸟沙箱

点击存储,查看盘片是否是新生成的磁盘,如果不是则手工移除win xp,选择新生成的盘片。
Ubuntu16.04下安装cuckoo布谷鸟沙箱

启动win xp虚拟机,点击我的电脑,发现多了一个网络驱动器,里面存在共享文件夹,先安装python2.7和PIL。
Ubuntu16.04下安装cuckoo布谷鸟沙箱

配置agent
把 agent.py 后缀改成 agent.pyw
将agent.pyw复制到C:\Python27\文件夹下,双击运行(是没有任何反应的)
打开cmd,输入netstat -an,查看本地8000端口是否在监听
如果8000端口正在监听,那说明此xp虚拟机就能被cuckoo所调用。
在这里生成virtualbox备份,点击控制->生成备份,名称叫snapshot1。
Ubuntu16.04下安装cuckoo布谷鸟沙箱
Ubuntu16.04下安装cuckoo布谷鸟沙箱

4)配置cuckoo

在 .cuckoo/conf/中修改配置文件:
cuckoo.conf:

machinery = virtualbox
[resultserver]
ip = 192.168.56.1 #This is the IP address of the host
port = 2042 #leave default unless you have services running

auxiliary.conf:

[sniffer]
enabled = yes
#Specify the path to your local installation of tcpdump. Make sure this
#path is correct.
tcpdump = /usr/sbin/tcpdump

virtualbox.conf:

machines = cuckoo1
[cuckoo1] 它默认写的是cuckoo1
label = cuckoo1
platform = windows
ip = 192.168.56.101 # IP address of the guest
snapshot = snapshot1
interface = vboxnet0

reporting.conf:

[mongodb]
enabled = yes

重启,打开终端输入sudo cuckoo -d
没有报错信息,则打开另一个终端输入

sudo cuckoo web runserver

Ubuntu16.04下安装cuckoo布谷鸟沙箱
出现此界面说明成功,在浏览器访问http://127.0.0.1:8000/进入即可。
Ubuntu16.04下安装cuckoo布谷鸟沙箱

上一篇:在Docker容器中安装vim


下一篇:Deepin系统安装mysql5.7实录