iT邦幫忙

2026 iThome 鐵人賽

DAY 12
0

1. 建立 Windows Guest VM

官方目前建議:

Windows 10
或
Windows 11 23H2

並指出分析 VM 建議關閉 User Account Control(UAC)。([CAPE Sandbox][4])

我建議第一台:

Windows 10 x64

第二台再:

Windows 11 23H2

這樣可以比較不同 malware 對 OS 的行為。


2. Guest VM 硬體設定

沒有官方固定規格,所以第一台可以先:

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 架構不方便。


3. Windows Guest 安裝 Python

這裡有一個很容易踩雷的地方。

目前官方 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

4. Guest Python PATH

安裝 Python 時:

Add Python to PATH

然後:

python --version

再:

python -m pip install --upgrade pip
python -m pip install Pillow

Pillow 用於螢幕截圖等功能。([CAPE Sandbox][6])


5. Guest 不要裝成普通工作機

這台 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])


6. 安裝 CAPE Agent

從 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])


7. Agent 安裝後一定測試

假設 Guest:

192.168.122.100

Host 測:

curl http://192.168.122.100:8000

或者瀏覽器:

http://192.168.122.100:8000

Agent 正常後才繼續。

官方明確要求 Snapshot 前先驗證 Agent。([GitHub][7])


8. Windows Guest 網路設定

這是 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])


9. 我特別建議第一階段:完全不要 Internet

初始部署先:

Windows VM
    │
    └── isolated network
             │
             X
          Internet

先驗證:

CAPE
→ VM 啟動
→ Agent
→ Sample
→ Process
→ Report

全部成功後,再研究:

Internet routing
InetSim
VPN
PCAP

不要第一次安裝就讓 malware 可以連 Internet。


10. 如果之後要開 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])


11. Guest 的 Firewall / Update

CAPE 官方文件建議為了避免干擾分析:

Windows Firewall
    ↓
Disable

Automatic Updates
    ↓
Disable

原因不是「安全性」,而是 Windows Firewall / Update 會改變 malware 的真實行為並產生額外 network noise。([CAPE Sandbox][10])

但這裡有一個非常重要的前提:

只有在高度隔離的 Malware Analysis 網路中才這麼做。

不能把這台 Guest 接到你的公司 LAN 後又把 Firewall 關掉。


12. 建立 Snapshot

這一步是 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

上一篇
開始安裝 CAPEV2
系列文
從情資收集到資安鑑識:30 天建構自動化威脅情資與鑑識平台 共 12 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言