用途:面向 Kubernetes 与容器环境的安全测试,帮助定位高价值风险点,包括 API 服务器匿名/低权限访问、kubelet 10250 的 /run 与 /exec、etcd 2379 未授权、docker.sock 暴露、容器逃逸及相关 CVE。
主要能力:
- 指纹与端口发现:探测 443、6443、10250、10255、2379 等常见端口,读取 /version 判断版本以对应 CVE。
- API 权限核验:用 SelfSubjectReview、SelfSubjectRulesReview、SelfSubjectAccessReview 确认身份与实际授权,而非仅看 200 状态码。
- kubelet 利用:/run 直接返回命令输出;/exec 是 SPDY/WebSocket 流,普通 POST 只返回 302 重定向,需用 kubeletctl 或 websocat 等客户端处理。10255 为只读信息泄露端口,不含 exec/run。
- API 代理路径:持有 nodes/proxy 权限时,可通过 /api/v1/nodes/<node>/proxy/run/... 经 API 服务器触达 kubelet。
- etcd 未授权:读取集群状态与 Secret,未配置 EncryptionConfiguration 时可能为明文。
- SA 令牌滥用:检查 aud、exp 与绑定关系,判断令牌能否用于 API 认证。
- docker.sock 与容器逃逸:涉及特权容器挂载宿主根目录、runc 相关 CVE(如 CVE-2024-21626、CVE-2019-5736、CVE-2022-0492)。
- 其他:Dashboard 未授权访问、Helm/Tiller 遗留、Ingress-NGINX 相关风险。
使用方式:以命令行工具为主,如 nmap、curl、kubectl、etcdctl、kubeletctl、websocat 等;按阶段执行指纹、权限核验、利用与确认。
限制与注意:所有结论需以实际状态变更或数据读取为证据,不能凭状态码推断;盲测/外带场景应使用 OOB 确认;测试应使用专用命名空间与测试 Pod,避免影响生产负载;令牌与密钥在报告中需脱敏。具体安装命令与更多细节,资料暂未提供。