-
在 release 页面,我们可以看到很多不同版本的 cdk 二进制文件以及二进制文件的 SHA256 sum。例如:
在 Assets 可以下载到对应的二进制文件。 不通版本之间的区别是什么呢? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
这些文件名遵从 cdk_[OS]_[ARCH] 的格式,可以看到不同的 操作系统 和 指令集架构。 例如最常用的 cdk_linux_amd64 指的是 linux 下 amd64 架构的 cdk 二进制可执行文件,这和社区上的惯例是一致的。 另外大家还能看到 thin 和 upx 两种标示: upx 表示这个文件为 upx 压缩之后的二进制文件,这样可以减少文件的大小。 例如:cdk_linux_amd64_upx thin
Thin 版本是为生命周期短的容器 Shell 准备的,例如 Serverless 和 云函数。我们在源代码中添加构建标签,并削减一些漏洞利用代码以使二进制可执行文件更轻量化。 2MB 的文件包含 90% 的 CDK 功能,您也可以在 CDK 源代码中挑选有用的漏洞来构建自己的轻量级二进制文件。 当一个 go 文件的文件头包含 例如 // +build thin no_netcat_tool 文件地址: pkg/tool/netcat/thin_code.go:1 你可以在 readme 的表里看到所有 thin 版本所包含的功能: 实时更新版本点击: https://github.com/cdk-team/CDK/#exploit-module
更多描述也可以参考我们在 blackhat asia 的材料: |
Beta Was this translation helpful? Give feedback.
这些文件名遵从 cdk_[OS]_[ARCH] 的格式,可以看到不同的 操作系统 和 指令集架构。
例如最常用的 cdk_linux_amd64 指的是 linux 下 amd64 架构的 cdk 二进制可执行文件,这和社区上的惯例是一致的。
另外大家还能看到 thin 和 upx 两种标示:
upx
表示这个文件为 upx 压缩之后的二进制文件,这样可以减少文件的大小。
例如:cdk_linux_amd64_upx
thin
Thin 版本是为生命周期短的容器 Shell 准备的,例如 Serverless 和 云函数。我们在源代码中添加构建标签,并削减一些漏洞利用代码以使二进制可执行文件更轻量化。 2MB 的文件包含 90% 的 CDK 功能,您也可以在 CDK 源代码中挑选有用的漏洞来构建自己的轻量级二进制文件。
当…