沙箱用于在隔离环境中执行恶意文件,同时仪器的动态行为并收集法医文物。
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依赖性。沃利亚不再痛苦。