SuperAPI AI 工具集

hunt-k8s

编程与开发

查看项目

更新于 10-15 21:37

技能介绍

用途:面向 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,避免影响生产负载;令牌与密钥在报告中需脱敏。具体安装命令与更多细节,资料暂未提供。