本篇文章主要是在Ubuntu20.04系统上搭建cuckoo沙箱,之前曾尝试在VMware虚拟机里建立Ubuntu,然后再在Ubuntu虚拟机里安装vbox虚拟机,然后搭建沙箱,但是这种虚拟机里安装虚拟机的想法,用到最后会发现虚拟机还是转不动呐,无论多么好的硬件设备,到最后总会资源耗尽而一命呜呼,所以只能在Ubuntu物理机下安装vbox虚拟机,然后搭建沙箱。
1.dell笔记本win10物理机
2.Ubuntu20.04镜像
3.100G-150G硬盘空闲空间
4.启动U盘一个
1.下载Ubuntu20.04镜像
http://mirrors.aliyun.com/ubuntu-releases/20.04/
2.下载UltraISO
https://www.aliyundrive.com/s/LDLraiAY2gJ
3.用UltraISO制作U盘启动的Ubuntu安装盘
下载的Ubuntu系统ISO文件需要用UltraISO打开后再重新写入U盘,同时将U盘设置为支持启动的系统盘,这样就能用U盘启动并安装Ubuntu。
用UltraISO打开Ubuntu20.04镜像
将Ubuntu系统写入U盘
注意要写入的U盘型号确认无误
4.准备磁盘空间
右击计算机→管理→磁盘管理
选一个空闲空间足够大的盘符,右击→压缩卷(在这里,我之前以及压缩好,所以就随便找了个盘做个例子)
注意让该空间处于“未分配”状态,安装Ubuntu时由安装程序划分并格式化。(网上找的图)
5.设置硬盘格式(注意这步很重要,关乎以后windows系统能否和Ubuntu系统共存,至于原因留到下面再说)
按住win+R键,输入msconfig,按回车进入系统配置界面。选择引导,点击安全引导、最小。然后应用,点击确定,这时候会出来弹窗,选择重新启动。
6.重启的时候连续敲击F2键进入BIOS配置模式或者连续敲击F12键,再点击就可BIOS SETUP以进入BIOS模式
7.进入BIOS配置模式后,进入System Configuration,将SATA Operation改为AHCI
一般dell出厂的电脑,在BIOS里都统一把硬盘模式设为 RAID On模式,等于是在SSD外面加了个虚拟硬盘控制器, 如果将硬盘模式改为AHCI的话,系统便会因为找不到驱动而蓝屏,也就是说即使最后装好了Ubuntu双系统,那么再打开win10系统时会蓝屏或者报找不到系统的错误。要想再进win10系统,只能把硬盘模式再改为RAID On模式,进Ubuntu系统时又得改回AHCI模式(脑壳疼),为了解决这个问题,所以才有了第5步的操作。
8.进入Secure Boot 勾选掉Enable Secure Boot
9.按esc退出BIOS配置模式,插入启动U盘,重启电脑,再进入BIOS配置模式,选择从U盘启动(注意别选错U盘型号)
10.选择第一个Try Ubuntu without installing或者第2个install Ubuntu都可以,这里我直接进入的第一个。
11.进来后双击左上角的install程序,然后接下来的安装步骤就和在VMware虚拟机创建Ubuntu系统差不多(这里网上找的18.04版本的图)
12.选择中文(简体)
13.
14.
15.选择正常安装
16.这也是很关键的一步,选择最后一个其它选项(注意千万不要选第一个安装Ubuntu,与windows Boot Manager共存选项,嘿嘿,方便我们接下来手动分区)
17.然后就是要手动分区喽,找到一开始留给Ubuntu的空闲分区,点击左下角的+号
18.第一个是主分区,挂载点为 “/”,ext4日志文件系统,用于存放系统,建议50GB(相当于Windows系统中的C盘)
19.swap交换空间,逻辑分区,大小设置为电脑内存大小,功能相当于虚拟内存
20./boot分区
21./home分区,剩下的物理空间全给home分区
22.最后将最下方“安装启动引导器的设备”设置成和boot盘符相同
23.
24.设一个用户名和密码
25.然后就等待安装完成啦
1.进入Ubuntu后先更新一下软件源
sudo apt-get update
sudo apt-get upgrade -y
2.我们需要安装curl
sudo apt-get install curl
3.然后下载get python pip命令
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -O
4.安装python,同时安装pip
sudo apt get install python
sudo python get-pip.py
5.安装安装VirtualBox和cuckoo所需的先决条件
sudo apt-get install -y python-dev libffi-dev libssl-dev libfuzzy-dev libtool flex autoconf libjansson-dev git
6.安装Python支持工具
sudo apt-get install -y python-setuptools
7.安装jpeg和接口支持工具
sudo apt-get install -y libjpeg-dev zlib1g-dev swig
8.安装mongodb
sudo apt-get install -y mongodb
9.cuckoo推荐的数据库是PostgreSQL,所以运行
sudo apt-get install -y postgresql libpq-dev
10.安装virtualbox 6.1
sudo apt-get install-y virtualbox
11.安装volatile
git clone https://github.com/volatilityfoundation/volatility.git
12.然后
cd volatility
sudo python setup.py build
sudo python setup.py install
13.安装Distorm3
sudo -H pip install distorm3==3.4.4
14.安装Yara
sudo -H pip install yara-python==3.6.3
15.安装ssdeep
sudo apt-get install -y ssdeep
可以输入ssdeep-V来检查它的安装
16.安装pydeep
sudo -H pip install pydeep
17.安装openpyxl
sudo -H pip install openpyxl
18.安装ujson
sudo -H pip install ujson
19.安装jupyter
sudo -H pip install jupyter
20.安装TCPDump以启用数据包捕获分析
sudo apt-get install tcpdump
然后
sudo apt-get install libcap2-bin
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
getcap /usr/sbin/tcpdump
21.安装和禁用apparmor,在Cuckoo2.0以上版本中,有一个专门的工作目录CWD(Cuckoo Working Directory),若使用该目录(/home/cuckoo/.cuckoo),则要禁用AppArmor对tcpdump的安全配置,否则AppArmor会阻止PCAP文件的创建。
sudo apt-get install -y apparmor-utils
然后输入
sudo aa-disable /usr/sbin/tcpdump
22.准备工作完成,下面开始安装cuckoo 沙箱
输入
pip install -U pip setuptools
23.输入
sudo -H pip install -U cuckoo
24.安装完后运行一下cuckoo(当然现在cuckoo还不能使用)
输入
cuckoo
25.设置virtualbox环境,安装网络工具
sudo apt install -y net-tools
26.输入ifconfig查看虚拟机的IP地址信息
27.创建一个只支持主机的网络适配器
vboxmanage hostonlyif create
28.为虚拟接口设置IP地址
vboxmanage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1
29.再次运行ifconfig,可以刚刚设置的接口和IP地址。
30.要使这些更改在重新启动后仍然有效,并在系统启动期间自动设置,需要建立一个新的目录
sudo mkdir /opt/systemd/
然后
sudo nano /opt/systemd/vboxhostonly
将以下代码复制到文件中:
!/bin/bash
hostonlyif create
vboxmanage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1
然后Ctrl+X退出,Y保存,回车写入文件。
31.给文件增加可执行的权限
cd /opt/systemd/
sudo chmod a+x vboxhostonly
32.现在我们需要创建一个服务,所以输入
sudo touch /etc/systemd/system/vboxhostonlynic.service
33.编辑文件
sudo nano /etc/systemd/system/vboxhostonlynic.service
然后确保修改以下内容
Description=Setup VirtualBox Hostonly Adapter
After=vboxdrv.service
[Service]
Type=oneshot
ExecStart=/opt/systemd/vboxhostonly
[Install]
WantedBy=multi-user.target
然后Ctrl+X退出,Y保存,回车写入文件。
34.安装服务并确保它在引导时加载‘
systemctl daemon-reload
systemctl enable vboxhostonlynic.service
网络部分完成。
35.现在将使用vbox创建一个Windows7SP1x64虚拟机,其它系统的虚拟机也行,这个虚拟机是用来作为蜂蜜也就是靶机来用的
在终端输入VirtualBox启动vbox虚拟机,然后点击又上角新建
起个名字,下一步
下一步
创建完后,点击右上角设置
选择存储→光盘,然后点击右上角的光盘给虚拟机选择一个ios镜像文件,和VMware一样
然后再启动刚刚创建好的win7虚拟机,打开后按照指示按照win7系统就可以了
36.之前说过,这个虚拟机就是为了当作恶意代码的靶机,所以把这个虚拟机设置成易受攻击的状态
打开编辑组策略窗口
37.展开“计算机配置”>“Windows设置”>“安全设置”>“本地策略”>“安全选项”。向下找到用户帐户控制选项。
右键单击“用户帐户控制:管理员审批模式下管理员的提升提示行为”,然后选择“属性”。使用下拉菜单选择“不提示,直接提升”,然后单击“确定”。
38.右键单击“用户帐户控制:检测应用程序安装并提示提升”,然后选择属性。选中“禁用”选项,然后单击“确定”。
39.右键单击“用户帐户控制:以管理员批准模式运行所有管理员”,然后选择属性。选中“禁用”选项,然后单击“确定”。
40.禁用Windows更新的自动安装。“计算机配置”>“管理模板”>“Windows组件”>“Windows更新”,然后右键单击“配置自动更新”。选择已启用,2-通知下载并通知安装,然后单击ok。
41.现在我们需要从网络中删除Windows保护。转到“计算机配置”>“管理模板”>“网络”>“网络连接”>“Windows防火墙”>“域配置文件”>“Windows防火墙”,然后将“保护所有网络连接”更改为“禁用”。
42.接下来我们需要禁用Windows Defender,因为我们不需要防病毒或恶意软件保护。我们通过进入“计算机配置”>“管理模板”>“Windows组件”>“Windows Defender”来完成此操作,然后将“关闭Windows Defender ”设置为“已启用”。
43.关闭windows防火墙
44.下面给win7虚拟机安装增强功能,这是vbox中的一个类似VMware中vmtools的东西,以便接下来方便vbox虚拟机和Ubuntu文件交互。
首先我们来到设备→分配光驱→移除虚拟盘,来移除掉虚拟光盘
然后还是在设备的菜单栏下,点击安装增强功能,下面就按照指示安装就好了
45.下面给win7虚拟机设置一个共享文件夹,用来实现Ubuntu与win7虚拟机的文件共享,这一步需要在上一步安装完增强功能后才能操作。
选一个共享文件夹的位置,在这里我是直接放在了桌面上,起名为share文件夹,注意要勾选上自动挂载和固定分配
设置完后就可以在网络中看到来自vbox的共享,点进去就可以看到刚刚设置的文件夹了,我们要将Ubuntu的文件上传到win7虚拟机时,只需要将文件放到刚刚设置的共享文件夹里就可以了(这一点确实没有VMware做的好)
46.下面给win7虚拟机安装python2.7.8,直接从这个网址下载好后放到共享文件夹里,然后在win7虚拟机中运行就可以了,注意必须要下载python2.7.8版本,下面安装的python pillow会识别2.7.8版本的
https://www.python.org/ftp/python/2.7.8/python-2.7.8.amd64.msi
47.安装python pillow,同样也是,下载后放到共享文件夹里,然后在win7中运行安装
https://pypi.python.org/packages/2.7/P/Pillow/Pillow-2.5.3.win-amd64-py2.7.exe#md5=33c3a581ff1538b4f79b4651084090c8
48.下面从Ubuntu主机上传agent.py文件到win7虚拟机中,这个文件在你的Ubuntu机器的 ~/.cuckoo/agent
目录中,你可以直接拖放到共享文件夹里,也可以执行下面的命令
cd ~/.cuckoo/agent
然后
cp agent.py [你的共享文件夹的绝对路径]
之后
将agent.py文件放在C:\Users*USERNAME*\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目录下
这样在启动虚拟机时会启动agent.py。在Windows7虚拟机上,需要显示隐藏的文件和文件夹才能看到AppData文件夹。
您可以通过进入“文件资源管理器”,然后进入“组织”>“文件夹选项”来完成此操作。
49.完事后重启一下win7虚拟机,如果你以上的操作正确,那么在重启后,你会看到一个空白命令窗口
正常后将虚拟机最小化
50.“蜂蜜”已经准备好了,下面我们要设置完善“蜜罐”了
打开VirtualBox,点击win7,然后点击设置。选择网络,然后将连接方式改为:仅主机网络,然后在名称中选择vboxnet0。单击“确定”。
51.现在需要保存这个设置
sudo apt-get install -y iptables-persistent
当出现提示框时,选择是
52.在我们需要配置IP转发,以便将internet连接从主机路由到来宾虚拟机。我们将使用iptables设置这些网络转发规则:
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 -t nat -A POSTROUTING -o eth0 -j MASQUERADE
53.现在在内核中启用IP转发,以便将这些设置设置为活动(WWW Internet访问需要)
echo 1 | sudo tee -a /proc/sys/net/ipv4/ip_forward
然后
sudo sysctl -w net.ipv4.ip_forward=1
54.现在我们需要确保IP转发在重新启动后启动,配置sysct1.conf文件
sudo nano /etc/sysctl.conf
把#从net.ipv4.ip_forward=1项移除然后Ctrl+X退出,Y保存,回车写入文件。
55.然后运行
sudo su root
然后
iptables save > /etc/iptables/rules.v4
56.下面配置win7虚拟机的IP地址信息。在win7中打开网络适配器配置ip信息
然后点击确定。
57.要记得给win7拍摄快照,毕竟以后需要在win7中运行恶意代码
58.下面进行一些cuckoo的配置
Cuckoo 配置文件都位于~/.cuckoo/conf
或来自您的主目录
所以进入该目录下配置.conf类的文件
cd ~/.cuckoo/conf
sudo nano cuckoo.conf
编辑cuckoo.conf文件确保设置了以下内容:
machine=virtualbox
和memory_dump=yes
和resultserver ip=192.168.56.1,
然后Ctrl+X退出,Y保存,回车写入文件。
59.配置下一个文件
sudo nano auxiliary.conf
编辑auxiliary.conf文件确保sniffer启用了
enable=yes
保存,退出
60.配置下一个文件
sudo nano virtualbox.conf
编辑virtualbox.conf文件,并确保
virtualbox mode=gui
和machines=win7-64
注意这里,machines等于的是你刚刚建立的win7虚拟机的名字,一开始我将虚拟机名字设置的win7-64,所以在这个配置文件中我就修改的win7-64
保存退出
61.配置下一个文件
sudo nano processing.conf
编辑processing.conf文件,
确保memory文件部分中
enabled=yes
保存,退出
62.配置下一个文件
sudo nano memory.conf
编辑memory.conf文件,
确保basic guest_profile=Win7SP1x64
注意这里要修改你建立虚拟机的系统类型
保存,退出
63.配置下一个文件
sudo nano reporting.conf
编辑reporting.conf文件并确保singlefile Enable creation of report.html和mongodb文件部分都是enabled=yes
保存,退出
64.配置工作完成了,那么现在重启一下Ubuntu系统
在使用cuckoo之前,先要更新cuckoo的签名,终端输入,
cuckoo community
65.“蜜罐”已经搭建完成了,下面就可以愉快的使用cuckoo沙箱了
打开win7虚拟机,登录后,显示空白命令窗口,然后最小化虚拟机,然后在终端中输入cuckoo
66.打开第二个终端输入
cuckoo web runserver 0.0.0.0:8000
67.现在您可以通过127.0.0.1:8000访问cuckoo网络服务器,注意每次想要访问网页版cuckoo分析网站时,都要执行66步的命令
参考自文章https://utopianknight.com/malware/cuckoo-installation-on-ubuntu-20/