惡意軟體沙箱 CAPEv2 Sandbox 的建置步驟。
因為是一個相當新而且還在不停更新的專案,安裝過程可能隨時會改變。
因此除了過程外,還會介紹主要的幾個元件跟需要設定的東西,以防未來專案改變時能夠知道怎麼更改步驟
CAPEv2 沿襲自 Cuckoo,Cuckoo的原始版本已經從2019開始就不再維護,語言還是Python2,隨著套件等等的更新只會變得越來越難用。
而CAPEv2沿襲了Cuckoo的架構,將整體程式碼以Python3重寫過,也能夠支援各式各樣的分析,是十分強大的惡意軟體分析沙箱。
但整體安裝過程非常繁瑣,需要下載與設定的東西很多,就算熟悉流程,安裝一次也大約需要花費2~3小時。
在開始前,我們需要準備以下東西
- Linux Ubuntu 22 iso (Host)
- Windows 7 or 10 iso (Guest)
- VMware (或其他VMM)
這是我的配置,CAPEv2的Guest主要是Windows,並且是在QEMU-KVM上運行。
如果想要換成Linux或是實體機請自行參考 官方文件。
如果你想要在原生Ubuntu OS上安裝就不用 VMM,但要注意必須是Ubuntu 22以上的版本,CAPEv2不支援Ubuntu 22以下的版本
如果是Windows透過VMM安裝,請確保Windows是企業或是專業版,且VMM支援巢狀虛擬化功能。
在這邊我們首先要來架設CAPEv2負責分析和收集惡意軟體資料的Host端虛擬機,因為官方有提供安裝腳本所以整體過程不算太複雜,但還是有些需要注意的地方。
-
基本上依照正常的安狀流程進行安裝即可,需要注意的是在使用VMware進行安裝時要配置的硬體需求如下
- Memory >= 8GB
- 硬碟 >= 100GB
- 勾選開啟 Virtual Intel VT-x/EPT or AMD-V/RVI (巢狀虛擬化)
接著設定使用者,這邊需要設定使用者名稱和密碼為 cape
其餘安裝步驟皆依照預設安裝流程進行即可
-
接下來先透過官方提供的sh腳本安裝QEMU-KVM
wget https://raw.githubusercontent.com/kevoreilly/CAPEv2/3b303a4419ce341a121363774ea666ea47befd60/installer/kvm-qemu.sh chmod +x ./kvm-qemu.sh sudo ./kvm-qemu.sh all cape | tee kvm-qemu.log整體安裝需約15分鐘,完成後重啟cape虛擬機。
接著再安裝QEMU-KVM的GUI介面:QEMU-KVM-virt-managersudo ./kvm-qemu.sh virtmanager cape | tee kvm-qemu-virt-manager.log安裝需約5分鐘,完成後重啟cape虛擬機。
-
再來是CAPEv2的本體,官方亦有提供sh腳本來協助安裝
wget https://raw.githubusercontent.com/kevoreilly/CAPEv2/3b303a4419ce341a121363774ea666ea47befd60/installer/cape2.sh chmod +x ./cape2.sh sudo ./cape2.sh all cape | tee ./cape.log整體安裝需約20分鐘,完成後重啟cape虛擬機
-
確認安裝完成後,CAPEv2的目錄應該會位於 /opt/CAPEv2 中,我們需要在這個資料夾進行一些額外套件的安裝
在這邊我們先調整一下相依元件的設定,檔案位於 /CAPEv2/extra/optional_dependencies.txt 中
這邊會引用到pyattck作為attck分析的依賴模組,但語法有誤。雖然目前這個功能貌似還沒有實裝,但為了不讓他報錯還是修改一下
pyattck == "7.1.2" -> pyattck == 7.1.2修改完後,就可以在 /opt/CAPEv2 目錄下執行以下指令來進行虛擬環境依賴套件的安裝
sudo apt install -y libgraphviz-dev sed -ie "s/flask-sqlalchemy/flask-sqlalchemy==3.0.5/" extra/optional_dependencies.txt poetry run pip install -r extra/optional_dependencies.txt最後我們再確認QEMU-KVM-virt-manager是否可以正常執行
virt-manager
輸入上面指令後,應該會出現QEMU-KVM-virt-manager的GUI,確認完成後,重啟cape虛擬機
在選擇ISO檔時,Browse -> Browse Local -> 選擇Win10 映像檔

Memory/Disk/CPU大小與數量可任意,依據你要分析的樣本需求而定。
但要注意使用者名稱的設定,使用者名稱會與之後CAPEv2的設定檔有關,我這邊把Guest的名稱叫做cape1

因為Guest機器是用來運行病毒的,設定帳戶時請注意不要使用自己的Microsoft帳號進行登入,並且將其他隱私設定全都關閉

-
CAPEv2的agent.py需要透過Python3 32bit執行(注意是32bits),並將Python加入到PATH

安裝完成後,重啟Guest,並且安裝截圖用的套件Pillowpip install Pillow == 9.5.0





