SandBox - CAPEv2
装系统时,用户直接注册为cape
!!!!! 省心
所有<username>
均替换为cape
用户
服务环境Ubuntu 22.04,所有linux系统一定要update!!!
这款沙箱目前主windows环境,其它环境需自行摸索(可参考CUCKoo)。就像作者说的一样:
For advanced users only, can be buggy, linux analysis is work in progress for fun
难顶
(本次网络配置为实际网络,需注意安全。)
[toc]
-
前置环境
-
配置代理
-
系统代理
-
应用代理
-
记得取消代理配置
-
安装
-
KVM
-
CAPE
-
cuckoo
-
客户端配置(分析端)
-
系统安装(WIN7)
-
系统安装(U18.04)
-
Cuckoo 配置
-
cuckoo.conf
-
kvm.conf
-
auxiliary.conf
-
routing.conf
-
web.conf
-
report
-
附加软件
-
安装过程问题及解决(Issues)
-
libvirt(可忽略)
-
choco 离线安装教程
-
Win7环境Chrome字体显示不清晰
-
python3.8.6安装缺少补丁
-
Linux客户端
-
中文名称乱码
前置环境
apt update
apt-get upgrade
apt install git
apt install privoxy
git clone https://github.com/kevoreilly/CAPEv2 //CAPE
- installer/cape2.sh
- installer/kvm-qemu.sh
- installer/suricata_from_source.sh
# git clone https://github.com/doomedraven/Tools //KVM
# - Virtualization/kvm-qemu.sh
配置代理
主要用于解决git等站点通信情况,若无此需求可以忽略此步骤
系统代理
-
privoxy.conf
/etc/privoxy/config
1、代理服务器
# forward-socks5t / localhost:1080 .
==>
forward-socks5 / 192.168.1.2:1080
2、本地监听
listen-address 127.0.0.1:8118
-
环境配置
cat /etc/profile.d/proxy.sh
# Proxy
export all_proxy="http://localhost:8118"
export http_proxy="http://localhost:8118"
export https_proxy="http://localhost:8118"
-
环境加载
source /etc/profile //当前用户
chmod +x /etc/profile.d/proxy.sh //重启后所有用户自动加载
reboot //因为个人喜欢直接root操作,所以需要重启,以便普通用户cape环境生效。
-
启动服务
systemctl start privoxy
systemctl enable privoxy
应用代理
-
git
配置socks
git config --global http.proxy 'socks5://192.168.1.2:1080'
git config --global https.proxy 'socks5://192.168.1.2:1080'
记得取消代理配置
完成安装--cuckoo操作后,一定要取消代理
mv /etc/profile.d/proxy.sh /opt
systemctl stop privoxy
systemctl enable privoxy
git config --global --unset http.proxy
git config --global --unset https.proxy
reboot
安装
本文使用KVM作为分析客户机启动环境,除此之外也支持vmware、Vbox、Xen、Azure以及真实机等
KVM
sudo ./kvm-qemu.sh all <username> // 源码编译kvm
reboot
sudo ./kvm-qemu.sh virtmanager <username> //安装virtmanager
reboot
CAPE
sudo ./cape2.sh base cape
reboot
执行脚本后,会安装下列4个服务(大致功能,未探索具体):
-
cape.service cape分析 -
cape-web.service web服务 -
cape-processor.service 分析处理+报告 -
cape-rooter.service 路由
这4个功能除cape服务会在conf配置完成后正常运行,其它3个均正常启动状态。
cuckoo
# 依赖安装,创建新环境避免依赖冲突造成无法安装
(若不使用这个方法,会造成各种问题,很伤--
在运行沙箱前,需配置客户端)
sudo poetry install
poetry env list
sudo -u cape poetry run python cuckoo.py //运行沙箱
或者使用virtualenv
apt install python3-virtualenv
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
python cuckoo.py # 运行沙箱
客户端配置(分析端)
系统安装(WIN7)
建议安装时使用英文系统
qemu-img create -f qcow2 -o size=120G /opt/Analysis/win7.qcow2
通过命令创建的文件可以避免给出的容量超出实际容量问题
依赖安装
WIN10无需安装NET和Powershell,Win7建议下载离线包安装
-
python3 -
.NET 4.5.2 -
Powershell 5.1 -
choco
环境配置
见官方手册
-
网络配置 https://capev2.readthedocs.io/en/latest/installation/guest/network.html -
网络配置2 https://capev2.readthedocs.io/en/latest/installation/guest/additional_configuration.html
Agent配置
将CAPE/agent/agent.py
上传客户端,并修改后缀为pyw
(隐藏窗口)
配置计划任务,当用户登陆时以最高权限运行。
创建快照
virsh snapshot-create "<Name of VM>" //自动生成快照名称
或
virsh snapshot-create-as --domain "<Name of VM>" --name "<Name of snapshot>" //自定义快照名称
其它(可不做)
x
系统安装(U18.04)
建议安装时使用英文系统
qemu-img create -f qcow2 -o size=120G /opt/Analysis/u1804.qcow2
通过命令创建的文件可以避免给出的容量超出实际容量问题
更新系统及依赖安装
apt update
apt upgrade
apt install -y curl wget git
环境配置
参考手册依次安装即可,未出现失败
https://capev2.readthedocs.io/en/latest/installation/guest/linux.html
创建快照
virsh snapshot-create "<Name of VM>" //自动生成快照名称
或
virsh snapshot-create-as --domain "<Name of VM>" --name "<Name of snapshot>" //自定义快照名称
Cuckoo 配置
CAPEv2/custom/conf/
此处为客户定制化配置目录,其加载优先级高于CAPEv2/conf/
cuckoo.conf
machinery = kvm //客户机虚拟环境,根据情况填写
rooter = /tmp/cuckoo-rooter
ip = 192.168.202.1 //virbr0地址
port = 2042
resolve_dns = on
kvm.conf
本环境为kvm,若是cuckoo.conf配置的vbox则此处应编辑的文件为
machines = cuckoo1 //配置Guest标签,用于后期选择分析环境用。
interface = virbr0 //指定当前客户端网卡
[cuckoo1] // 沙箱的具体配置信息
label = win7 // 客户端domain名称
platform = windows // 操作系统类型 windows/darwin/linux
ip = 192.168.202.211 //客户机地址
snapshot = init-win7-run //快照名称,用于自动分析还原
arch = x64 //系统架构
auxiliary.conf
[sniffer]
enabled = yes
tcpdump = /usr/bin/tcpdump // 指定tcpdump路径,并给与cape用户可执行权限,不然无法监听网络流量
interface = virbr0 //监听网卡,用于收集网络流量情况
[gateways]
RTR1 = 192.168.202.1 //各网卡网关情况,可自由增减
RTR2 = 192.168.136.2
#RTR3 = 10.0.2.15
#INETSIM = 192.168.100.130 //用于模拟dns网络,可自行配置并指定。
routing.conf
route = internet
internet = ens33 //服务器外网卡
[inetsim]
enabled = no //这里没有启用, yes启用 - no关闭
server = 192.168.100.130
dnsport = 53
interface = virbr0
至此,基础环境已安装完毕,下面.conf
文件根据需求配置即可。
web.conf
[web_reporting]
enabled = yes
[linux]
enabled = yes 如若不配置,无法使用linux分析环境
[malscore]
enabled = yes 开启软件恶意值评分
若是部署供他人使用,也可在此文件中启用并配置用户权限
report
默认为json报告模式
[reporthtmlsummary]
enabled = yes html格式报告
screenshots = yes 将截图插入报告
[reportpdf]
enabled = yes pdf模式报告,需开启前置html报告
附加软件
注意:需要禁止联网操作,如:更新
-
Office 2010 SP2(14.0.725 或 > 14.0.6) -
docker 容器模拟同网段存活机
version: '3'
services:
mysql:
image: mysql:5.6
restart: always
#volumes:
#- $PWD/conf:/etc/mysql/conf.d
#- $PWD/data:/var/lib/mysql
#- $PWD/logs:/logs
environment:
- MYSQL_ROOT_PASSWORD=SandBox@svbai
networks:
vv:
ipv4_address: 192.168.202.3
redis:
image: redis
restart: always
command: redis-server --port 6379 --requirepass SandBox@svbai
networks:
vv:
ipv4_address: 192.168.202.100
gobangd:
image: svbai/gobangd
restart: always
networks:
vv:
ipv4_address: 192.168.202.208
ubuntu:
image: ubuntu:18.04
restart: always
stdin_open: true
tty: true
expose:
- 4444
- 22
networks:
vv:
ipv4_address: 192.168.202.223
samba:
image: dperson/samba
restart: always
networks:
vv:
ipv4_address: 192.168.202.241
networks:
vv:
external: true
安装过程问题及解决(Issues)
libvirt(可忽略)
这里主要是刚开始安装时,未更新系统,导致的。后来重装系统并更新后就没有这个问题。
问题1:缺少缺少libvirt
apt install python3-libvirt
sudo ./kvm.sh libvirt cape
问题2:/var/run/libvirt/virtqemud-sock 没有文件
kvm环境编译问题,需要重新编译
choco 离线安装教程
1) 确认powershell 策略
1、获取Powershell当前策略
Get-ExecutionPolicy //获取当前策略
Restricted // 表明系统当前执行策略为 Restricted 模式
// - 允许单独的命令,但不会运行脚本。
// - 阻止所有脚本文件的运行,包括格式设置文件和配置文件 (.ps1xml)、模块脚本文件 (.psm1) 和 Windows PowerShell 配置文件 (.ps1)。
2、修改策略为 RemoteSigned
Set-ExecutionPolicy -Scope CurrentUser //进入修改交互界面
RemoteSigned //输入要修改的策略
// - 脚本可以运行。
// - 要求从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)具有受信任的发布者的数字签名。
// - 不要求你在本地计算机上编写的脚本(不是从 Internet 下载的)具有数字签名。
// - 如果脚本已被取消阻止(比如通过使用 Unblock-File cmdlet),则运行从 Internet 下载但未签名的脚本。
// - 存在运行来自 Internet 之外的源的未签名脚本和已签名但却是恶意的脚本的风险。
3、出现执行策略更改的内容,输入 Y ,更改执行策略。
4、Get-ExecutionPolicy //确认是否更改
2) 参考官网离线安装手册:下载最新版nupkg和安装脚本
https://docs.chocolatey.org/en-us/choco/setup#completely-offline-install
3)修改脚本关键代码(共两处)
-
第一处(46替换绝对路径)
46 $localChocolateyPackageFilePath = Join-Path $env:TEMP 'chocolatey.nupkg'
===>
46 $localChocolateyPackageFilePath = 'C:UserAdministratorDownloadchocolatey.nupkg'
-
第二处(注释276、277、278)
273 # Idempotence - do not install Chocolatey if it is already installed
274 if (!(Test-Path $ChocoInstallPath)) {
275 # download the package to the local path
276 #if (!(Test-Path $localChocolateyPackageFilePath)) {
277 # Download-Package $searchUrl $localChocolateyPackageFilePath
278 #}
279
280 # Install Chocolatey
281 Install-ChocolateyFromPackage $localChocolateyPackageFilePath
282 }
4)powershell(管理员)运行脚本即可
离线安装参考
-
官方文档 https://docs.chocolatey.org/en-us/choco/setup#completely-offline-install -
CSDN https://blog.csdn.net/omaidb/article/details/126669503
Win7环境Chrome字体显示不清晰
官方下载KB2670838补丁安装即可
python3.8.6安装缺少补丁
见百度云盘:https://pan.baidu.com/s/1FqusHUYmHsUnBp-cx21qpQ?pwd=wagb
Linux客户端
一定要更新系统软件后在开始配置,不然会出现下面的错误
E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi'
E: Sub-process returned an error code
中文名称乱码
这里在分析报告 - 进程模块中依旧会出现????
,影响不大[狗头]
-
lib/cuckoo/common/utils.py
共5处修改
-
analyzer/windows/lib/core/config.py
1处修改
-
参考文档
团队承接以下业务,详情咨询扫描二维码添加好友。
扫描二维码添加好友,一起交流学习。
原文始发于微信公众号(网络安全交流圈):SandBox - CAPEv2 踩坑记
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论