Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
kube-reaper — 任意のIDからKubernetesクラスタをスキャンし、危険な権限を検出して、クラスタ侵害に至る多段階の権限昇格パスへと連鎖させます。 | Kitploit
ツール/GitHubGitHub/stillbigjosh/kube-reaper
防御ツール特権昇格偵察コンテナセキュリティ脆弱性分析横移動構成監査情報収集ポストエクスプロイトペネトレーションテストクラウドセキュリティレッドチーミング
3713日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHubstillbigjosh/kube-reaper

kube-reaper

任意のIDからKubernetesクラスタをスキャンし、危険な権限を検出して、クラスタ侵害に至る多段階の権限昇格パスへと連鎖させます。

リポジトリを見るウェブサイト

kube-reaper

Kubernetes RBAC 攻撃パスマッパー。あなたのアイデンティティが何をできるかを発見し、危険な権限にフラグを立て、それらをクラスタ侵害への多段階パスへと連鎖させます。

レッドチーム担当者とペネトレーションテスター向けに構築されています。

機能

kube-reaper は任意のアイデンティティ(ユーザー、サービスアカウント、グループ)から Kubernetes クラスタをスキャンし、以下を生成します:

  • 55 の危険な権限パターン(重大度評価と攻撃手順付き)
  • 18 の攻撃チェーンタイプ(権限を多段階の昇格パスへと連鎖)
  • 再帰的アイデンティティピボット(SA トークンシークレットを読み取り、トークンを発行してアイデンティティ間の推移的アクセスをマッピング)
  • Pod ピボットマッピング(exec アクセス、実行中の Pod、サービスアカウント権限を接続)
  • 危険な Pod の検出(特権コンテナ、ホストマウント、ランタイムソケット、露出したシークレットにフラグを立てる)
  • RBAC グラフ列挙(すべてのアイデンティティをその実効権限にマッピングし、過剰権限のピボットターゲットにフラグを立てる)
  • 31 の CRD 脅威パターン(ArgoCD、Flux、Istio、cert-manager、Kyverno、Gatekeeper、Tekton、Crossplane、Calico など)
  • シークレットトリアージ(アクセス可能なシークレットをタイプ別に分類:SA トークン、レジストリ認証情報、TLS 証明書、SSH キー、opaque)
  • Pod コンテキスト分析(コンテナエスケープベクター、Linux ケイパビリティ、クラウド IMDS、ネットワークインターフェース)
  • kubectl レスモード(API サーバーが 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 - 直接ベアラートークン。盗まれた SA トークンや JWT で使用します。自己署名証明書を自動的に受け入れます。
  2. --kubeconfig / -k - 明示的な kubeconfig ファイル。KUBECONFIG 環境変数も読み取ります。
  3. デフォルト - クラスタ内設定(Pod 内)、次に ~/.kube/config。

--as-user と --as-group は任意の認証方法に偽装ヘッダーを追加します。これが機能するには、あなたのアイデンティティが impersonate 動詞を持っている必要があります。

アイデンティティピボット

--pivot フラグは再帰的アイデンティティピボットを有効にします。この機能は、サービスアカウント認証情報を経由してピボットすることで、推移的な攻撃パスを発見します。

仕組み

  1. kube-reaper は現在のアイデンティティの名前空間ごとの権限を分析します。
  2. アイデンティティがシークレットを読み取れる各名前空間で、SA トークンシークレット(kubernetes.io/service-account-token タイプ)を読み取り、トークンを抽出します。
  3. アイデンティティがリソース名の制限なしに serviceaccounts/token を作成できる各名前空間で、TokenRequest API を介して短命トークンを発行します。
  4. 発見された各トークンについて、そのサービスアカウントとして認証し、既知のすべての名前空間にわたってその権限を列挙します。
  5. ピボットされたアイデンティティもシークレットを読み取るかトークンを発行できる場合、プロセスは --pivot-depth(デフォルト:3)まで繰り返されます。

スキャンは BFS トラバーサルを使用して最短のピボットパスを最初に見つけます。暴走スキャンを防ぐため、50 アイデンティティで停止します。

出力に表示される内容

各ピボットされたアイデンティティは以下を表示します:

  • 危険な権限に基づく重大度
  • ピボット方法(SecretToken または TokenRequest)とソース
  • そのアイデンティティで見つかった危険な権限
  • さらなるピボット能力(どの名前空間でシークレットを読み取るかトークンを発行できるか)

権限チェック

ピボットスキャナーは誤検知を防ぐために以下のガードを適用します:

  • API グループスコープ:シークレット読み取りとトークン作成チェックでは、コア API グループ(または apiGroups: ["*"])のルールのみがカウントされます。非コアグループ(例:custom.metrics.k8s.io)のルールは一致しません。
  • リソース名の制限:resourceNames が設定されたルールはトークン作成にカウントされません。1 つの名前付きサービスアカウントのトークン作成を許可するルールは、無制限のトークン作成とは異なります。
  • 動詞ワイルドカードマッチング:「Wildcard on All Resources」パターンは verbs: ["*"] を必要とし、resources: ["*"] 上の任意の動詞だけでは不十分です。

出力セクション

ターミナル出力は以下のセクションを表示します(各セクションは所見がある場合にのみ表示されます):

セクション内容
Pod Context Analysisエスケープベクター、ケイパビリティ、クラウド IMDS、ネットワーク、SA トークン、マウント、環境変数
Attack Path Chainsステップバイステップの手順を含む多段階攻撃パス
Identity Pivot Graph方法、権限、さらなるピボット能力を含む再帰的アイデンティティピボットマップ
Dangerous Pods特権コンテナ、ホストマウント、ランタイムソケット、露出したシークレット
Exposed Servicesクラスタ外部から到達可能な LoadBalancer および NodePort サービス
Sensitive ConfigMaps認証情報やシークレットを含むキーを持つ ConfigMap
CronJobs危険なサービスアカウント権限を持つスケジュールされたジョブ
Secret Triageタイプと攻撃価値によって分類されたアクセス可能なシークレット
CRD Attack Surface既知の危険なオペレーターからのカスタムリソース
DNS Service DiscoveryCoreDNS クエリで発見されたサービス(RBAC 不要)
Admission Controller Probing6 つの危険な Pod 設定に対する名前空間ごとのドライラン結果
Other Identitiesピボットターゲットである過剰権限のアイデンティティ
Namespace Security名前空間ごとの PSS 適用ステータス
Dangerous Permissions重大度別の個別権限の所見
Summaryすべての所見カテゴリのカウント

詳細ドキュメント

  • 危険な権限 - 55 の権限パターンすべて
  • 攻撃チェーン - 悪用の詳細を含む 18 のチェーンタイプすべて
  • CRD 認識 - 10 のオペレーターカテゴリにわたる 31 の CRD パターンすべて
  • Pod コンテキスト検出 - エスケープベクター、ケイパビリティ、IMDS、ネットワーク、kubectl レスモード
  • アーキテクチャ - ソースレイアウト、モジュールの責務、データフロー

要件

  • 有効な kubeconfig、ベアラートークン、またはクラスタ内サービスアカウントトークン
  • アイデンティティは最低限 selfsubjectrulesreviews に対する create が必要(デフォルトですべての認証済みユーザーに付与)
  • スキャンアイデンティティの権限が多いほど = より完全な結果
スキャンモジュール必要な権限
権限列挙selfsubjectrulesreviews(デフォルト付与)
名前空間リストlist namespaces
Pod 列挙ターゲット名前空間での list pods
シークレットトリアージターゲット名前空間での list secrets
RBAC グラフlist roles, clusterroles, rolebindings, clusterrolebindings
CRD 検出list customresourcedefinitions
アイデンティティピボットターゲット名前空間での list secrets または create serviceaccounts/token
Pod コンテキストAPI 権限不要(ローカルファイルシステムとネットワークを読み取る)

スキャンモジュールが権限を欠いている場合、それを報告して続行します。モジュールの失敗がスキャンを停止することはありません。

免責事項

kube-reaper は、許可されたセキュリティテスト、ペネトレーションテスト契約、および防御的セキュリティ評価専用です。クラスタをスキャンする前に適切な許可を取得する必要があります。コンピュータシステムへの不正アクセスは違法です。作者はこのツールの誤用に対して一切の責任を負いません。

ツールをダウンロード