首页 > 系统相关 >Ubuntu 20.04安装cuckoo sandbox

Ubuntu 20.04安装cuckoo sandbox

时间:2024-07-15 19:30:37浏览次数:16  
标签:cuckoo 虚拟机 sudo sandbox install pip 安装 20.04

前言:

沙盒(Sanbox)是一种将未知、不可信的软件隔离执行的安全机制。恶意软件分析沙盒一般用来将不可信软件放在隔离环境中自动地动态执行,然后提取其运行过程中的进程行为、网络行为、文件行为等动态行为,安全研究员可以根据这些行为分析结果对恶意软件进行更深入地分析。
课程有一份用cuckoo sandbox监控恶意程序的任务,趁这个机会记录一下我自己的安装过程。(报了许多错,是真的费劲啊= =)
本文参考链接:
Ubuntu20.04系统Cuckoo sandbox所需环境搭建及安装(超详细图文)_cuckoosandbox-CSDN博客
在Virtual Box中安装Windows7 64位虚拟机系统_vb虚拟机按装window 7 64-CSDN博客
https://blog.csdn.net/Znanxuan/article/details/127737315
https://pillow.readthedocs.io/en/latest/installation.html
https://blog.csdn.net/c_programj/article/details/117587971
【杂】虚拟机下ubuntu无法访问github_ubuntu无法范文github-CSDN博客
CuckooCriticalError:请更新您的配置。无法关闭“cuckoo1”或找到处于正确状态的计算机:虚拟机“cuckoo1”不存在!请创建一个或多个 Cuckoo 分析虚拟机,并正确填写 Cuckoo 配置! ·问题 #2345 ·布谷鸟沙盒/布谷鸟 ·GitHub上

1、换源

换的是清华源
39aa27598302d36b14acd807acb1ebf2

2、安装curl

我这里已经安装过了
输入指令sudo apt-get install curl
7da3a97f51f4cdd6a3517597b255f6e1

3、配置Python环境

安装pyhton2.7与pip
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -O
sudo apt get install python
sudo python get-pip.py
sudo apt-get install -y python-dev libffi-dev libssl-dev libfuzzy-dev libtool flex autoconf libjansson-dev git
1a18d08dd7f6828fffba6ac8d842f2bf
然后安装Python支持工具sudo apt-get install -y python-setuptools
f8dd31ff373076d7f70c93d91bb89aa2
现在我们将安装jpeg和接口支持工具
sudo apt-get install -y libjpeg-dev zlib1g-dev swig
52d9298936c1979dce45b8b6546639fa

4、安装mongodb

sudo apt-get install -y mongodb
4902d844877d09f58a80697bd8c0b467
cuckoo推荐的数据库是PostgreSQL,所以运行

sudo apt-get install -y postgresql libpq-dev
e1caf1e9cda0d5a65cef5bfa7cf4a518
这里会爆红,先不管
e30e663e7a273f4d99526c49740c0479

5、安装VirtualBox

安装virtualbox 6.1
sudo apt-get install virtualbox
d636a39e702b5fecd8dadb47a55c63bf

6、下载并安装cuckoo工作所需的所有插件

(1)初始化

cd Downloads/切换到下载文件夹,然后安装volatile
git clone https://github.com/volatilityfoundation/volatility.git
出现此问题
96f454b3b37a87fffce82d8ab5bf5b18
解决方法:重置代理
git config --global --unset https.https://github.com.proxy
git config --global --unset http.https://github.com.proxy
按理来说是可以的,但是又出现新错误
a8500c29b171bf168ecaea79227af9b8
在网上一番查找后,无论是换源,浅层克隆,换ssl等方法均不行(真的试了很久..),可能是校园网太垃圾了吧。。没办法,去github下的源码。然后解压下来再进行下面的步骤。

(2)构建volatile

cd volatility
sudo python setup.py build
b0d348cc03ac863fd278d5e34271d901
安装sudo python setup.py install
然后回到下载目录

(3)安装Distorm3

sudo -H pip install distorm3==3.4.4
43605fc09625c44b568e9c348fea1dab

(4)安装Yara

sudo -H pip install yara-python==3.6.3
e42154d08c6192a30385c5533d254a46

(5)安装ssdeep

sudo apt-get install -y ssdeep
8684756c70adbb26ddea90f295938833
输入ssdeep -V来验证它的安装,目前版本应该是2.14.1版本
4db817a930d5aa7dad333a4e808e0889

(6)安装pydeep

sudo -H pip install pydeep
a5a290008caaf8053c93513c73b28a71
键入pip show pydeep来检查它是否已安装!e50da1af82240cf5faefd8b8c26868a3

(7)安装openpyxl

sudo -H pip install openpyxl
f8c1cb92acc6f10c9f8669277445e820

(8)安装ujson

sudo -H pip install ujson
b8f3c0f56cad21453346e625f70d0a0a

(9)安装jupyter

sudo -H pip install jupyter
cecc276e3fe5b4ec938d9c6ded7f4f84

(10)安装TCPDump以启用数据包捕获分析

sudo apt-get install tcpdump
cf9597405e18d2234b7fd8755c915c61
接着键入
sudo apt-get install libcap2-bin
a723879f431f4ed188a877a11a2e0b60
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
然后getcap /usr/sbin/tcpdump

(11)需要安装和禁用apparmor

因为它通过保护应用程序来保护Ubuntu操作系统,我们希望TCP Dump能够正确运行
sudo apt-get install -y apparmor-utils
1de10961092bc584d704353e6d2f4671
然后输入
sudo aa-disable /usr/sbin/tcpdump

7、安装cuckoo sandbox

键入pip install -U pip setuptools
报错:de47ec9c9676550164e339d7b277215a
Python版本问题,切换到2.7即可
0dbda0833e5bdf91e6c0591e9aea645c
再次输入,得到正确回显
51a8585116e58f32718c51482b639f2a
键入sudo -H pip install -U cuckoo
又报错了。。
ffc27a680c7a612f47d783ab3ee31523

看着确实是2.7没错啊
a148a6e5fb11de0ad721b9e615b57240
求助gpt
从错误信息可以看出,Cuckoo目前仅支持Python 2,因此无法在Python 3环境下安装。你需要使用Python 2来安装它。以下是一些步骤来解决这个问题:

  1. 检查是否已安装Python 2: 运行以下命令,检查Python 2是否已经安装在系统中:
    python2 --version

  2. 安装Python 2(如果未安装): 根据你的操作系统,安装Python 2。例如,在Ubuntu上,可以使用以下命令:

    sudo apt-get update sudo apt-get install python2

  3. 安装pip2: 确保你有适用于Python 2的pip版本。可以通过以下命令安装:

    sudo apt-get install python-pip

    或者,如果你已经有Python 2,可以使用get-pip.py脚本来安装pip2:

    curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py sudo python2 get-pip.py

  4. 使用pip2安装Cuckoo: 使用pip2来安装Cuckoo,而不是pip3:

    sudo -H pip2 install -U cuckoo

通过上述步骤,你应该能够在Python 2环境下成功安装Cuckoo。
gpt真神!
7e8d8dfc2d67a3009fe62f49d4da48e8
4351206614eab0c5ead5943aa3b73cf7

为cuckoo创建目录
mkdir cuckoo

8、设置virtualbox环境

安装网络工具sudo apt install -y net-tools
c3c006141d3f7e8d696c259ef61240d2
键入ifconfig以查找虚拟机的IP地址信息
01b5331be99e28578a76730dda9dd0dc
创建一个只支持主机的网络适配器vboxmanage hostonlyif create
8771de2618f5391559f69ed32039529b
为虚拟接口设置IP地址vboxmanage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1
再次运行ifconfig,看到刚刚设置的接口和ip
b1ce7950400b251bac543520dd274933
要使这些更改在重新启动后仍然有效,并在系统启动期间自动设置。所以需要建立一个新的目录
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保存,enter写入文件。
需要使文件可执行
cd /opt/systemd/
sudo chmod a+x vboxhostonly
需要创建一个服务
sudo touch /etc/systemd/system/vboxhostonlynic.service
编辑文件
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保存,enter写入文件。
安装服务并确保它在引导时加载
systemctl daemon-reload
systemctl enable vboxhostonlynic.service
c563684cd899d01181a8042bbca7dd6e
网络部分完成

9、Windows虚拟机配置

(1)下载32位win7镜像,去官网找即可。

然后在virtualbox按步骤创建一个虚拟机,可以参考这篇在Virtual Box中安装Windows7 64位虚拟机系统_vb虚拟机按装window 7 64-CSDN博客。其实32位的也差不多。
如果出现下面这种错误
fbe8c9f4974ceabe62d85c2c5c9d9725
在虚拟机设置里打开虚拟化intel VT这个选项即可(注意只有先关机才能勾选)
348ad4375d9cef97112ceed3189293b4
如图所示
ba74d5f9590a500ebb61776468dced02

(2)修改win虚拟机的配置,以使虚拟机故意易受攻击。

直接win+r键打开,输入gpedit.msc打开“编辑组策略”选项。
fe4f7669a34ebf5dff0f433f2ae40d83
展开“计算机配置”>“Windows设置”>“安全设置”>“本地策略”>“安全选项”。向下滚动到用户帐户控制选项。
75a572b4b2196d5fdbf9285fb0dc9e68

进行下列操作:
右键单击“用户帐户控制:管理员审批模式下管理员的提升提示行为”,然后选择“属性”。使用下拉菜单选择“不提示,直接提升”,然后单击“确定”。
b57524e30fb60780d2e825779a0bc242

右键单击“用户帐户控制:检测应用程序安装并提示提升”,然后选择属性。选中“禁用”选项,然后单击“确定”。
447ac73f114b012107f43c9df61bfffa

右键单击“用户帐户控制:以管理员批准模式运行所有管理员”,然后选择属性。选中“禁用”选项,然后单击“确定”。

然后禁用Windows更新的自动安装。转到“计算机配置”>“管理模板”>“Windows组件”>“Windows更新”,然后右键单击“配置自动更新和编辑”。选择Enabled,2-Notify for download and Notify for install(2-通知下载并通知安装),然后单击ok。
a7eaf6d30f9a07e64f765a2540da6a3d

然后需要从网络中删除Windows保护。转到“计算机配置”>“管理模板”>“网络”>“网络连接”>“Windows防火墙”>“域配置文件”>“Windows防火墙”,然后将“保护所有网络连接”更改为“禁用”。
e5898439ad6b722aff91d44df631ee07

然后需要禁用Windows Defender,因为不需要防病毒或恶意软件保护。转到“计算机配置”>“管理模板”>“Windows组件”>“Windows Defender Antivirus”来完成此操作,然后将“关闭Windows Defender Antivirus”设置为“已启用”。
673468f1f1cbc0947ffadf0f6d8837be

(3)设置共享文件夹

参考链接:https://blog.csdn.net/Znanxuan/article/details/127737315
这部分忘截图了,最终结果如下
ff7e58db8d5e939ee268504ef746d67c(4)Python配置

注意:最好和Ubuntu虚拟机上面的python2版本一致,在Ubuntu使用python –V查到python的版本为2.7.18。
进入https://www.python.org/downloads/release/python-2718/中下载python-2.7.18.msi。通过共享文件夹传到win7里,直接点击msi安装即可。
安装完成后配置环境变量,在“Path”变量添加:;C:\Python27
901577e382e9fa11f6e98177b8a78872
安装或更新pip。
$python -m pip install --upgrade pip$
b7fdd1633d969fbe39daa724c9178c69
同时搜索和该python版本匹配的python pillow(PIL),pillow库是用于cuckoo截图。参考链接:https://pillow.readthedocs.io/en/latest/installation.html,其中与Python2.7匹配的pillow版本为2-6.2.2,pillow7或以上支持Python3.5或以上
dc242a40295007ecd9b666137287240e

(5)安装Adobe Reader、Flash、Java和以及可能需要的任何其他应用程序。

有需求的自行安装

(6)从Ubuntu虚拟机上传agent.py文件到win虚拟机。

agent.py在Ubuntu虚拟机的~/.cuckoo/agent目录中找到。但有可能在/home/[username]上面没有找到.cuckoo文件夹,解决办法:https://blog.csdn.net/c_programj/article/details/117587971
输入cd /usr/local/bin,发现里面有cuckoo.py可执行文件
输入python cuckoo
da4cd5a736c1f6c7a127214d7afd3420
可以发现现在有cuckoo文件夹了
5870832713bbf5d640a11010ee0d6a69
可以发现配置仍有问题
d9ee1745371863739f58cc3689a1d192
agent.py在Ubuntu虚拟机的~/.cuckoo/agent目录中找到。通过共享文件夹复制到win虚拟机。
复制agent.py到win虚拟机的目录:bash C:\Users\[username]\AppData\Roaming \Microsoft\Windows\Start Menu\Programs\Startup,由此保证在启动虚拟机的时候就可以启动agent.py,可将.py后缀名改为.pyw(该步骤能使agent运行时没有GUI窗口)。
在win7虚拟机上,需要显示隐藏的文件和文件夹才能看到AppData文件夹,通过进入“文件资源管理器”->“组织”->“文件夹选项”来完成操作。也可以直接输入路径。
成功安装所有必需的软件后,重新启动win7虚拟机并登录,此时应该出现一个空白的命令窗口。若出现网络弹出窗口,则单击“允许”。重启后最小化win虚拟机。

(7)设置win网络来创建沙盒环境

在Oracle VM VirtualBox管理器中,单击win虚拟机的设置。选择网络,然后更改附加到:仅主机适配器,并在名称中选择vboxnet0,点击确定。
c2637cba583af61b426841b37fcc6c9d
然后持久化这个设置
sudo apt-get install -y iptables-persistent
提示保存配置时,选择“是”
d892adcafeedd482d30dc1997bbf3708
接着输入以下指令:
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
通过sudo iptables -L来检查规则。
e0f65fc49f1fe3e45799514db858f769
输入echo 1 | sudo tee -a /proc/sys/net/ipv4/ip_forward
sudo sysctl -w net.ipv4.ip_forward=1
sudo nano /etc/sysctl.conf
9456a20ffce51db805aafa004f536c67
把#从net.ipv4.ip_forward=1项移除,然后Ctrl+X退出,Y保存,enter写入文件。
6dfa01fe7a220a45eb02efcafa519857
141261202bdb89e9a9e1670c3381a65a
运行sudo su -,然后运行iptables-save > /etc/iptables/rules.v4

(8)配置Windows7虚拟机的ip地址信息

打开win虚拟机的网络适配器并设置:
1、配置两个网卡,首先要关闭win7虚拟机,然后打开虚拟机设置,选“网络”,网卡1的连接方式为仅主机网络,界面名称为vboxnet0;网卡2的连接方式为NAT。NAT适配器用于Internet访问时;Cuckoo使用Host-Only适配器与win虚拟机内的代理进行通信。
837f71bdcd4932461a19ec44536a9028

2、禁用DHCP。在Oracle VM VirtualBox管理器中点击“工具”,选中网络,点击vboxnet0,将会出现DHCP服务器。取消“启动服务器”的选择。
364f7b36f096e399a85ace9d7502b924
完成上述步骤后,可以拍摄win虚拟机的快照,将其命名为snapshot1。
4961faa15dd3f6f41b11aa7e015f8243

(9)修改Ubuntu网络配置。在“设置”-“网络”-“以太网”-“IPv4”中设置。

97a704fd11cdec1a407bb6106ab6642f

(10)在Ubuntu上完成cuckoo服务的配置。

所有cuckoo配置文件都位于~/.cuckoo/conf或您的主目录cd .cuckoo/目录中。
1、切换到config目录。
cd ~/.cuckoo/conf
2、sudo nano cuckoo.conf
确保设置了以下内容:
version_check = no
machine=virtualbox
memory_dump=yes
[resultserver]
ip=192.168.56.1
port=2042
然后Ctrl+X退出,Y保存,enter写入文件。
3、sudo nano auxiliary.conf
确保设置了以下内容:
[sniffer]
enabled=yes
tcpdump = /usr/sbin/tcpdump
4、sudo nano virtualbox.conf
确保设置了以下内容
[virtualbox]
machines=cuckoo1
[cuckoo1]
label=cuckoo1
platform=windows
ip=192.168.56.101
snapshot=snapshot1
interface=vboxnet0 5、sudo nano processing.conf确保设置了以下内容[memory] enabled=yes 6、sudo nano memory.conf 确保设置了以下内容: [basic] guest_profile=WinXPSP2x86 然后Ctrl+X退出,Y保存,enter写入文件。一般不需要修改。如果需要另一个操作系统,那么通过运行vol.py --info | grep profiles -A48,以获得受支持配置文件的完整列表。 7、sudo nano reporting.conf确保设置了以下内容:[singlefile](需要确保启用report.html) enabled=yes [mongodb] enabled=yes`
8、关闭win7虚拟机,然后重新启动Ubuntu虚拟机。以同一用户身份重新登录(不要以cuckoo用户身份登录)。

10、使用cuckoo

首先需要更新cuckoo的签名,在终端输入cuckoo community
a09d814721a063fb4f8c144bcd521b77
报错了,连不上github
ping一下发现正常,但是却进不去
解决方法:【杂】虚拟机下ubuntu无法访问github_ubuntu无法范文github-CSDN博客
成功了
dc33a3c848108c5310c9214bf256b60b

然后打开Oracle VM VirtualBox管理器,启动cuckoo1虚拟机。登录win7虚拟机后,显示空白命令窗口,再最小化虚拟机。
在Ubuntu虚拟机中,终端窗口1中输入cuckoo,这样就能启动cuckoo,它将坐在等待分析任务。
意料之中,又报错了
b0accfe370546911d1f80bece9d469c4
CuckooCriticalError: Please update your configuration. Unable to shut 'cuckoo1' down or find the machine in its proper state: The virtual machine 'cuckoo1' doesn't exist! Please create one or more Cuckoo analysis VMs and properly fill out the Cuckoo configuration!
上网查询说是权限问题,要切到root
然后又报错
dab09fdcc94fc5b1ba4d85531efe6fdf
查找资料
CuckooCriticalError:请更新您的配置。无法关闭“cuckoo1”或找到处于正确状态的计算机:虚拟机“cuckoo1”不存在!请创建一个或多个 Cuckoo 分析虚拟机,并正确填写 Cuckoo 配置! ·问题 #2345 ·布谷鸟沙盒/布谷鸟 ·GitHub上
06e6c14bdcb0c0a30d3c5d8f6f445798
又告诉我应该在用户态运行,结果再次运行成功了,,不知道为什么。。
ps:后来知道了,是网络ip地址没改,中间改了一次网络ip地址
b6c5ef1394f66da286f6bc2a51ce7ccd

在Ubuntu虚拟机中,终端窗口2中输入cuckoo web runserver 0.0.0.0:8000
7b3486bd962b573afe4101060fa5b941

通过127.0.0.1:8000访问cuckoo网络服务器,或者通过浏览器访问本地网络上的虚拟机IP地址。最后呈现在面前的就是cuckoo sandbox,它们在cuckoo conf文件中有更多的设置,可以将MISP和其他服务直接连接到它。
a7641fed57e4fac92cff93b92a27dc5e
ec08eca839acaa01d4f84ba1b932e700
至此,cuckoo安装完成。在使用cuckoo的时候,记得关注Dashboard里面的硬盘/内存容量,该删dmp等文件的时候就要删除!

标签:cuckoo,虚拟机,sudo,sandbox,install,pip,安装,20.04
From: https://www.cnblogs.com/drc01or/p/18303840

相关文章

  • ubuntu20.04离线部署ceph集群
    版本兼容:查看ceph和系统的版本是否兼容节点说明ceph-admin:192.168.83.133ceph节点IPDomainHostnameServices192.168.83.133stor01.kb.cxceph01mon,mgr,mds192.168.83.134stor02.kb.cxceph02mgr,mon,mds192.168.83.135stor03.kb.cxceph03osd,m......
  • Windows11使用子系统Ubuntu20.04配置图形化界面和安装软件
    前言        在上一章节,我们在windows11下利用wsl2安装了Ubuntu-linux子系统,并下载了android10的源码进行编译(Ubuntu运行环境下Android10源码下载和编译_ubuntu18下载android10源码-CSDN博客)。如果想进行android源码以及framework的学习,一定需要代码编辑软件,我之前学......
  • 服务器ubuntu 20.04关闭自动休眠模式
    1.查看是否开启休眠模式systemctlstatussleep.target发现系统提示: 2.执行关闭休眠功能命令sudosystemctlmasksleep.targetsuspend.targethibernate.targethybrid-sleep.target系统返回: 3.观察系统休眠状态,如下:systemctlstatussleep.target可以看到自......
  • Ubuntu20.04中 ORBSLAM3的安装和测试
    ORBSLAM3安装以及测试教程(Ubuntu20.04)1.前期准备工作1.1安装相关依赖sudoaptinstallgitcmakegccg++mlocate1.2下载ORBSLAM3源码可以直接通过github下载源码:(https://github.com/UZ-SLAMLab/ORB_SLAM3)2.安装一些所需的库2.1安装Eigen3库直接通过命令安装s......
  • RealVNC远程连接Ubuntu20.04(无显示器,开机后可连接)
    场景远程连接工控机时,无法使用VNC连接。需要以下配置菜可以在无屏幕情况下远程直接连接工控机,主要包括:使用Ubuntu内置的vinoVNC提供远程桌面访问。配置自动登录配置虚拟桌面环境Ubuntu20.04配置1、安装Ubuntu内置的桌面共享VNC服务vino。sudoaptinstallvino在“设置->共享->屏......
  • Ubuntu20.04无法安装也无法卸载显卡驱动
     起因是发现nvidia-smi报错:NVIDIA-SMIhasfailedbecauseitcouldn'tcommunicatewiththeNVIDIAdriver.MakesurethatthelatestNVIDIAdriverisinstalledandrunning.然后以为把驱动卸载掉重新装一下就行了。sudoapt-getremove--purgenvidia*//卸载原有......
  • COMM5000 Sandbox PwC Distribution
    ASSESSMENTGUIDECOMM5000Data LiteracySandbox PwC Distribution ProjectMilestone2 InformationTerm 1, 2024AssessmentAdministrativeDetailsTurnitinTurnitin is an originality checking and plagiarism prevention tool that enables checking......
  • Ubuntu20.04之VNC的安装与使用
    本教程适用于Ubuntu20.04及以下版本,Ubuntu22.04版本或有出入更多更新的文章详见我的个人博客:【前往】文章目录1.安装图形桌面1.1选择安装gnome桌面1.2选择安装xface桌面2.安装VNC-Server3.配置VCN-Server4.连接VNC5.设置VNC-Server为系统服务(可选)1.安装图形桌面如果linux系统已经......
  • Ubuntu20.04安装vimplus插件
    参考文章:UbuntuLinux下vimplus的安装及使用安装vimplus之后乱码问题解决1、安装步骤:$gitclonehttps://github.com/chxuan/vimplus.git~/.vimplus$cd~/.vimplus$./install.sh2、./install.sh过程出现选择是否备份/home/yin-roc/.vimrc,选择Y:Find/h......
  • Ubuntu 20.04 上安装和使用 Docker
    如何在Ubuntu20.04上安装和使用Docker如何在Ubuntu20.04上安装和使用Docker-阿里云开发者社区(aliyun.com) 简介:本文最先发布在:https://www.itcoder.tech/posts/how-to-install-and-use-docker-on-ubuntu-20-04/Docker是一个开源的容器化平台,它允许你构建,......