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-dev
apt-get install python3 -virtualenv python3-setuptools
apt-get install libjpeg-dev zlib1g-dev swig
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
编辑文件
也可以根据自己的需求在这个网址里选择自己所需要的的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
命令进行安装
4.安装virtualbox
使用命令apt install virtualbox
直接安装
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
,我好像已经安装过了
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
安装,用于实现加密连接
8.安装guscd
guscd是一项可选服务(可以安装也可以不装),它是为Cuckoo Web界面中的远程控制功能提供RDP,VNC和SSH的转换层,我安装了
9.账户管理
(1)将当前用户添加到vboxusers组,我当前是root用户
提高允许打开文件的数量,将下列代码复制到limits.conf文件里
root hard nofile 500000
root soft nofile 500000
二、安装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:
但是它还有点小错误,然后根据错误提示修正就好了,或者直接看我接下来的步骤先执行命令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安装包是名字改为你下载的
2.首次运行Cuckoo
使用命令cuckoo -d
运行,可看到图中有first run字样
三、配置Cuckoo主要使用的配置文件
1.配置cuckoo.conf文件
cuckoo.conf:主要的配置文件,最主要的是machinery,用于指定我们使用的虚拟机配置文件,默认是virtualbox,使用vi /root/.cuckoo/conf/cuckoo.conf
命令编辑配置文件
重要参数
设置resultserver的ip和端口,如果想要所有客户机都可被监听,可以将ip设置0.0.0.0,端口默认为2042
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
3.配置reporting.conf文件
reporting.conf:报告生成模块的配置文件,用来开启jsondump或者HTML Report,还可以配置MongoDB存储分析结果(Web控制台会用到)命令vi /root/./cuckoo/conf/reporting.conf
这里的mongodb的enabled一定要设置为yes
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
使配置生效
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
可查看配置规则的结果
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
然后再执行service dnsmasq start
命令开启dnsmasq服务
五、在virtualbox中安装windows7虚拟机
注意:这里提示一下,如果你是在虚拟机里面安装虚拟机的话,还需要设置一个东西,打开kali虚拟机的设置,将虚拟化引擎开启,然后才能在虚拟机里面安装虚拟机
1.开启virtualbox
使用命令virtualbox
或者直接用GUI界面打开virtualbox
2.配置virtualbox
(1)在工具栏点击三条横杠,弹出选项,选择介质
(2)先点击虚拟光盘,然后点击注册
(3)将下载好的windows7镜像文件添加到介质里,以便后面安装win7时选择
(4)然后再次点击三条横杠,选择网络
(5)点击创建,自动添加网络适配器,然后勾选上DHCP服务器
这里如果出现下面这种问题的话那我也还没解决,我找了很久很久的解决办法,始终还解决不了,还有每个人的电脑都不一样,不一定都能顺利安装
等我找到解决办法再更新吧,没出现此问题的可以继续往下进行
(6)接下来点击三条横杠,选择欢迎
3.新建虚拟机
为了和前面cuckoo的配置文件一致,所以虚拟机名称设置为cuckoo1
点击创建即可
点击设置,进行虚拟机的一些必要配置
选择系统版本
点击【系统】设置内存
点击处理器,设置CPU数量
点击【显示】,勾选启用3D加速,然后设置显存大小
点击【存储】,添加镜像文件
第一次启动windows点击旁边的小三角形,选择分离式启动
接下来按照步骤安装windows7虚拟机系统即可
接受许可条款
选择自定义安装
下一步,等待安装完成即可
4.安装增强功能
(1)安装好之后可能会比较卡,鼠标延迟很严重,所以需要安装增强管理功能VboxGuestAddition,使得用户可以和虚拟机更好地交互,点击设备,然后点击安装增强功能
此时应该会弹出一个链接,点开链接会打开浏览器,选择保存文件,从而下载VBoxGuessAdditions*.iso文件,或者你可以到网上查一查如何安装VBoxGuestAdditions的教程,我这里为你提供一个网盘链接:
https://pan.baidu.com/s/10yKZ71EHzmqMqUTgyc-r5Q 提取码:s7or
(2)下载后将其复制或者直接拖到kali的/root/下载
目录下,然后再进行下面的步骤,先注册介质,就和前面注册windows7镜像一样,先点击【工具】,然后点击三条杠,选择介质
选择虚拟光盘
点击注册,选择
(3)接下来我们需要再添加一个控制器,看我下图所示
将增强管理功能的iso镜像文件添加到控制器:PIIX4中
(4)然后打开windows文件管理器
双击,选择VBoxWindowsAdditions安装
点击next即可
选择安装位置
点击【install】即可
勾选始终信任按钮,然后安装
安装完成之后重启
5.配置windows7的网络连接
打开网络和共享中心
更改适配器设置
点击【属性】
选择Internet协议版本4
进行如下配置,要和之前配置的cuckoo配置文件相同,直接如下配置即可
6.在windows7虚拟机上安装python2.7
安装python
手动配置环境变量:如果python 2.7安装在系统盘,使用下面的方法将可执行文件路径加入PATH:
系统属性—高级—环境变量—系统变量,选择path变量,点击“编辑”按钮。在原有内容之后加入下面的信息(注意使用分号作为分隔符):
;%systemdrive%\Python27;%systemdrive%\Python27\Scripts
使用echo %path%命令查看配置结果
使用命令pip install pillow
在线安装pillow
7.windows7虚拟机的系统配置
1.启用administrator账户
windows 7系统安装时创建了一个账户,而administrator账户是禁用的。沙箱工作时应使用最高权限账户,避免应用程序因权限不足造成其恶意行为无法表达。
2.关闭windows功能
(1)关闭防火墙
(2)禁用windows更新
(3)关闭UAC
(4)设置administrator用户开机自动登录
按win+R键,输入control userpasswords2 设置用户自动登录
将【要使用本机,用户必须输入用户名和密码】选项取消勾选
点击确定自动弹出自动登录,输入用户名administrator,密码,点击确定即可
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进程,存在即配置成功
9.验证虚拟机功能
使用cuckoo
命令打开Cuckoo
再打开一个命令行终端,输入cuckoo web
命令
打开网络浏览器,在地址栏输入localhost:8000回车,出现以下界面则说明配置成功
以上就是所有安装步骤了,每个人电脑都不大一样,所以出现的问题可能都不一样,我也遇到了太多太多坑,但是遇到坑不要慌,慢慢来,直接连坑带路铲了,总会解决,或者也可以私信我,我们一起解决,然后希望这对你有一定的帮助