官方目前建議:
Windows 10
或
Windows 11 23H2
並指出分析 VM 建議關閉 User Account Control(UAC)。([CAPE Sandbox][4])
我建議第一台:
Windows 10 x64
第二台再:
Windows 11 23H2
這樣可以比較不同 malware 對 OS 的行為。
沒有官方固定規格,所以第一台可以先:
vCPU 4
RAM 8 GB
Disk 60–100 GB
Disk type QCOW2
NIC 1
KVM 特別注意:
QCOW2
官方要求 KVM Guest 使用可 Snapshot 的磁碟格式,例如 QCOW2 或 LVM;文件採 QCOW2 作為範例。([CAPE Sandbox][5])
不要第一台就使用:
RAW
然後才發現 snapshot 架構不方便。
這裡有一個很容易踩雷的地方。
目前官方 Guest requirements 說:
Windows Guest
Python 3.10 < version < 3.13
32-bit / x86
也就是:
Python 3.10 / 3.11 / 3.12
x86
官方文件明確警告,在 Windows Guest 使用 64-bit Python 可能導致 analyzer crash。([CAPE Sandbox][6])
而 README 的安裝建議仍寫著 agent.py 曾以 Python 3.7.2/3.8 x86 測試。這是目前 README 與較新的 Guest 文件存在時間差的地方;新部署應優先按照目前 Guest installation documentation 的版本範圍。([GitHub][1])
我會選:
Python 3.12 x86
安裝 Python 時:
Add Python to PATH
然後:
python --version
再:
python -m pip install --upgrade pip
python -m pip install Pillow
Pillow 用於螢幕截圖等功能。([CAPE Sandbox][6])
這台 Windows VM 的目的是:
Malware Detonation
不是:
Office 工作機
如果你需要測:
PDF Malware
Office Malware
Browser Malware
JavaScript
HTA
PowerShell
DOC / XLS
再依分析目的安裝對應軟體。
而且 CAPE 官方建議把額外軟體的:
Auto Update
Check for Updates
關掉,避免干擾分析結果。([CAPE Sandbox][6])
從 Host:
/opt/CAPEv2/agent/agent.py
把它放進 Windows Guest。
官方要求每一台 Guest 都需要 Agent,而且 Agent 必須以 elevated privilege 啟動。([GitHub][7])
Windows 10+ 建議使用:
Task Scheduler
不要直接把它丟到一般 Startup folder。
官方建議:
Task Scheduler
↓
Create Basic Task
↓
When I log on
↓
Start a program
↓
agent.pyw
↓
Run with highest privileges
另外,可以把:
agent.py
改成:
agent.pyw
避免開 CMD 視窗干擾分析。([GitHub][7])
假設 Guest:
192.168.122.100
Host 測:
curl http://192.168.122.100:8000
或者瀏覽器:
http://192.168.122.100:8000
Agent 正常後才繼續。
官方明確要求 Snapshot 前先驗證 Agent。([GitHub][7])
這是 CAPE 最重要的部分之一。
你不能只是:
Windows VM
↓
公司 LAN
↓
Internet
應該設計成:
Management
│
Ubuntu Host ────────┤
│
CAPE Network
│
▼
Windows VM
CAPEv2 有專門的:
routing.conf
rooter.py
來決定 Guest 的網路是否:
none
drop
internet
VPN
InetSim
Tor
SOCKS
官方預設 route = none,也就是不替 Guest 做 Internet routing。([GitHub][8])
初始部署先:
Windows VM
│
└── isolated network
│
X
Internet
先驗證:
CAPE
→ VM 啟動
→ Agent
→ Sample
→ Process
→ Report
全部成功後,再研究:
Internet routing
InetSim
VPN
PCAP
不要第一次安裝就讓 malware 可以連 Internet。
CAPE 需要:
IP forwarding
官方文件:
sudo sysctl -w net.ipv4.ip_forward=1
也可以:
echo 1 | sudo tee -a /proc/sys/net/ipv4/ip_forward
但官方提醒這個設定重開機後不會自動持久化,除非另外配置。([CAPE Sandbox][9])
CAPE 官方文件建議為了避免干擾分析:
Windows Firewall
↓
Disable
Automatic Updates
↓
Disable
原因不是「安全性」,而是 Windows Firewall / Update 會改變 malware 的真實行為並產生額外 network noise。([CAPE Sandbox][10])
但這裡有一個非常重要的前提:
只有在高度隔離的 Malware Analysis 網路中才這麼做。
不能把這台 Guest 接到你的公司 LAN 後又把 Firewall 關掉。
這一步是 CAPE 能不能正常工作的核心。
流程:
Windows
↓
安裝乾淨
↓
Python
↓
Agent
↓
分析用軟體
↓
Network
↓
重開
↓
確認 Agent
↓
Snapshot
KVM 官方建議:
QCOW2
然後:
virsh snapshot-create-as --domain "<VM>" --name "<snapshot>"
官方要求 Snapshot 時 Guest 要:
Windows 已完整開機
Agent 正在跑
([CAPE Sandbox][5])
例如:
VM: win10-cape
Snapshot: clean