Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CAPEv2 — 恶意软件配置与有效载荷提取 | Kitploit
工具/GitHubGitHub/kevoreilly/capev2
动态分析 (沙盒)内存取证漏洞分析网络取证逆向工程调试器取证分析恶意软件分析学习与教育
GitHubkevoreilly/capev2

CAPEv2

恶意软件配置与有效载荷提取

查看仓库
3.4k59720小时16分前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

CAPE:恶意软件配置与有效载荷提取 - 文档

CAPE 是一个恶意软件沙箱。

沙箱用于在隔离环境中执行恶意文件,同时检测其动态行为并收集取证痕迹。

CAPE 源自 Cuckoo v1,在 Windows 平台上具备以下核心功能:

  • 基于 API 挂钩的行为检测
  • 捕获执行期间创建、修改和删除的文件
  • 以 PCAP 格式捕获网络流量
  • 基于行为和网络签名进行恶意软件分类
  • 在恶意软件执行期间截取桌面截图
  • 对目标系统进行完整内存转储

CAPE 通过以下几个关键补充,扩展了 Cuckoo 传统的沙箱输出:

  • 自动化的动态恶意软件解包
  • 基于解包后有效载荷的 YARA 签名进行恶意软件分类
  • 静态和动态恶意软件配置提取
  • 可通过 YARA 签名编程的自动化调试器,支持:
    • 自定义解包/配置提取器
    • 动态反沙箱对抗措施
    • 指令追踪
  • 交互式桌面

有一个免费的在线演示实例,任何人都可以使用:

https://capesandbox.com - 账户激活请联系 https://twitter.com/capesandbox

一些历史

Cuckoo 沙箱最初是 2010 年在 Honeynet 项目内的一个 Google Summer of Code 项目。最初由 Claudio Guarnieri 设计和开发,第一个测试版于 2011 年发布。2014 年 1 月,Cuckoo v1.0 发布。

2015 年是关键的一年,Cuckoo 历史上出现了一个重要的分支。原始监控器和 API 挂钩方法的开发在主 Cuckoo 项目中停止。取而代之的是由 Jurriaan Bremer 创建的一个替代监控器,该监控器使用基于 restructuredText 的签名格式,并通过 Linux 工具链编译。

大约在同一时间,一个名为 Cuckoo-modified 的分支由 Brad 'Spender' Spengler 创建,继续开发原始监控器,并进行了重大改进,包括 64 位支持,最重要的是引入了 Microsoft Visual Studio 编译器。

同年,Kevin O'Reilly 在 Context Information Security 开始开发一种名为 CAPE 的动态命令行配置和有效载荷提取工具。其名称是 'Config And Payload Extraction' 的缩写,最初的研究重点是利用 Microsoft 的 Detours 库提供的 API 挂钩来捕获解包后的恶意软件有效载荷和配置。然而,显然仅凭 API 挂钩不足以提供足够的能力和精度来解包任意恶意软件的有效载荷或配置。

因此,开始研究一种新型调试器概念,以精确控制和检测恶意软件,同时避免使用 Microsoft 的调试接口,力求尽可能隐蔽。该调试器被集成到基于 Detours 的概念验证命令行工具中,与 API 挂钩相结合,从而产生非常强大的能力。

当初步工作表明可以用 Cuckoo-modified 的 API 挂钩引擎 替换 Microsoft Detours 时,CAPE 沙箱的想法诞生了。随着调试器、自动解包、基于 YARA 的分类和集成配置提取的加入,CAPE 沙箱于 2016 年 9 月在 44con 上首次公开发布:CAPE 版本 1。

2018 年夏天,项目有幸迎来了 Andriy 'doomedraven' Brukhovetskyy 的巨大贡献的开始,他是 Cuckoo 的长期贡献者。2019 年,他开始将 CAPE 移植到 Python 3 的艰巨任务,并在同年 10 月发布了 CAPEv2。

CAPE 不断开发和改进,以跟上恶意软件和操作系统能力的进步。2021 年,增加了通过动态 YARA 扫描在引爆过程中编程 CAPE 调试器的能力,从而可以为反沙箱技术创建动态绕过。Windows 10 成为默认操作系统,其他重大补充包括交互式桌面、AMSI(反恶意软件扫描接口)有效载荷捕获、基于 Microsoft Nirvana 的 'syscall hooking' 以及基于调试器的直接/间接系统调用对抗措施。

分类

image

在 CAPE 中,可以通过三种机制对恶意软件进行分类:

  • 对解包后的有效载荷进行 YARA 扫描
  • 对网络捕获进行 Suricata 扫描
  • 对 API 挂钩输出进行行为签名扫描

配置提取

image

可以使用 CAPE 自身的框架进行解析,此外,还支持以下框架:RATDecoders、DC3-MWCP、MalDuck 或 MaCo

关于配置解析框架的特别说明:

  • 由于恶意软件的性质,其版本不断变化,因此任何新版本发布时,某些功能可能会失效!
  • 我们建议使用 CAPE 的框架,它只是纯 Python,入口点为 def extract_config(data):,由 cape_utils.py 调用,且零复杂度。
    • 额外好处是,您可以在其他项目中重用您的提取器。

自动解包

image

CAPE 利用多种恶意软件技术或行为来实现解包后有效载荷的捕获:

  • 进程注入
    • Shellcode 注入
    • DLL 注入
    • 进程空洞
    • 进程 Doppelganging
  • 从内存中提取或解压缩可执行模块或 shellcode

这些行为将导致被注入、提取或解压缩的有效载荷被捕获,以供进一步分析。此外,CAPE 会自动为每个进程创建进程转储,或者对于 DLL,创建 DLL 在内存中的模块映像。这对于使用简单加壳器的样本非常有用,因为通常模块映像转储是完全解包的。

除了 CAPE 默认的“被动”解包机制外,还可以启用“主动”解包,该机制使用断点检测对新分配或受保护的内存区域的写入,从而在执行之前尽可能早地捕获解包后的有效载荷。这可以通过网页提交复选框启用,或通过指定选项 unpacker=2 启用,默认情况下不启用,因为它可能会影响引爆质量。

CAPE 可以通过 YARA 签名进行编程,以解包特定的加壳器。例如,UPX 类型的加壳器非常常见,尽管在 CAPE 中这些会导致解包后的有效载荷被被动捕获,但默认捕获是在解包后的有效载荷开始执行之后进行的。因此,通过自定义 YARA 签名动态检测源自 UPX 的加壳器,并在加壳器的最后一条指令上设置断点,可以在有效载荷开始执行之前在其原始入口点(OEP)捕获它。

image

image

dump-on-api 选项允许在模块调用特定 API 函数时进行转储,该 API 函数可以在网页界面中指定(例如 dump-on-api=DnsQuery_A)。

调试器

调试器使 CAPE 能够超越其原始能力不断发展,现在包括动态的逃避绕过措施。由于现代恶意软件通常试图在沙箱内逃避分析,例如使用虚拟化计时陷阱或 API 挂钩检测,CAPE 允许开发动态对抗措施,将调试器操作与 Yara 签名相结合,以在恶意软件引爆时检测逃避行为,并执行控制流操作,强制样本完全引爆或跳过逃避行为。

image image

通过提交选项 bp0 到 bp3 可以快速访问调试器,这些选项接受 RVA 或 VA 值来设置断点,此时会输出简短的指令跟踪,该跟踪由 count 和 depth 选项控制(例如 bp0=0x1234,depth=1,count=100)。 image

要在模块入口点设置断点,使用 ep 代替地址(例如 bp0=ep)。另外,break-on-return 允许在被挂钩 API 的返回地址上设置断点(例如 break-on-return=NtGetContextThread)。可选的 base-on-api 参数允许通过 API 调用设置 RVA 断点的映像基址(例如 base-on-api=NtReadFile,bp0=0x2345)。

image

选项 action0 - action3 允许在命中断点时执行操作,例如转储内存区域(例如 action0=dumpebx)或更改执行控制流(例如 action1=skip)。CAPE 的文档中提供了更多此类操作的示例。

capemon

包含 CAPE 监控器代码的仓库是独立的。

更新摘要 变更日志

社区贡献

有一个社区签名仓库,包含由 CAPE 社区开发的数百个签名。所有新的社区功能都应推送到该仓库。如果开发者有能力并且愿意维护,之后可以将其移至核心。

请通过帮助创建新的签名、解析器或针对更多恶意软件家族的绕过措施来为这个项目做出贡献。目前有许多正在进行中,敬请期待。

非常感谢 @D00m3dR4v3n 独自将 CAPE 移植到 Python 3。

安装建议及优化性能的脚本

  • Python3

    • agent.py 已使用 python (3.7.2|3.8) x86 进行测试。你应在虚拟机内使用 x86 版本的 python!
    • 主机使用 python3 版本 3.10、3.12 进行了测试,但更新版本应该也能正常工作
  • 只有 rooter 应以 root 身份执行,其余部分以 cape 用户身份执行。以 root 身份运行会导致权限混乱。

  1. 熟悉文档,并__务必阅读__ conf 文件夹内的所有配置文件!
  2. 为获得最佳兼容性,我们强烈建议安装 Ubuntu 24.04 LTS,并选用 Windows 10 或 Windows 11 23H2 作为目标系统。
  3. kvm-qemu.sh 和 cape2.sh 应 在 tmux 会话中执行,以防止因 ssh 连接中断导致的系统问题。
  4. 推荐使用 KVM 作为虚拟机管理器。
  • 将 <username> 替换为实际模式。
  • 你需要替换里面所有的 <WOOT>!
  • 阅读它!你必须理解它的功能!脚本头部有配置信息。
  • sudo ./kvm-qemu.sh all <username> 2>&1 | tee kvm-qemu.log
  1. 要安装 CAPE 本身,请使用 cape2.sh 并包含所有优化选项
    • 阅读并理解它的功能!这不是解决所有问题的万能药!脚本头部有配置信息。
    • sudo ./cape2.sh base 2>&1 | tee cape.log
  2. 安装完所有内容后,将两个安装日志保存为重要资料!
  3. 通过修改 conf 文件夹内的配置文件来配置 CAPE。
  4. 重新启动所有 CAPE 服务以应用配置更改并正确运行 CAPE!
    • CAPE 服务
      • cape.service
      • cape-processor.service
      • cape-web.service
      • cape-rooter.service
      • 要重启任何服务,请使用 systemctl restart <service_name>
      • 要查看服务日志,请使用 journalctl -u <service_name>
    • 调试任何问题时,停止相关服务并手动运行该服务对应的命令以查看更多日志。查看 -h 获取帮助菜单。以调试模式(-d)运行服务也有帮助。
  5. 重启并享受吧!
  • 所有脚本都包含 帮助 -h,但请检查脚本以__理解__它们的功能。

如何使用 virt-manager 创建虚拟机,请参阅文档中的配置说明

  • 逐步指南

虚拟机核心依赖

  • choco.bat

如何更新

  • CAPE:git pull
  • community:python3 utils/community.py -waf 请先查看 -h 以确保你理解

如何升级,同时包含许多无法公开的自定义小修改?

使用 rebase

root@kitploit:~
git add --all
git commit -m '[STASH]'
git pull --rebase origin master
# 如需要,解决冲突(rebase)
git reset HEAD~1

使用 merge

root@kitploit:~
# 确保 kevoreilly 仓库已添加为远程仓库(只需执行一次)
git remote add kevoreilly https://github.com/kevoreilly/CAPEv2.git
# 确保你所有更改已提交到将要合并的分支上
git commit -a -m '<你的提交信息>'
# 从 kevoreilly 仓库获取更改
git fetch kevoreilly
# 将 kevoreilly 的 master 分支合并到当前分支
git merge kevoreilly/master
# 如需要,解决合并冲突
# 如需要,推送到你的仓库
git push

如何引用本作品

如果您在研究中使用了 CAPEv2,请按照 GitHub 菜单中的“Cite this repository”指定方式引用它。

关于第三方依赖的特别说明:

  • 它们变得非常令人头疼,特别是那些使用 pefile 的依赖,因为每个依赖都固定了它们想要的版本。
    • 我们的建议是克隆/分支它们,移除 pefile 依赖,因为您已经安装了它。这样就不会再有麻烦。

文档

  • ReadTheDocs
  • DeepWiki - AI 生成,部分可能错误,但总体上相当准确。
下载工具