kali Linux2021 中安装cuckoo沙箱系统
系统配置 主操作系统kali Linux2021 客户机操作系统windows7 kali网盘连接:https://pan.baidu.com/s/1XZ8QmSKi54e5P4Dlmx6iWA 提取码:bcdr windows网盘连接:https://pan.baidu.com/s/1byN5lYkOWVWJueNYYFr1RQ 提取码:8ed1
注意(重要):要安装cuckoo需要安装virtualbox虚拟机,会比较占用内存,kali机器的硬盘容量至少为60G,还有如果你不是使用root用户登录的系统,则需要在每条命令前面加上sudo,我的kali是root用户登录,所以我省去了sudo
一、安装cuckoo所需的相关软件
1.安装python库
命令 apt-get install python3 python3-pip python2-dev libffi-dev libssl-dev apt-get install python3 -virtualenv python3-setuptools apt-get install libjpeg-dev zlib1g-dev swig
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408171126582.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
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
编辑文件 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408195355942.png)
也可以根据自己的需求在这个网址里选择自己所需要的的ubuntu版本https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/ (2)然后使用命令apt update更新源,但是此时会出现错误 我们可以看到此时会出现错误,是因为ubuntu源在kali里使用时没有数字签名,无法验证安全性,所以还需要导入公钥,使用命令apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 导入 注意:这里的3B4FE6ACC0B21F32是你自己错误提示的签名,需要更换为你自己的
我的需要导入下面两个 将所有需要的公钥都导入 现在使用命令apt update重新更新源 (3)安装mongodb,使用apt-get install mongodb命令 (4)(非必需操作步骤)还原更新源,即将刚才配置文件/etc/apt/sources.list.d/ubuntu.list里添加的ubuntu源用#注释掉
3.安装postgresql
使用apt-get install postgresql libpq-dev命令进行安装 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408202427252.png)
4.安装virtualbox
使用命令apt install virtualbox直接安装 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408202848950.png)
5.安装tcpdump
(1)使用命令apt-get install tcpdump,若已安装则更新 (2)创建pcap组,将root用户加入组,如果是非root用户则需使用chgrp /usr/bin/tcpdump命令修改权限,使用户能都操作tcpdump(cuckoo就以该用户身份运行),命令如下: groupadd pcap usermod -a -G pcap root chgrp pcap /usr/bin/tcpdump setcap cap_net_raw, cap_net_admin=eip /usr/bin/tcpdump 使用getcap /usr/bin/tcpdump命令验证设置 (3)为使用setcap,需要安装libcap2-bin,使用命令apt-get install libcap2-bin,我好像已经安装过了 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408203846219.png)
6.安装volatility
需要直接从github上面获取源码,使用命令git clone https://github.com/volatilityfoundation/volatility.git获取 地址:https://github.com/volatilityfoundation/volatility.git 然后使用cd /volatility命令进入文件夹下,使用python3 setup.py install命令添加库 安装好之后可以使用命令python vol.py -info查看volatility信息,我这里就没截图了,反正只要不出错就行,然后使用命令cd退回到根目录下
7.安装M2crypto
直接使用命令pip install m2crypto安装,用于实现加密连接 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408204836234.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
8.安装guscd
guscd是一项可选服务(可以安装也可以不装),它是为Cuckoo Web界面中的远程控制功能提供RDP,VNC和SSH的转换层,我安装了 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408205155903.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
9.账户管理
(1)将当前用户添加到vboxusers组,我当前是root用户 提高允许打开文件的数量,将下列代码复制到limits.conf文件里
root hard nofile 500000
root soft nofile 500000
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408205422729.png)
二、安装Cuckoo
基本的Cuckoo安装依赖都安装完成,接下来开始安装Cuckoo
1.安装Cuckoo
前面做了这么多铺垫,终于进入正题 (1)使用命令pip install -U pip setuptools安装setuptools (2)使用命令pip install -U cuckoo安装Cuckoo 看到遇到错误,只看这一行,提示:pip2 install -U cuckoo 将pip2 install -U cuckoo命令输入命令行–>回车,发现找不到pip2命令,不用慌,这是因为我的kali中python版本太新,已经丢弃了原来python2中的pip2命令,而且kali源里面也没有命令了,于是想办法直接下载pip2来安装,使用下列命令来安装pip2: 安装pip2参考这个博客:https://blog.csdn.net/weixin_45556441/article/details/111766955 但是它还有点小错误,然后根据错误提示修正就好了,或者直接看我接下来的步骤
先执行命令add-apt-repository universe,这条命令如果无效则不用管了,下一条 apt install python2 如果之前已经安装了python2则可以不用这一步 curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py python2 get-pip.py 可以使用pip2 --version命令查看安装结果
(3)再次执行命令pip install -U pip setuptools,然后安装Cuckoo,安装Cuckoo可以使用两种方法: 第一种直接使用命令pip2 install cuckoo安装,若无法安装则使用第二种方法进行安装 第二种先使用命令门mkdir cuckoo创建一个文件夹,然后cd cuckoo命令进入文件夹,使用命令pip download cuckoo下载cuckoo安装包 然后使用命令pip2 install Cuckoo-2.0.7.tar.gz安装Cuckoo,这里的cuckoo安装包是名字改为你下载的 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408221407710.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
2.首次运行Cuckoo
使用命令cuckoo -d运行,可看到图中有first run字样 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408221552440.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
三、配置Cuckoo主要使用的配置文件
1.配置cuckoo.conf文件
cuckoo.conf:主要的配置文件,最主要的是machinery,用于指定我们使用的虚拟机配置文件,默认是virtualbox,使用vi /root/.cuckoo/conf/cuckoo.conf命令编辑配置文件 重要参数 设置resultserver的ip和端口,如果想要所有客户机都可被监听,可以将ip设置0.0.0.0,端口默认为2042 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408222334671.png)
2.配置virtualbox.conf文件
virtualbox.conf:有关virtualbox虚拟机的配置 将ip设置为虚拟机中的ip地址(虚拟机需要设置固定地址),只需要后面配置虚拟机时将windows虚拟机的ip设置好即可,命令vi /root/./cuckoo/conf/virtualbox.conf 这里网卡名称interface为vboxnet0,虚拟机名称machines为cuckoo1 将ip设置为192.168.56.101 snapshot设置为cuckoo1 resultserver_ip设置为192.168.56.1 resultserver_port设置为2042 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210409103234625.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
3.配置reporting.conf文件
reporting.conf:报告生成模块的配置文件,用来开启jsondump或者HTML Report,还可以配置MongoDB存储分析结果(Web控制台会用到)命令vi /root/./cuckoo/conf/reporting.conf这里的mongodb的enabled一定要设置为yes ![在这里插入图片描述](https://img-blog.csdnimg.cn/2021040822340539.png)
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这一行如图取消注释 使用命令sysctl -p /etc/sysctl.conf使配置生效 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408225449924.png)
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
使用命令iptables -nvL可查看配置规则的结果 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408230618994.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
3.安装dnsmasq
只配置路由转发还是会有问题,windows虚拟机还是不能上网,主要是因为windows虚拟机不能解析域名,所以还需要安装dnsmasq来解析域名 (1)使用命令apt-get install dnsmasq来安装dnsmasq (2)使用vi /etc/default/dnsmasq编辑配置/etc/default/dnsmasq文件 将IGNORE_RESOLVCONF=yes这一行取消注释,使得服务能够开启 (3)使用命令vim /etc/resolv.personal编辑自己的resolv.personal文件 查找国内可用的DNS服务器,添加ip地址到文件中 (4)更改dns服务器配置文件,命令vi /etc/dnsmasq.conf打开文件,将resolv-file换成上面配置的/etc/resolv.personal即可,保存退出 (5)先执行下列两条命令,这是为了解决8000端口占用问题,记得要先执行 systemctl stop systemd-resolved systemctl disable systemd-resolved ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408232650315.png)
然后再执行service dnsmasq start命令开启dnsmasq服务 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408232656206.png)
五、在virtualbox中安装windows7虚拟机
注意:这里提示一下,如果你是在虚拟机里面安装虚拟机的话,还需要设置一个东西,打开kali虚拟机的设置,将虚拟化引擎开启,然后才能在虚拟机里面安装虚拟机 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408234615365.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
1.开启virtualbox
使用命令virtualbox或者直接用GUI界面打开virtualbox ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408232949949.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
2.配置virtualbox
(1)在工具栏点击三条横杠,弹出选项,选择介质 (2)先点击虚拟光盘,然后点击注册 (3)将下载好的windows7镜像文件添加到介质里,以便后面安装win7时选择 (4)然后再次点击三条横杠,选择网络 (5)点击创建,自动添加网络适配器,然后勾选上DHCP服务器 这里如果出现下面这种问题的话那我也还没解决,我找了很久很久的解决办法,始终还解决不了,还有每个人的电脑都不一样,不一定都能顺利安装 等我找到解决办法再更新吧,没出现此问题的可以继续往下进行 (6)接下来点击三条横杠,选择欢迎 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408233626212.png)
3.新建虚拟机
为了和前面cuckoo的配置文件一致,所以虚拟机名称设置为cuckoo1 点击创建即可 点击设置,进行虚拟机的一些必要配置 选择系统版本 点击【系统】设置内存 点击处理器,设置CPU数量 点击【显示】,勾选启用3D加速,然后设置显存大小 点击【存储】,添加镜像文件 第一次启动windows点击旁边的小三角形,选择分离式启动 接下来按照步骤安装windows7虚拟机系统即可 接受许可条款 选择自定义安装 下一步,等待安装完成即可 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408235840575.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
4.安装增强功能
(1)安装好之后可能会比较卡,鼠标延迟很严重,所以需要安装增强管理功能VboxGuestAddition,使得用户可以和虚拟机更好地交互,点击设备,然后点击安装增强功能 此时应该会弹出一个链接,点开链接会打开浏览器,选择保存文件,从而下载VBoxGuessAdditions*.iso文件,或者你可以到网上查一查如何安装VBoxGuestAdditions的教程,我这里为你提供一个网盘链接: https://pan.baidu.com/s/10yKZ71EHzmqMqUTgyc-r5Q 提取码:s7or (2)下载后将其复制或者直接拖到kali的/root/下载目录下,然后再进行下面的步骤,先注册介质,就和前面注册windows7镜像一样,先点击【工具】,然后点击三条杠,选择介质 选择虚拟光盘 点击注册,选择 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210409105138950.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
(3)接下来我们需要再添加一个控制器,看我下图所示 将增强管理功能的iso镜像文件添加到控制器:PIIX4中 (4)然后打开windows文件管理器 双击,选择VBoxWindowsAdditions安装 点击next即可 选择安装位置 点击【install】即可 勾选始终信任按钮,然后安装 安装完成之后重启
5.配置windows7的网络连接
打开网络和共享中心 更改适配器设置 点击【属性】 选择Internet协议版本4 进行如下配置,要和之前配置的cuckoo配置文件相同,直接如下配置即可 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210409001418487.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
6.在windows7虚拟机上安装python2.7
安装python 手动配置环境变量:如果python 2.7安装在系统盘,使用下面的方法将可执行文件路径加入PATH: 系统属性—高级—环境变量—系统变量,选择path变量,点击“编辑”按钮。在原有内容之后加入下面的信息(注意使用分号作为分隔符): ;%systemdrive%\Python27;%systemdrive%\Python27\Scripts 使用echo %path%命令查看配置结果 使用命令pip install pillow在线安装pillow ![在这里插入图片描述](https://img-blog.csdnimg.cn/2021040900175173.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
7.windows7虚拟机的系统配置
1.启用administrator账户 windows 7系统安装时创建了一个账户,而administrator账户是禁用的。沙箱工作时应使用最高权限账户,避免应用程序因权限不足造成其恶意行为无法表达。 2.关闭windows功能 (1)关闭防火墙 (2)禁用windows更新 (3)关闭UAC (4)设置administrator用户开机自动登录 按win+R键,输入control userpasswords2 设置用户自动登录 将【要使用本机,用户必须输入用户名和密码】选项取消勾选 点击确定自动弹出自动登录,输入用户名administrator,密码,点击确定即可 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210409002224448.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
8.部署cuckoo代理程序
(1)在kali上查看agent目录中的文件命令cd ~/.cuckoo/agent (2)使用命令cp agent.py /root/将agent.py文件复制到root目录下 (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进程,存在即配置成功 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210409002932179.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIyODEz,size_16,color_FFFFFF,t_70)
9.验证虚拟机功能
使用cuckoo命令打开Cuckoo 再打开一个命令行终端,输入cuckoo web命令 打开网络浏览器,在地址栏输入localhost:8000回车,出现以下界面则说明配置成功 以上就是所有安装步骤了,每个人电脑都不大一样,所以出现的问题可能都不一样,我也遇到了太多太多坑,但是遇到坑不要慌,慢慢来,直接连坑带路铲了,总会解决,或者也可以私信我,我们一起解决,然后希望这对你有一定的帮助
|