

CDK: 容器环境渗透测试自动化工具,各类容器场景的攻击手法集合
source link: https://github.com/cdk-team/CDK/wiki/CDK-Home-CN
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

CDK - Zero Dependency Docker/K8s Penetration Toolkit
简体中文 | English
免责声明
未经授权许可使用CDK攻击目标是非法的。 本程序应仅用于安全测试与研究目的。
介绍
CDK是一款为容器环境定制的渗透测试工具,在已攻陷的容器内部提供零依赖的常用命令及PoC/EXP。集成Docker/K8s场景特有的 逃逸、横向移动、持久化利用方式,插件化管理。
目前仍在施工中,欢迎 反馈 及建议 [email protected] 。
下载
将可执行文件投递到已攻入的容器内部开始使用
https://github.com/cdk-team/CDK/releases/
使用方法
Container DucK Zero-dependency docker/k8s penetration toolkit by <[email protected]> Find tutorial, configuration and use-case in https://github.com/Xyntax/CDK/wiki Usage: cdk evaluate [--full] cdk run (--list | <exploit> [<args>...]) cdk <tool> [<args>...] Evaluate: cdk evaluate Gather information to find weekness inside container. cdk evaluate --full Enable file scan during information gathering. Exploit: cdk run --list List all available exploits. cdk run <exploit> [<args>...] Run single exploit, docs in https://github.com/Xyntax/CDK/wiki Tool: vi <file> Edit files in container like "vi" command. ps Show process information like "ps -ef" command. nc [options] Create TCP tunnel. ifconfig Show network information. kcurl (get|post) <url> <data> Make request to K8s api-server. ucurl (get|post) <socket> <uri> <data> Make request to docker unix socket. probe <ip> <port> <parallel> <timeout-ms> TCP port scan, example: cdk probe 10.0.1.0-255 80,8080-9443 50 1000 Options: -h --help Show this help msg. -v --version Show version.
功能
CDK包括三个功能模块
- Evaluate: 容器内部信息收集,以发现潜在的弱点便于后续利用。
- Exploit: 提供容器逃逸、持久化、横向移动等利用方式。
- Tool: 修复渗透过程中常用的linux命令以及与Docker/K8s API交互的命令。
Evaluate 模块
Usage
cdk evaluate [--full]
用于本地信息收集,寻找可用的逃逸点,使用 --full
参数时会包含本地文件扫描。
检测项
类别 检测点 已支持 详细文档 本地信息收集 OS基本信息 ✔ link 本地信息收集 可用的Capabilities ✔ link 本地信息收集 可用的Linux命令 ✔ link 本地信息收集 挂载情况 ✔ link 本地信息收集 网络namespace隔离情况 ✔ link 本地信息收集 环境变量 ✔ link 本地信息收集 敏感服务 ✔ link 本地信息收集 敏感目录及文件 ✔ link 网络探测 K8s Api-server信息 ✔ link 网络探测 K8s Service-account信息 ✔ link 网络探测 云厂商Metadata API ✔ linkExploit 模块
列举全部exp
cdk run --list
执行指定的exp
cdk run <script-name> [options]
列表
类别 功能 调用名 已支持 文档 容器逃逸 docker-runc CVE-2019-5736 runc-pwn ✔ 容器逃逸 docker-cp CVE-2019-14271 容器逃逸 containerd-shim CVE-2020-15257 shim-pwn ✔ link 容器逃逸 dirtycow CVE-2016-5159 容器逃逸 docker.sock逃逸PoC(docker-in-docker) docker-sock-check ✔ link 容器逃逸 docker.sock部署恶意镜像 docker-sock-deploy ✔ link 容器逃逸 挂载逃逸(特权容器) mount-disk ✔ link 容器逃逸 Cgroup逃逸(特权容器) mount-cgroup ✔ link 容器逃逸 Procfs目录挂载逃逸 mount-procfs ✔ link 容器逃逸 Ptrace逃逸PoC check-ptrace ✔ link 网络探测 K8s组件探测 service-probe ✔ link 信息收集 检查和获取Istio元信息 istio-check ✔ link 横向移动 K8s Service Account下发指令 横向移动 攻击K8s api-server 横向移动 攻击K8s Kubelet 横向移动 攻击K8s Dashboard 横向移动 攻击K8s Helm 横向移动 攻击K8s Etcd 横向移动 攻击私有镜像库 远程控制 反弹shell reverse-shell ✔ link 信息窃取 扫描AK及API认证凭据 ak-leakage ✔ link 信息窃取 窃取K8s Secrets k8s-secret-dump ✔ link 信息窃取 窃取K8s Config k8s-configmap-dump ✔ link 持久化 部署WebShell 持久化 部署后门Pod k8s-backdoor-daemonset ✔ link 持久化 部署影子K8s api-server k8s-shadow-apiserver ✔ link 持久 K8s MITM攻击(CVE-2020-8554) k8s-mitm-clusterip ✔ link 持久化 部署K8s CronJob 躲避防御 K8s审计日志清理Tool 模块
还原部分常用的Linux命令,解决容器环境缩减的问题。参数略有不同,详见下面文档链接:
cdk nc [options] cdk ps
列表
子命令 描述 已支持 详细文档 nc TCP隧道 ✔ link ps 获取进程信息 ✔ link ifconfig 获取网络信息 ✔ link vi 文本编辑 ✔ link kcurl 发包到K8s api-server ✔ link dcurl 发包到Docker HTTP API ucurl 发包到Docker Unix Socket ✔ link rcurl 发包到Docker Registry API probe IP/端口扫描 ✔ link kproxy kubectl代理转发TODO
- echo loader便于通过web RCE植入CDK
- EDR检测对抗
- 条件编译
- 开发文档
Recommend
-
6
各种环境下的渗透测试 insight-labs
-
56
SPARTA 是使用 Python 开发的 GUI 应用程序,它是 Kali Linux 内置的网络渗透测试工具。它简化了扫描和枚举阶段,并更快速的得到结果。SPARTA GUI 工具套件最擅长的事情是扫描和发现目标端口和运行的服务。此外,作...
-
4
作者:小小明 动态二维码 用头像作底图的个人微信二维码
-
5
InScan开源扫描器 本工具只可用于安全测试,勿用于非法用途! 边界打点后的自动化内网工具,完全与服务端脱离。服务端只用于生成poc,网段信息等配置。 内网渗透痛点 目前已有的扫描器,依赖库较多,体积过于庞大,在内网渗...
-
14
项目文件一览 Security
-
7
技术人必看的各类工具书籍必看工具书籍:《JavaScript高级程序设计》( [美] 尼古拉斯 )《图解HTTP》( [日] 上野宣 )《React 进阶之路》( 徐超 )
-
8
Weblogic 常规渗透测试环境本环境模拟了一个真实的weblogic环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞。分别通过这两种漏洞,模拟对weblogic场景的渗透。 Weblogic版本:10.3.6(11g) Java版...
-
10
为解决云原生时代容器面临的各类风险,火山引擎推出容器安全防护平台-品玩 为解决云原生时代容器面临的各类风险,火山引擎推出容器安全防护平台 6小时前 随着互联网快速发展,企业业务逐步上云,越来越多的工作和生...
-
6
F5 新增自动化渗透测试功能以全面提升多云应用安全能力 2024-03-07 15:50:27 借助这些新功能,F5分布式云服务用户将可以轻松扫描并发现影响其网络应用的漏洞。
-
5
如何实现高效的自动化渗透测试? 2024-03-20 13:19:53 传统的渗透测试过程依赖专业人员的背景知识,存在人力和时间开销大等问题,而自动化渗透测试在一定程度上克服了传统渗透测试的弊端。
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK