沙箱用於在隔離環境中執行惡意文件,同時儀器的動態行為並收集法醫文物。
CAPE源自杜鵑V1,該杜鵑在Windows平台上具有以下核心功能:
Cape用幾個關鍵的補充來補充杜鵑的傳統沙盒輸出:
在線有一個免費的演示實例,任何人都可以使用:
https://capesandbox.com-有關帳戶激活到達https://twitter.com/capesandbox
杜鵑花盒在2010年的Google Summer of Code Project開始於Honeynet項目。它最初是由Claudio Guarnieri設計和開發的,該版本於2011年發布。 2014年1月,杜鵑V1.0發行。
2015年是關鍵的一年,在杜鵑的歷史上有很大的叉子。原始監視器和API鉤方法的開發在主要杜鵑項目中停止了。使用由Jurriaan Bremer創建的Linux工具鏈編譯的基於restructuredText的簽名格式將其取代。
大約在同一時間,布拉德·斯皮德(Brad Spender)Spengler繼續開發原始監視器,並進行了重大改進,包括64位支持,並重要地是引入Microsoft的Visual Studio編譯器。
同年,凱文·奧里利(Kevin O'Reilly)在上下文信息安全性開始了動態命令行配置和有效載荷提取工具的動態命令行配置和有效載荷提取工具。該名稱是作為“配置和有效載荷提取”的首字母縮寫詞,而原始研究的重點是使用Microsoft的Detours Library提供的API鉤子來捕獲未包裝的惡意軟件有效負載和配置。但是,很明顯,僅API掛鉤提供了不足的功率和精度,無法從任意惡意軟件中解開有效載荷或配置。
因此,研究開始進入一個新穎的調試器概念,以使惡意軟件得到精確控制和儀器,同時避免使用Microsoft調試界面,以便盡可能隱秘。該調試器已集成到概念驗證的基於繞道的命令行工具中,並結合API掛鉤並產生非常強大的功能。
當最初的工作表明可以用杜鵑修飾的API鉤引擎替換Microsoft Detours時,Cape Sandbox的想法就誕生了。隨著添加調試器,自動解開包裝,基於Yara的分類和集成配置提取,2016年9月在44CON上,Cape Sandbox首次公開發布:Cape版本1。
在2018年夏天,該項目很幸運地看到了長期以來的杜鵑貢獻者Andriy“ Doomedraven” Brukhovetskyy的巨大貢獻。 2019年,他開始了將開普敦移植到Python 3的艱鉅任務,並於該年10月發布了CAPEV2。
開普經過不斷開發和改進,以跟上惡意軟件和操作系統功能的進步。在2021年,添加了通過動態Yara掃描在爆炸過程中編程CAPE調試器的能力,從而可以為反對盒技術創建動態旁路。 Windows 10成為默認操作系統,其他重要的添加包括Interactive桌面,AMSI(反惡意軟件掃描接口)有效載荷捕獲,基於Microsoft Nirvana和基於Debugger的直接/間接SYSCALL SYSCALL COLLEMERURES的“ SYSCALL HONKING”。

惡意軟件可以通過三種機制在CAPE中分類:

可以使用Cape自己的框架進行解析,或者支持以下框架:RatdeCoders,DC3-MWCP,MALDUCK或MACO
def extract_config(data):將由cape_utils.py和0並發症調用。
CAPE利用許多惡意軟件技術或行為來允許打開包裝的有效載荷捕獲:
這些行為將導致捕獲有效載荷被注入,提取或解壓縮以進行進一步分析。另外,Cape會自動為每個過程創建一個過程轉儲,或者在DLL的情況下,將DLL的模塊圖像在內存中。這對於裝有簡單包裝器的樣品很有用,在該樣品中通常完全打開模塊圖像轉儲。
除了Cape的默認“被動”解開包裝機制外,還可以啟用“ Active”解開包裝,該包裝使用斷點來檢測寫作對新分配或受保護的內存區域,以便儘早捕獲未包裝的有效載荷。通過Web提交tickbox或指定選項unpacker=2啟用此功能,默認情況下會影響爆炸質量,因為它會否決。
可以通過Yara簽名對CAPE進行編程,以解開特定的包裝工。例如,UPX型包裝器非常普遍,儘管在CAPE中,這些結果是被動捕獲的未包裝有效載荷,但是在未包裝的有效負載開始執行後進行默認捕獲。因此,通過通過自定義Yara簽名動態檢測UPX衍生的包裝工並在最終包裝器指令上設置斷點,可以在開始執行之前在其原始入口點(OEP)處捕獲有效載荷。


在調用特定的API函數時,可以在Web界面中指定的特定API函數(例如dump-on-api=DnsQuery_A )時,允許dump-on-api模塊。
調試器使斗篷能夠繼續發展超出其原始能力,現在包括動態的反逃避旁路。由於現代惡意軟件通常試圖在沙箱中逃避分析,例如,通過使用定時陷阱進行虛擬化或API鉤檢測,CAPE允許開發動態對策,結合YARA簽名中的調試器動作來檢測出發性惡意軟件,因為它引爆,並執行控制控制操作以迫使樣品迫使該樣品迫使完全或Skip Accip acip vasip acip vasip vasip vasip avasive vasip avasip vasip vasip vasip vasip vasip vasip vasip vasip vasip vasip vasip vasip。


通過提交選項bp0通過bp3接受RVA或VA值以設置斷點,因此可以輸出簡短的指令跟踪,由count和depth選項控制(例如bp0=0x1234,depth=1,count=100 )。 
要在模塊入口點設置斷點,使用ep代替地址(例如bp0=ep )。另外, break-on-return允許在掛鉤API的返回地址上有一個斷點(例如, break-on-return=NtGetContextThread )。可選的base-on-api參數允許通過API呼叫設置RVA斷點的圖像庫(例如, base-on-api=NtReadFile,bp0=0x2345 )。

options action0 action3允許在擊中斷點時執行操作,例如傾倒內存區域(EG action0=dumpebx )或更改執行控制流(EG action1=skip )。開普文檔包含此類行動的進一步示例。
包含CAPE監視器代碼的存儲庫是不同的。
有一個簽名社區存儲庫,其中包含開普敦社區開發的數百個簽名。所有新的社區功能都應推向該倉庫。後來,如果開發人員能夠並願意維護它們,則可以將它們移至核心。
請通過幫助創建新的簽名,解析器或繞過進一步的惡意軟件系列來為該項目做出貢獻。目前有很多作品,所以請觀看此空間。
非常感謝 @d00m3dr4v3n單槍匹馬將斗篷移植到Python 3。
python3
只能將根器執行為root ,其餘的作為CAPE用戶。作為根部運行會弄亂權限。
conf文件夾中讀取所有配置文件!kvm-qemu.sh和cape2.sh應從tmux會話中執行,以防止ssh連接斷開的任何操作系統問題。<username> 。<WOOT> !sudo ./kvm-qemu.sh all <username> 2>&1 | tee kvm-qemu.logsudo ./cape2.sh base 2>&1 | tee cape.logconf文件夾中配置文件。systemctl restart <service_name>journalctl -u <service_name>-h以獲取幫助菜單。在調試模式( -d )下運行服務也可以提供幫助。-h ,但請檢查腳本以了解他們在做什麼。git pullpython3 utils/community.py -waf請參閱-h以前確保您了解 git add --all
git commit -m '[STASH]'
git pull --rebase origin master
# fix conflict (rebase) if needed
git reset HEAD~1
# make sure kevoreilly repo has been added as a remote (only needs to be done once)
git remote add kevoreilly https://github.com/kevoreilly/CAPEv2.git
# make sure all your changes are commited on the branch which you will be merging
git commit -a -m '<your commit message goes here>'
# fetch changes from kevoreilly repo
git fetch kevoreilly
# merge kevoreilly master branch into your current branch
git merge kevoreilly/master
# fix merge conflicts if needed
# push to your repo if desired
git push
如果您在工作中使用CAPEV2,請根據“引用此存儲庫” GitHub菜單中指定的引用。
pefile作為他們想要的每個引腳版本的人。pefile依賴性。沃利亞不再痛苦。