×

ubuntu上安装cuckoo恶意软件检测系统

a_lyx a_lyx 发表于2025-05-11 21:41:58 浏览177 评论0

抢沙发发表评论

网上的一些教程写的太乱了,自己整理一下(也挺乱的O。o),使用系统(主ubuntu22.04.5  win7)不同的版本有微小差异

参考文章链接

https://www.cnblogs.com/drc01or/p/18303840#3%E9%85%8D%E7%BD%AEpython%E7%8E%AF%E5%A2%83

https://zhuanlan.zhihu.com/p/433899132

https://zhuanlan.zhihu.com/p/373773218

https://cloud.tencent.com.cn/developer/article/2425683

https://blog.csdn.net/zwjzone/article/details/137114806

配置主机ubuntu

ubuntu22.04版本

vm安装虚拟机,配置可视化操作界面(参考文章:https://zhuanlan.zhihu.com/p/373773218)

sudo -i #进入root权限内
sudo apt update && sudo apt upgrade  #更新系统包

下载桌面一键安装管理包

sudo apt install tasksel

安装tasksel桌面使用命令

sudo apt install ubuntu-desktop

安装和配置显示管理器

sudo apt install lightdm


选择lightdm 按enter.

启动显示管理器并加载 GUI

sudo service lightdm start

检查是否配置成功:3

cat /etc/X11/default-display-manager

image.png

reboot

重启


安装内容需要空间很大,进行扩容操作(https://cloud.tencent.com.cn/developer/article/2425683)

安装linux扩容工具

sudo apt-get install gparted -y
gparted

image.png

修改磁盘配置信息:

lsblk

输出:
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0     4K  1 loop /snap/bare/5
loop1                       7:1    0  63.9M  1 loop /snap/core20/2318
loop2                       7:2    0  63.8M  1 loop /snap/core20/2571
loop3                       7:3    0  73.9M  1 loop /snap/core22/1963
loop4                       7:4    0 241.5M  1 loop /snap/firefox/6103
loop5                       7:5    0   516M  1 loop /snap/gnome-42-2204/202
loop6                       7:6    0  91.7M  1 loop /snap/gtk-common-themes/1535
loop7                       7:7    0    87M  1 loop /snap/lxd/29351
loop8                       7:8    0  89.4M  1 loop /snap/lxd/31333
loop9                       7:9    0  38.8M  1 loop /snap/snapd/21759
loop10                      7:10   0  50.9M  1 loop /snap/snapd/24505
sda                         8:0    0    60G  0 disk 
├─sda1                      8:1    0     1M  0 part 
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0    58G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0    19G  0 lvm  /
sr0                        11:0    1     2G  0 rom  /media/ubuntu/Ubuntu-Server 22.04.5 LTS amd64

磁盘空间为分配到位

sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

lsblk查看结果:(修改部分)

sda                         8:0    0    60G  0 disk 
├─sda1                      8:1    0     1M  0 part 
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0    58G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0    58G  0 lvm  /
sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv  # 增加10G
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv         # 调整文件系统
sh


安装所需包:

安装python2.7

# 1. 安装 Python 2.7
sudo apt update
sudo apt install -y python2

# 2. 安装 pip(Python 2.7)
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -O
sudo python2 get-pip.py

# 安装 Python 2.7 的开发包(Ubuntu 20.04+ 可能需要)
sudo apt install -y python2-dev

# 安装其他依赖
sudo apt install -y libffi-dev libssl-dev libfuzzy-dev libtool flex autoconf libjansson-dev git

sudo apt-get install -y python-dev libffi-dev libssl-dev libfuzzy-dev libtool flex autoconf libjansson-dev git

安装mongodb

添加 MongoDB 官方 GPG 密钥

sudo apt update
sudo apt install -y gnupg curl
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb.gpg

添加 MongoDB 官方仓库

echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

更新软件包列表并安装 MongoDB

sudo apt update
sudo apt install -y mongodb-org

启动 MongoDB 服务

sudo systemctl start mongod
sudo systemctl enable mongod

检查 MongoDB 是否运行

sudo systemctl status mongod

成功运行结果:

● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2025-05-11 15:05:59 UTC; 6s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 9421 (mongod)
     Memory: 66.7M
        CPU: 247ms
     CGroup: /system.slice/mongod.service
             └─9421 /usr/bin/mongod --config /etc/mongod.conf

cuckoo推荐的数据库是PostgreSQL,所以运行

sudo apt-get install -y postgresql libpq-dev

安装virtualbox虚拟机

sudo apt-get install virtualbox

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


1)初始化

git clone https://github.com/volatilityfoundation/volatility.git


2)构建volatile

cd volatility
sudo python setup.py build

安装

sudo python setup.py install


3)安装Distorm3

sudo -H pip install distorm3==3.4.4


4)安装Yara

sudo -H pip install yara-python==3.6.3


5)安装ssdeep

sudo apt-get install -y ssdeep

输入

ssdeep -V

来验证它的安装


6)安装pydeep

sudo -H pip install pydeep


键入pip show pydeep来检查它是否已安装!


7)安装openpyxl

sudo -H pip install openpyxl


8)安装ujson

sudo -H pip install ujson


9)安装jupyter

sudo -H pip install jupyter
pip install ipywidgets==4.1.1
pip install jupyter==1.0.0


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

sudo apt-get install tcpdump
sudo apt-get install libcap2-bin
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/tcpdump
getcap /usr/bin/tcpdump


11)需要安装和禁用apparmor

sudo apt-get install -y apparmor-utils
sudo aa-disable /usr/sbin/tcpdump


7、安装cuckoo sandbox

pip install -U pip setuptools
sudo -H pip install -U cuckoo

设置virtualbox环境

ifconfig

创建一个只支持主机的网络适配器

vboxmanage hostonlyif create

为虚拟接口设置IP地址

vboxmanage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1
ifconfig

Windows虚拟机配置

提前准备一份win7镜像穿如虚拟机中

image.png

vm ubuntu开启虚拟化后才可以在虚拟机内套娃虚拟机

image.png

配置win7镜像:

image.png


image.png

安装pro工具,关闭防火墙


image.png

配置共享文件夹:将python.exe安装包放到win7共享文件夹内安装:


安装python

image.png


安装pip

image.png


安装pillow

image.png


ubuntu22.04安装dnsmasq(解决wiin7无法连网)(https://blog.csdn.net/zwjzone/article/details/137114806


检查是否安装了 dnsmasq

which dnsmasq || echo "dnsmasq not installed"

结果:

/usr/sbin/dnsmasq


Ubuntu 22.04 NetworkManager 自带 dnsmasq 但默认没有启用.


vim /etc/NetworkManager/NetworkManager.conf
添加:dns=dnsmasq


根据需要添加 dnsmasq 配置

vim /etc/NetworkManager/dnsmasq.d/dnsmasq.conf

# 监听地址(本机 + 多网卡)
listen-address=192.168.2.157,127.0.0.1,192.168.56.1

# 上游 DNS 服务器
server=8.8.8.8
server=1.1.1.1
server=/github.com/8.8.8.8
server=/cn/114.114.114.114

# 本地域名映射
address=/test.bitcq.net/192.168.152.132

# 缓存与性能
cache-size=10000
no-resolv
no-poll

# 日志(调试后建议关闭)
# log-queries
# log-facility=/var/log/dnsmasq.log

# 防 DNS 污染(可选)
bogus-nxdomain=114.114.114.114  # 丢弃伪造的 NXDOMAIN 响应


修改 /etc/resolv.conf 使用 dnsmasq 作为 dns 服务


vim /etc/resolv.conf
nameserver 127.0.0.1


停止并禁用 systemd-resolved

sudo systemctl stop systemd-resolved.service
sudo systemctl disable systemd-resolved.service

手动创建 dnsmasq.service 文件

sudo nano /etc/systemd/system/dnsmasq.service

[Unit]
Description=DNS caching forwarder
After=network.target

[Service]
ExecStart=/usr/sbin/dnsmasq -k
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target


某些系统(如 Ubuntu + systemd-resolved)可能会 屏蔽 dnsmasq 服务,需要手动启用:

sudo systemctl daemon-reload  # 重新加载 systemd 配置
sudo systemctl enable --now dnsmasq  # 启动并设置开机自启


systemctl status dnsmasq

测试:nslookup test.bitcq.net

输出:

Server:127.0.0.1
Address:127.0.0.1#53
Name:test.bitcq.net
Address: 192.168.152.132

检查并启用 IP 转发

永久生效需修改 /etc/sysctl.conf

sudo vim /etc/sysctl.conf

取消注释或添加:

net.ipv4.ip_forward = 1

然后生效:

sudo sysctl -p


从Ubuntu虚拟机上传agent.py文件到win虚拟机

image.png

放在python安装目录下运行

此时开启监听端口,代表成功

image.png


1.配置cuckoo.conf文件

所有cuckoo配置文件都位于~/.cuckoo/conf或您的主目录cd .cuckoo/目录中。

配置cuckoo.conf

sudo nano cuckoo.conf

version_check = no
machine=virtualbox
memory_dump=yes
[resultserver]
ip=192.168.56.1
port=2042


配置auxiliary.conf

sudo nano auxiliary.conf
[sniffer]
enabled=yes
tcpdump = /usr/sbin/tcpdump

配置virtualbox.conf

sudo nano virtualbox.conf

[virtualbox]
machines=cuckoo1
[cuckoo1]
label=cuckoo1
platform=windows
ip=192.168.56.101
snapshot=snapshot1
interface=vboxnet0

配置 processing.conf

sudo nano processing.conf

[memory]
enabled=yes

配置memory.conf

sudo nano memory.conf
[basic]
guest_profile=WinXPSP2x86

配置reporting.conf

sudo nano reporting.conf
[singlefile](需要确保启用report.html)
enabled=yes
[mongodb]
enabled=yes

启动

终端1在非root用户下执行

cuckoo


终端2在非root用户下执行启动web界面

cuckoo web runserver 0.0.0.0:8000


启动成功:


image.png

image.png

image.png

image.png

image.png

image.png

群贤毕至

访客