官方资源:
github地址:GitHub - kevoreilly/CAPEv2: Malware Configuration And Payload Extraction
官方文档:Installing CAPE — CAPE Sandbox v2.2 Book
安装流程:
1. 准备工作:
- 虚拟机环境:本文部署环境为VMWare虚拟机中Ubuntu22.04。虚拟机需要打开Intel VT-x!下图为VMWare的设置,若使用VirtualBox请查阅相关设置。
- 确保网络通畅:这一步非常重要!
- 卸载Ubuntu的自动更新:自动更新经常在安装过程中突然占用dpkg导致安装出现报错!
sudo apt remove unattended-upgrades
-
将Ubuntu默认的sh设置为bash:ubuntu默认为dash,但安装脚本需要bash执行。以bash xx.sh的方式可能解决,但更稳妥的方式是修改默认sh:
sudo dpkg-reconfigure dash
出现界面后选择No,回车即可。
-
安装依赖:在安装过程中缺乏下述依赖会报错。
sudo apt install mlocate sudo apt install ninja-build
- 完成此步骤后建议拍摄虚拟机快照。
2. 安装KVM:
- Cape官方github中提供了KVM安装脚本,但笔者实测总会报错,因此选择apt自行安装。
- 安装KVM:
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils libvirt-dev libvirt-daemon sudo apt install virt-manager -y
- 通过virt-manager指令,通过GUI界面安装win10虚拟机。注:一定安装win10专业版!由于家庭版无法永久关闭病毒实时保护,会给后续恶意软件分析带来很大麻烦!关闭过程可参考:Win10如何彻底关闭实时保护(第二种才有效)-CSDN博客
- win10安装好后,需要进行一系列配置,请按照官方文档一步一步进行:Requirements — CAPE Sandbox v2.2 Book。具体步骤包括:安装python3(32位)、网络设置、agent.py部署与开机自启、关闭自动更新、开机状态下拍摄快照等。
- 测试win10:宿主机通过curl访问win10的8000端口,得到一串json字符串,则代表部署成功。
- 快照拍摄后,关机即可。CAPE需要在KVM虚拟机关闭的情况下运行。
- 完成此步骤后建议拍摄虚拟机快照。
3. 安装CAPEv2:
- Git下载CAPEv2项目:
git clone https://github.com/kevoreilly/CAPEv2.git
- 安装CAPEv2:在CAPEv2/installer/目录下执行(执行过程较长):
sudo bash ./cape2.sh base cape | tee cape.log
-
重启计算机。
-
检查1:通过以下命令能切换到cape用户。如果显示没有cape用户,则安装过程中可能出错,建议重新执行cape2.sh。
sudo su - cape -c /bin/bash
结果如下(用户能顺利切换):
- 检查2:分别执行以下指令,检查是否均有对应服务存在:
systemctl status cape.service
systemctl status cape-processor.service
systemctl status cape-web.service
systemctl status cape-rooter.service
-
完成此步骤后建议拍摄虚拟机快照。
4. 依赖安装:
- 切换至cape用户:
sudo su - cape -c /bin/bash
- 进入路径:
cd /opt/CAPEv2/
-
执行:
poetry install
-
注:笔者执行此步骤时并未成功安装依赖,搜索后得知poetry在识别路径大小写时存在问题,将路径中的CAPEv2命名为capev2后,执行poetry install则安装成功。安装成功后再将文件夹名复原。
-
检查:执行以下指令,若得到对应输出,则安装成功。
poetry env list 输出:capev2-t2x27zRb-py3.10 (Activated)
-
完成此步骤后建议拍摄虚拟机快照。
5. 配置修改:
- 进入路径:
cd /opt/CAPEv2/
- 修改配置:
vim conf/cuckoo.conf # 将121行的ip地址修改为本机ip。 vim conf/kvm.conf # 将cuckoo1的配置修改为win10的配置。cape1的配置为宿主机配置。resultserver_ip为能与win10 ping通的宿主机IP。 vim conf/routing.conf # 如果需要捕获pcap包,把enable_pcap设置为yes
6. 启动:
- 在/opt/CAPEv2目录下:
sudo systemctl stop cape.service
sudo -u cape poetry run ./cuckoo.py
sudo -u cape poetry run ./web/manage.py migrate
sudo -u cape poetry run ./web/manage.py runserver 0000:8856
- 访问本机8000端口,则进入cuckoo主页,可以提交与分析样本。
- 若在使用中,浏览器报csrf相关错误,则注释掉./web/web/setting.py 的MIDDLEWARE的'django.middleware.csrf.CsrfViewMiddleware',重启即可。
- 后续CAPE会开机自启,开机后直接访问本机8000端口即可访问web。
- 通过指令也可提交样本或清除分析结果:
提交:sudo -u cape poetry run python utils/submit.py --timeout 60 /path/to/binary 清除:sudo -u cape poetry run python utils/cleaners.py --clean
7. 分析结果查看
- web中查看:进入顶部Recent标签页,点击栏目的Filename即可看到分析结果(栏目状态必须为reported才能查看结果)。
- 文件夹中查看:/opt/CAPEv2/storage/analyses中,存放每次提交的检测结果,存放结果的文件夹以检测ID命名。