iT邦幫忙

2026 iThome 鐵人賽

DAY 13
0

1. CAPE Host 安裝

回到 Ubuntu:

cd /opt/CAPEv2/installer

先:

./cape2.sh -h

這一步非常重要。

目前 cape2.sh 支援:

Base
All
Sandbox
Dependencies
Systemd
Nginx
LetsEncrypt
Suricata
PostgreSQL
Yara
Yara-x
Volatility3
Mongo
...

目前 All 的意思真的是「裝很多東西」,官方腳本自己也提醒不要在不知道內容的情況下直接使用。([GitHub][11])


2. 我建議第一次怎麼裝 CAPE

第一次 Lab,我建議:

sudo bash cape2.sh base | tee cape2.log

官方文件目前的安裝指令也有:

sudo ./cape2.sh base cape | tee cape.log

但目前 cape2.sh 本身的 usage/範例已經演進到:

sudo bash cape2.sh all | tee cape2.log

而且支援 CAPE_ROOT、USE_UV 等新參數。([GitHub][3])

因此:

請以你實際 checkout 的 cape2.sh -h 為準,不要盲目複製舊文章。

這是 CAPEv2 特別需要注意的地方。


3. Poetry / UV

目前官方推薦 Poetry,也已經加入 UV 支援。

預設:

/opt/CAPEv2
Poetry

或者新方式:

sudo CAPE_ROOT=/mnt/sandbox/CAPEv2 USE_UV=True bash cape2.sh all | tee cape2.log

目前 script 明確支援:

CAPE_ROOT
USE_UV=True

([GitHub][11])

我的建議:

第一次部署:

Poetry

先照官方預設。

第二套實驗環境,再研究:

UV

4. CAPE 服務

安裝後會有:

cape.service
cape-processor.service
cape-web.service
cape-rooter.service

([GitHub][3])

查:

systemctl status cape.service
systemctl status cape-processor.service
systemctl status cape-web.service
systemctl status cape-rooter.service

Log:

journalctl -u cape.service
journalctl -u cape-processor.service
journalctl -u cape-web.service
journalctl -u cape-rooter.service

官方也明確說只有某些工具,例如 rooter.py,需要 root;主要 CAPE 程式應該以 cape user 執行。全部用 root 跑反而容易造成 permission 問題。([GitHub][1])


5. CAPE 設定檔

至少要理解這幾個:

conf/cuckoo.conf
conf/auxiliary.conf
conf/kvm.conf
conf/memory.conf
conf/processing.conf
conf/reporting.conf
conf/routing.conf

官方要求至少要調整:

auxiliary.conf
cuckoo.conf
machinery.conf

其中:

cuckoo.conf
→ CAPE 基本設定

kvm.conf
→ 哪些 VM 可以跑

routing.conf
→ Guest 網路怎麼走

processing.conf
→ 結果怎麼分析

reporting.conf
→ 報告輸出

([CAPE Sandbox][12])


6. 不建議直接修改 default config

官方目前建議:

custom/conf/

例如:

custom/conf/cuckoo.conf
custom/conf/kvm.conf
custom/conf/routing.conf

只放你需要覆寫的設定。

這樣 CAPEv2 更新後比較不會把你的設定弄掉。([CAPE Sandbox][12])

這一點我很建議你遵守。


7. kvm.conf 要把你的 Windows VM 加進去

官方範例是:

[kvm]

machines = cuckoo1

interface = virbr0

dsn = qemu:///system

[cuckoo1]

label = cuckoo1
platform = windows
ip = 192.168.122.105
arch = x86

其中:

label

必須對得上:

virsh list --all

裡面的 VM 名稱。([GitHub][13])


8. Web UI

CAPE Web 預設可以在:

http://127.0.0.1:8000

啟動。

官方 production 部署則建議:

Gunicorn
+
NGINX

而且如果要暴露給其他人使用,應該啟用 Web authentication。([CAPE Sandbox][14])

因此第一個 Lab 不需要急著:

Internet
 ↓
NGINX
 ↓
CAPE

先:

管理端
 ↓
localhost:8000

即可。


9. 啟動 CAPE

如果使用 Poetry:

cd /opt/CAPEv2
sudo -u cape poetry run python3 cuckoo.py

官方也說明 CAPE 應該以 cape user 執行。([CAPE Sandbox][15])

測試模式:

sudo -u cape poetry run python3 cuckoo.py -t

Debug:

sudo -u cape poetry run python3 cuckoo.py -d

10. 磁碟空間要特別注意

CAPE 會留下:

PCAP
memory dump
screenshots
dropped files
JSON
HTML
process dumps

而官方 cuckoo.conf 預設 free-space threshold 就是:

50 GB

([CAPE Sandbox][12])

所以:

100 GB SSD

不是我建議的正式 CAPE Storage。

第一台 Lab:

200 GB

比較舒服。

如果大量分析:

500 GB ~ 1 TB+

比較合理。


11. MongoDB / AVX 注意事項

這是目前 2026 版值得特別提醒你的地方。

目前 cape2.sh 預設會處理 MongoDB,而且腳本現在:

MongoDB 8.0

如果 CPU 有 AVX,走新版 MongoDB。

如果沒有 AVX,腳本會退回:

MongoDB 4.4

官方腳本也明確指出 MongoDB >= 5 需要 AVX。([GitHub][11])

所以你的 Host CPU 最好:

支援 AVX

這也是為什麼我不建議拿非常老舊 CPU 建 CAPEv2。


12. 更新 CAPEv2 不要直接 apt upgrade

這是官方很重要的一個警告。

CAPE 安裝腳本安裝的套件:

KVM
libvirt
Python dependencies
MongoDB
其他依賴

不要在不理解依賴關係的情況下:

apt upgrade

或:

apt install -f

官方明確警告,這可能把 KVM/libvirt/CAPE 的相依性弄壞。([GitHub][3])

尤其 kvm-qemu.sh 本身就有:

NEVER FORCE system upgrade

的警告。([GitHub][16])


13. CAPEv2 是 Rolling,不是「裝完就一年不動」

目前官方明確說:

CAPE is maintained and updated in a rolling fashion.

也就是:

沒有固定 release
沒有「裝 v2.6 就永遠固定」

所以正式環境應該:

Git commit
     ↓
Test Lab
     ↓
Validation
     ↓
Production

而不是:

git pull
systemctl restart cape*

然後直接祈禱。


上一篇
[Day 12]Windows Guest VM
下一篇
省時間的人(需熟悉環境)
系列文
從情資收集到資安鑑識:30 天建構自動化威脅情資與鑑識平台 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言