kali Linux2021 中安装cuckoo沙箱系统

系统配置
主操作系统kali Linux2021
客户机操作系统windows7 kali网盘连接: 提取码:bcdr
windows网盘连接:提取码:8ed1

注意(重要):要安装cuckoo需要安装virtualbox虚拟机,会比较占用内存,kali机器的硬盘容量至少为60G,还有如果你不是使用root用户登录的系统,则需要在每条命令前面加上sudo,我的kali是root用户登录,所以我省去了sudo

一、安装cuckoo所需的相关软件

1.安装python库

命令
apt-get install python3 python3-pip python2-dev libffi-dev libssl-devapt-get install python3 -virtualenv python3-setuptoolsapt-get install libjpeg-dev zlib1g-dev swig

kali docker教程 kali linux cookbook_kali docker教程

2.安装mongodb

为了使用基于djangle的web接口,需要安装mongodb,但是kali源中没有mongodb,所以需要引用ubuntu的软件源,操作如下:
(1)使用命令vim /etc/apt/sources.list.d/ubuntu.list创建并编辑配置ubuntu源文件,将下面的源链接复制到文件里面保存并退出,我的版本ubuntu20.04,如果你的ubuntu版本和我的不同,则继续往下看

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

kali docker教程 kali linux cookbook_linux_02


编辑文件

kali docker教程 kali linux cookbook_linux_03

也可以根据自己的需求在这个网址里选择自己所需要的的ubuntu版本https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/

kali docker教程 kali linux cookbook_kali docker教程_04


(2)然后使用命令apt update更新源,但是此时会出现错误

kali docker教程 kali linux cookbook_windows_05


我们可以看到此时会出现错误,是因为ubuntu源在kali里使用时没有数字签名,无法验证安全性,所以还需要导入公钥,使用命令apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 导入

注意:这里的3B4FE6ACC0B21F32是你自己错误提示的签名,需要更换为你自己的我的需要导入下面两个

kali docker教程 kali linux cookbook_windows_06


将所有需要的公钥都导入

kali docker教程 kali linux cookbook_linux_07


现在使用命令apt update重新更新源

kali docker教程 kali linux cookbook_linux_08


(3)安装mongodb,使用apt-get install mongodb命令

kali docker教程 kali linux cookbook_python_09


(4)(非必需操作步骤)还原更新源,即将刚才配置文件/etc/apt/sources.list.d/ubuntu.list里添加的ubuntu源用#注释掉

3.安装postgresql

使用apt-get install postgresql libpq-dev命令进行安装

kali docker教程 kali linux cookbook_windows_10

4.安装virtualbox

使用命令apt install virtualbox直接安装

kali docker教程 kali linux cookbook_linux_11

5.安装tcpdump

(1)使用命令apt-get install tcpdump,若已安装则更新

kali docker教程 kali linux cookbook_windows_12


(2)创建pcap组,将root用户加入组,如果是非root用户则需使用chgrp /usr/bin/tcpdump命令修改权限,使用户能都操作tcpdump(cuckoo就以该用户身份运行),命令如下:

groupadd pcapusermod -a -G pcap root

chgrp pcap /usr/bin/tcpdump

setcap cap_net_raw, cap_net_admin=eip /usr/bin/tcpdump

使用getcap /usr/bin/tcpdump命令验证设置

kali docker教程 kali linux cookbook_运维_13


(3)为使用setcap,需要安装libcap2-bin,使用命令apt-get install libcap2-bin,我好像已经安装过了

kali docker教程 kali linux cookbook_运维_14

6.安装volatility

需要直接从github上面获取源码,使用命令git clone https://github.com/volatilityfoundation/volatility.git获取

地址:https://github.com/volatilityfoundation/volatility.git

kali docker教程 kali linux cookbook_运维_15


然后使用cd /volatility命令进入文件夹下,使用python3 setup.py install命令添加库

kali docker教程 kali linux cookbook_linux_16


安装好之后可以使用命令python vol.py -info查看volatility信息,我这里就没截图了,反正只要不出错就行,然后使用命令cd退回到根目录下

7.安装M2crypto

直接使用命令pip install m2crypto安装,用于实现加密连接

kali docker教程 kali linux cookbook_kali docker教程_17

8.安装guscd

guscd是一项可选服务(可以安装也可以不装),它是为Cuckoo Web界面中的远程控制功能提供RDP,VNC和SSH的转换层,我安装了

kali docker教程 kali linux cookbook_运维_18

9.账户管理

(1)将当前用户添加到vboxusers组,我当前是root用户

kali docker教程 kali linux cookbook_kali docker教程_19


提高允许打开文件的数量,将下列代码复制到limits.conf文件里

root hard nofile 500000 
root soft nofile 500000

kali docker教程 kali linux cookbook_kali docker教程_20

二、安装Cuckoo

基本的Cuckoo安装依赖都安装完成,接下来开始安装Cuckoo

1.安装Cuckoo

前面做了这么多铺垫,终于进入正题

(1)使用命令pip install -U pip setuptools安装setuptools

kali docker教程 kali linux cookbook_linux_21


(2)使用命令pip install -U cuckoo安装Cuckoo

kali docker教程 kali linux cookbook_windows_22


看到遇到错误,只看这一行,提示:pip2 install -U cuckoo

kali docker教程 kali linux cookbook_linux_23


pip2 install -U cuckoo命令输入命令行–>回车,发现找不到pip2命令,不用慌,这是因为我的kali中python版本太新,已经丢弃了原来python2中的pip2命令,而且kali源里面也没有命令了,于是想办法直接下载pip2来安装,使用下列命令来安装pip2:

安装pip2参考这个博客:

但是它还有点小错误,然后根据错误提示修正就好了,或者直接看我接下来的步骤先执行命令add-apt-repository universe,这条命令如果无效则不用管了,下一条

kali docker教程 kali linux cookbook_运维_24


apt install python2 如果之前已经安装了python2则可以不用这一步curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py

python2 get-pip.py

kali docker教程 kali linux cookbook_windows_25


可以使用pip2 --version命令查看安装结果(3)再次执行命令pip install -U pip setuptools,然后安装Cuckoo,安装Cuckoo可以使用两种方法:

第一种直接使用命令pip2 install cuckoo安装,若无法安装则使用第二种方法进行安装

第二种先使用命令门mkdir cuckoo创建一个文件夹,然后cd cuckoo命令进入文件夹,使用命令pip download cuckoo下载cuckoo安装包

kali docker教程 kali linux cookbook_python_26


然后使用命令pip2 install Cuckoo-2.0.7.tar.gz安装Cuckoo,这里的cuckoo安装包是名字改为你下载的

kali docker教程 kali linux cookbook_kali docker教程_27

2.首次运行Cuckoo

使用命令cuckoo -d运行,可看到图中有first run字样

kali docker教程 kali linux cookbook_windows_28

三、配置Cuckoo主要使用的配置文件

1.配置cuckoo.conf文件

cuckoo.conf:主要的配置文件,最主要的是machinery,用于指定我们使用的虚拟机配置文件,默认是virtualbox,使用vi /root/.cuckoo/conf/cuckoo.conf命令编辑配置文件

kali docker教程 kali linux cookbook_windows_29


重要参数

kali docker教程 kali linux cookbook_python_30


设置resultserver的ip和端口,如果想要所有客户机都可被监听,可以将ip设置0.0.0.0,端口默认为2042

kali docker教程 kali linux cookbook_python_31

2.配置virtualbox.conf文件

virtualbox.conf:有关virtualbox虚拟机的配置

将ip设置为虚拟机中的ip地址(虚拟机需要设置固定地址),只需要后面配置虚拟机时将windows虚拟机的ip设置好即可,命令vi /root/./cuckoo/conf/virtualbox.conf 这里网卡名称interface为vboxnet0,虚拟机名称machines为cuckoo1

kali docker教程 kali linux cookbook_linux_32


将ip设置为192.168.56.101

snapshot设置为cuckoo1

resultserver_ip设置为192.168.56.1

resultserver_port设置为2042

kali docker教程 kali linux cookbook_kali docker教程_33

3.配置reporting.conf文件

reporting.conf:报告生成模块的配置文件,用来开启jsondump或者HTML Report,还可以配置MongoDB存储分析结果(Web控制台会用到)命令vi /root/./cuckoo/conf/reporting.conf这里的mongodb的enabled一定要设置为yes

kali docker教程 kali linux cookbook_运维_34

4.配置auxiliary.conf,memory.conf,processing.conf文件

以下配置文件均保持默认即可
auxiliary.conf:此模块是持续进行恶意样本分析的脚本,这个配置文件定义它们的选项,可以配置tcpdump/mitm/sniffer等,保持默认即可
memory.conf:内存分析配置模块,主要用来配置Volatility的行为
processing.conf:核心处理组件配置文件,可以开启/关闭行为分析、缓冲区分析、内存分析、截屏、Snort、字符串提取、VirusTotal辅助分析等等功能

四、路由配置

设置路由转发的是为了使得仅主机模式的虚拟机可以连接互联网,因为在cuckoo分析恶意代码时有时候需要联网分析恶意软件的网络行为,所以配置好之后虚拟机可以通过虚拟网卡vboxnet0经由kali主机的连接互联网了

1.开启流量转发功能

编辑配置文件/etc/sysctl.conf,使用vi /etc/sysctl.conf命令,在文件中将net.ipv4.ip_forward=1这一行如图取消注释

kali docker教程 kali linux cookbook_linux_35


使用命令sysctl -p /etc/sysctl.conf使配置生效

kali docker教程 kali linux cookbook_linux_36

2.设置地址转换(NAT)规则

命令如下:

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
iptables -A FORWARD -s 192.168.56.0/24 -d 192.168.56.0/24 -j ACCEPT

kali docker教程 kali linux cookbook_python_37


使用命令iptables -nvL可查看配置规则的结果

kali docker教程 kali linux cookbook_运维_38

3.安装dnsmasq

只配置路由转发还是会有问题,windows虚拟机还是不能上网,主要是因为windows虚拟机不能解析域名,所以还需要安装dnsmasq来解析域名

(1)使用命令apt-get install dnsmasq来安装dnsmasq

kali docker教程 kali linux cookbook_kali docker教程_39


(2)使用vi /etc/default/dnsmasq编辑配置/etc/default/dnsmasq文件

kali docker教程 kali linux cookbook_linux_40


IGNORE_RESOLVCONF=yes这一行取消注释,使得服务能够开启

kali docker教程 kali linux cookbook_python_41


(3)使用命令vim /etc/resolv.personal编辑自己的resolv.personal文件

kali docker教程 kali linux cookbook_linux_42


查找国内可用的DNS服务器,添加ip地址到文件中

kali docker教程 kali linux cookbook_运维_43


(4)更改dns服务器配置文件,命令vi /etc/dnsmasq.conf打开文件,将resolv-file换成上面配置的/etc/resolv.personal即可,保存退出

kali docker教程 kali linux cookbook_kali docker教程_44


(5)先执行下列两条命令,这是为了解决8000端口占用问题,记得要先执行

systemctl stop systemd-resolvedsystemctl disable systemd-resolved

kali docker教程 kali linux cookbook_运维_45

然后再执行service dnsmasq start命令开启dnsmasq服务

kali docker教程 kali linux cookbook_运维_46

五、在virtualbox中安装windows7虚拟机

注意:这里提示一下,如果你是在虚拟机里面安装虚拟机的话,还需要设置一个东西,打开kali虚拟机的设置,将虚拟化引擎开启,然后才能在虚拟机里面安装虚拟机

kali docker教程 kali linux cookbook_windows_47

1.开启virtualbox

使用命令virtualbox或者直接用GUI界面打开virtualbox

kali docker教程 kali linux cookbook_windows_48

2.配置virtualbox

(1)在工具栏点击三条横杠,弹出选项,选择介质

kali docker教程 kali linux cookbook_python_49


(2)先点击虚拟光盘,然后点击注册

kali docker教程 kali linux cookbook_windows_50


(3)将下载好的windows7镜像文件添加到介质里,以便后面安装win7时选择

kali docker教程 kali linux cookbook_kali docker教程_51


(4)然后再次点击三条横杠,选择网络

kali docker教程 kali linux cookbook_运维_52


(5)点击创建,自动添加网络适配器,然后勾选上DHCP服务器

kali docker教程 kali linux cookbook_windows_53


这里如果出现下面这种问题的话那我也还没解决,我找了很久很久的解决办法,始终还解决不了,还有每个人的电脑都不一样,不一定都能顺利安装

kali docker教程 kali linux cookbook_运维_54


等我找到解决办法再更新吧,没出现此问题的可以继续往下进行

(6)接下来点击三条横杠,选择欢迎

kali docker教程 kali linux cookbook_windows_55

3.新建虚拟机

为了和前面cuckoo的配置文件一致,所以虚拟机名称设置为cuckoo1

kali docker教程 kali linux cookbook_linux_56


点击创建即可

kali docker教程 kali linux cookbook_kali docker教程_57


点击设置,进行虚拟机的一些必要配置

kali docker教程 kali linux cookbook_linux_58


选择系统版本

kali docker教程 kali linux cookbook_linux_59


点击【系统】设置内存

kali docker教程 kali linux cookbook_windows_60


点击处理器,设置CPU数量

kali docker教程 kali linux cookbook_linux_61


点击【显示】,勾选启用3D加速,然后设置显存大小

kali docker教程 kali linux cookbook_kali docker教程_62


点击【存储】,添加镜像文件

kali docker教程 kali linux cookbook_kali docker教程_63


第一次启动windows点击旁边的小三角形,选择分离式启动

kali docker教程 kali linux cookbook_kali docker教程_64


接下来按照步骤安装windows7虚拟机系统即可

kali docker教程 kali linux cookbook_kali docker教程_65


接受许可条款

kali docker教程 kali linux cookbook_python_66


选择自定义安装

kali docker教程 kali linux cookbook_windows_67


下一步,等待安装完成即可

kali docker教程 kali linux cookbook_kali docker教程_68

4.安装增强功能

(1)安装好之后可能会比较卡,鼠标延迟很严重,所以需要安装增强管理功能VboxGuestAddition,使得用户可以和虚拟机更好地交互,点击设备,然后点击安装增强功能

kali docker教程 kali linux cookbook_linux_69


此时应该会弹出一个链接,点开链接会打开浏览器,选择保存文件,从而下载VBoxGuessAdditions*.iso文件,或者你可以到网上查一查如何安装VBoxGuestAdditions的教程,我这里为你提供一个网盘链接:

https://pan.baidu.com/s/10yKZ71EHzmqMqUTgyc-r5Q 提取码:s7or

(2)下载后将其复制或者直接拖到kali的/root/下载目录下,然后再进行下面的步骤,先注册介质,就和前面注册windows7镜像一样,先点击【工具】,然后点击三条杠,选择介质

kali docker教程 kali linux cookbook_python_70


选择虚拟光盘

kali docker教程 kali linux cookbook_python_71


点击注册,选择

kali docker教程 kali linux cookbook_运维_72

(3)接下来我们需要再添加一个控制器,看我下图所示

kali docker教程 kali linux cookbook_python_73


将增强管理功能的iso镜像文件添加到控制器:PIIX4中

kali docker教程 kali linux cookbook_linux_74


(4)然后打开windows文件管理器

kali docker教程 kali linux cookbook_运维_75


双击,选择VBoxWindowsAdditions安装

kali docker教程 kali linux cookbook_python_76


点击next即可

kali docker教程 kali linux cookbook_运维_77


选择安装位置

kali docker教程 kali linux cookbook_运维_78


点击【install】即可

kali docker教程 kali linux cookbook_windows_79


勾选始终信任按钮,然后安装

kali docker教程 kali linux cookbook_运维_80


安装完成之后重启

5.配置windows7的网络连接

打开网络和共享中心

kali docker教程 kali linux cookbook_linux_81


更改适配器设置

kali docker教程 kali linux cookbook_windows_82


点击【属性】

kali docker教程 kali linux cookbook_python_83


选择Internet协议版本4

kali docker教程 kali linux cookbook_linux_84


进行如下配置,要和之前配置的cuckoo配置文件相同,直接如下配置即可

kali docker教程 kali linux cookbook_windows_85

6.在windows7虚拟机上安装python2.7

安装python

kali docker教程 kali linux cookbook_运维_86


手动配置环境变量:如果python 2.7安装在系统盘,使用下面的方法将可执行文件路径加入PATH:

系统属性—高级—环境变量—系统变量,选择path变量,点击“编辑”按钮。在原有内容之后加入下面的信息(注意使用分号作为分隔符):

;%systemdrive%\Python27;%systemdrive%\Python27\Scripts

kali docker教程 kali linux cookbook_kali docker教程_87


使用echo %path%命令查看配置结果

kali docker教程 kali linux cookbook_运维_88


使用命令pip install pillow在线安装pillow

kali docker教程 kali linux cookbook_运维_89

7.windows7虚拟机的系统配置

1.启用administrator账户

windows 7系统安装时创建了一个账户,而administrator账户是禁用的。沙箱工作时应使用最高权限账户,避免应用程序因权限不足造成其恶意行为无法表达。

kali docker教程 kali linux cookbook_python_90


2.关闭windows功能

(1)关闭防火墙

kali docker教程 kali linux cookbook_python_91


(2)禁用windows更新

kali docker教程 kali linux cookbook_linux_92


(3)关闭UAC

kali docker教程 kali linux cookbook_python_93


kali docker教程 kali linux cookbook_python_94


(4)设置administrator用户开机自动登录

按win+R键,输入control userpasswords2 设置用户自动登录

kali docker教程 kali linux cookbook_windows_95


将【要使用本机,用户必须输入用户名和密码】选项取消勾选

kali docker教程 kali linux cookbook_linux_96


点击确定自动弹出自动登录,输入用户名administrator,密码,点击确定即可

kali docker教程 kali linux cookbook_linux_97

8.部署cuckoo代理程序

(1)在kali上查看agent目录中的文件命令cd ~/.cuckoo/agent

kali docker教程 kali linux cookbook_python_98


(2)使用命令cp agent.py /root/将agent.py文件复制到root目录下

kali docker教程 kali linux cookbook_python_99


(3)将agent.py文件拷贝到Win7虚拟机的系统开机启动目录中:

C:\Users\administrator\AppData\Roaming\MicroSoft\Windows\Start Menu\Programs\Startup\

把agent.py后缀改成agent.pyw,这样程序启动就不会有GUI窗口了。

(4)重启windows虚拟机,按下Ctrl+Alt+Esc键查看任务管理器,选择进程查看是否存在pythonw.exe进程,存在即配置成功

kali docker教程 kali linux cookbook_windows_100

9.验证虚拟机功能

使用cuckoo命令打开Cuckoo

kali docker教程 kali linux cookbook_运维_101


再打开一个命令行终端,输入cuckoo web命令

kali docker教程 kali linux cookbook_运维_102


打开网络浏览器,在地址栏输入localhost:8000回车,出现以下界面则说明配置成功

kali docker教程 kali linux cookbook_linux_103


以上就是所有安装步骤了,每个人电脑都不大一样,所以出现的问题可能都不一样,我也遇到了太多太多坑,但是遇到坑不要慌,慢慢来,直接连坑带路铲了,总会解决,或者也可以私信我,我们一起解决,然后希望这对你有一定的帮助