Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
kube-reaper — 从任意身份扫描 Kubernetes 集群,标记危险权限,并将其串联为多步提权路径,最终导致集群沦陷。 | Kitploit
工具/GitHubGitHub/stillbigjosh/kube-reaper
防御工具权限提升侦察容器安全漏洞分析横向移动配置审计信息收集后渗透利用渗透测试云安全红队
3713天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubstillbigjosh/kube-reaper

kube-reaper

从任意身份扫描 Kubernetes 集群,标记危险权限,并将其串联为多步提权路径,最终导致集群沦陷。

查看仓库网站

kube-reaper

Kubernetes RBAC 攻击路径映射工具。它发现你的身份能做什么,标记危险权限,并将它们串联成多步路径以实现集群沦陷。

专为红队成员和渗透测试人员打造。

功能说明

kube-reaper 从任意身份(用户、服务账户、组)扫描 Kubernetes 集群,并生成:

  • 55 种危险权限模式,附带严重性评级和攻击说明
  • 18 种攻击链类型,将权限链接成多步提权路径
  • 递归身份跳转,读取 SA token secret 并铸造 token,以映射跨身份的传递性访问
  • Pod 跳转映射,连接 exec 访问、运行中的 Pod 和服务账户权限
  • 危险 Pod 检测,标记特权容器、主机挂载、运行时套接字和暴露的 secret
  • RBAC 图枚举,将所有身份映射到其有效权限,并标记权限过高的跳转目标
  • 31 种 CRD 威胁模式,适用于 ArgoCD、Flux、Istio、cert-manager、Kyverno、Gatekeeper、Tekton、Crossplane、Calico 等
  • Secret 分类,按类型(SA token、registry 凭据、TLS 证书、SSH 密钥、opaque)对可访问的 secret 进行分类
  • Pod 上下文分析,针对容器逃逸向量、Linux capabilities、云 IMDS 和网络接口
  • 无 kubectl 模式,当 API server 无法从 Pod 访问时进行仅本地检查

安装

需要 Rust 工具链(rustup + stable)。

git clone https://github.com/youruser/kube-reaper.git
cd kube-reaper
cargo build --release

二进制文件位于 target/release/kube-reaper。

静态二进制文件(推荐用于部署)

musl 构建会生成一个完全静态、无依赖的二进制文件。它可在任何 Linux x86_64 系统上运行。

rustup target add x86_64-unknown-linux-musl
cargo build --release --target x86_64-unknown-linux-musl

二进制文件位于 target/x86_64-unknown-linux-musl/release/kube-reaper(约 5.4 MB)。

# Copy to a Kubernetes node
scp target/x86_64-unknown-linux-musl/release/kube-reaper user@node:/tmp/

# Copy into a running pod
kubectl cp target/x86_64-unknown-linux-musl/release/kube-reaper mynamespace/mypod:/tmp/kube-reaper

快速开始

# Scan with current kubeconfig
kube-reaper

# Scan a specific namespace
kube-reaper -n production

# Scan with a stolen SA token
kube-reaper --token <JWT> --server https://10.0.0.1:6443

# Scan as a different user (requires impersonate permissions)
kube-reaper --as-user system:serviceaccount:development:code-server

# Recursive identity pivot (read SA tokens, mint new tokens, map transitive access)
kube-reaper --pivot

# Pivot with custom depth (default: 3)
kube-reaper --pivot --pivot-depth 5

# Show only critical and high findings
kube-reaper -s high

# Output JSON
kube-reaper -o json

# Save JSON report to file
kube-reaper -w results.json

CLI 参考

Usage: kube-reaper [OPTIONS]

Options:
  -n, --namespace <NAMESPACE>     Target namespace (default: all accessible)
  -k, --kubeconfig <KUBECONFIG>   Path to kubeconfig file
      --token <TOKEN>             Bearer token (requires --server)
      --server <SERVER>           API server URL (required with --token)
      --as-user <USER>            Impersonate a user
      --as-group <GROUP>          Impersonate a group
      --pivot                     Recursive identity pivot via SA secrets and TokenRequest
      --pivot-depth <N>           Maximum pivot depth [default: 3]
  -o, --output <OUTPUT>           Output format [default: terminal] [values: terminal, json]
  -w, --write <WRITE>             Write JSON results to file
  -s, --severity <SEVERITY>       Minimum severity [default: low] [values: critical, high, medium, low, info]
      --unconventional-only       Show only unconventional RBAC abuses
      --chains-only               Show only attack chains
  -h, --help                      Print help
  -V, --version                   Print version

身份验证

kube-reaper 按以下顺序尝试这些身份验证方法:

  1. --token + --server - 直接 bearer token。与窃取的 SA token 或 JWT 一起使用。自动接受自签名证书。
  2. --kubeconfig / -k - 显式 kubeconfig 文件。也会读取 KUBECONFIG 环境变量。
  3. 默认 - 集群内配置(在 Pod 内),然后是 ~/.kube/config。

--as-user 和 --as-group 会向任何身份验证方法添加模拟标头。你的身份必须具有 impersonate 动词才能使其生效。

身份跳转

--pivot 标志启用递归身份跳转。此功能通过服务账户凭据进行跳转,从而发现传递性攻击路径。

工作原理

  1. kube-reaper 按命名空间分析当前身份的权限。
  2. 对于身份可以读取 secret 的每个命名空间,它读取 SA token secret(kubernetes.io/service-account-token 类型)并提取 token。
  3. 对于身份可以在没有资源名称限制的情况下创建 serviceaccounts/token 的每个命名空间,它通过 TokenRequest API 铸造短期 token。
  4. 对于每个发现的 token,它以该服务账户身份进行身份验证,并枚举其在所有已知命名空间中的权限。
  5. 如果跳转后的身份也可以读取 secret 或铸造 token,则该过程重复进行,最多达到 --pivot-depth(默认值:3)。

扫描使用 BFS 遍历以首先找到最短的跳转路径。它在 50 个身份处停止,以防止失控扫描。

输出中显示的内容

每个跳转后的身份显示:

  • 基于其危险权限的严重性
  • 跳转方法(SecretToken 或 TokenRequest)和来源
  • 在该身份上发现的危险权限
  • 进一步跳转能力(它可以在哪些命名空间中读取 secret 或铸造 token)

权限检查

跳转扫描器应用这些防护措施以防止误报:

  • API 组范围限定:只有核心 API 组中的规则(或 apiGroups: ["*"])才计入 secret 读取和 token 创建检查。非核心组(例如 custom.metrics.k8s.io)中的规则不匹配。
  • 资源名称限制:设置了 resourceNames 的规则不计入 token 创建。允许为一个指定服务账户创建 token 的规则与不受限制的 token 创建不同。
  • 动词通配符匹配:“Wildcard on All Resources”模式要求 verbs: ["*"],而不仅仅是 resources: ["*"] 上的任何动词。

输出部分

终端输出显示这些部分(每个部分仅在有发现时出现):

部分内容
Pod 上下文分析逃逸向量、capabilities、云 IMDS、网络、SA token、挂载、环境变量
攻击路径链多步攻击路径,附带分步说明
身份跳转图递归身份跳转映射,包含方法、权限和进一步跳转能力
危险 Pod特权容器、主机挂载、运行时套接字、暴露的 secret
暴露的服务可从集群外部访问的 LoadBalancer 和 NodePort 服务
敏感 ConfigMap包含凭据或 secret 的键的 ConfigMap
CronJob具有危险服务账户权限的定时任务
Secret 分类按类型和攻击价值分类的可访问 secret
CRD 攻击面来自已知危险 operator 的自定义资源
DNS 服务发现通过 CoreDNS 查询发现的服务(无需 RBAC)
准入控制器探测针对 6 种危险 Pod 配置的按命名空间 dry-run 结果
其他身份作为跳转目标的权限过高的身份
命名空间安全每个命名空间的 PSS 执行状态
危险权限按严重性划分的单个权限发现
摘要所有发现类别的计数

详细文档

  • 危险权限 - 全部 55 种权限模式
  • 攻击链 - 全部 18 种链类型及利用细节
  • CRD 感知 - 跨 10 个 operator 类别的全部 31 种 CRD 模式
  • Pod 上下文检测 - 逃逸向量、capabilities、IMDS、网络和无 kubectl 模式
  • 架构 - 源代码布局、模块职责和数据流

要求

  • 有效的 kubeconfig、bearer token 或集群内服务账户 token
  • 身份至少需要对 selfsubjectrulesreviews 的 create 权限(默认授予所有已认证用户)
  • 扫描身份拥有更多权限 = 结果更完整
扫描模块所需权限
权限枚举selfsubjectrulesreviews(默认授予)
命名空间列表list namespaces
Pod 枚举目标命名空间中的 list pods
Secret 分类目标命名空间中的 list secrets
RBAC 图list roles, clusterroles, rolebindings, clusterrolebindings
CRD 检测list customresourcedefinitions
身份跳转目标命名空间中的 list secrets 或 create serviceaccounts/token
Pod 上下文无 API 权限(读取本地文件系统和网络)

如果扫描模块缺少权限,它会报告并继续。任何模块失败都不会停止扫描。

免责声明

kube-reaper 仅用于授权安全测试、渗透测试工作和防御性安全评估。在扫描任何集群之前,你必须获得适当授权。未经授权访问计算机系统是非法的。作者对滥用此工具不承担任何责任。

下载工具