Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
badPods — 特権を昇格させたポッドを作成するマニフェストのコレクション。 | Kitploit
ツール/GitHubGitHub/bishopfox/badpods
特権昇格コンテナセキュリティエクスプロイトペネトレーションテストクラウドセキュリティ設定ミスコンテナエスケープコンテナエスケープ 第6位
GitHubbishopfox/badpods

badPods

特権を昇格させたポッドを作成するマニフェストのコレクション。

706118229ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見るウェブサイト

Bad Pods

さまざまな昇格特権を持つポッドを作成するマニフェスト集です。hostNetwork、hostPID、hostPath、hostIPC、privileged などのセキュリティ上重要なポッド属性を許可した場合の影響をすばやく実証できます。

詳細な背景については、以下のブログ記事を参照してください: Bad Pods: Kubernetes Pod Privilege Escalation。

目次

  • Bad Pods のラインナップ
  • 前提条件
  • リポジトリ構成
  • 使用方法
    • ハイレベルな進め方
    • 使用例
      • クローンしたローカルリポジトリから8つの Bad Pod をすべて作成する
      • GitHub から8つの Bad Pod をすべて作成する
      • リバースシェル型の Bad Pod を8つすべて作成する
      • everything-allowed ポッドを使用して8種類すべてのリソースタイプを作成する
      • hostNetwork ポッドで cronjob を作成する
      • priv-and-hostpid ポッドで deployment を作成する
      • privileged ポッドを使用してリバースシェルを作成する

Bad Pods のラインナップ

以下の各リンクには、詳細な使用方法と侵害後 (post exploitation) の推奨事項が記載されています。

  • Bad Pod #1: Everything allowed
  • Bad Pod #2: Privileged and hostPid
  • Bad Pod #3: Privileged only
  • Bad Pod #4: hostPath only
  • Bad Pod #5: hostPid only
  • Bad Pod #6: hostNetwork only
  • Bad Pod #7: hostIPC only
  • Bad Pod #8: Nothing allowed

前提条件、リポジトリの構成、一般的な使用パターンの詳細については、以下のセクションを参照してください。

前提条件

  1. クラスターへのアクセス権
  2. 少なくとも1つのネームスペースで、以下のいずれかのリソースタイプを作成する RBAC 権限:
    • CronJob, DeamonSet, Deployment, Job, Pod, ReplicaSet, ReplicationController, StatefulSet
  3. ポッドに対して exec を実行する RBAC 権限、またはポッドからのリバースシェルが自分に到達することを許可するネットワークポリシー
  4. Pod セキュリティポリシーによる強制がないこと。または、1つ以上のセキュリティ上重要な属性を持つポッドの作成を許可するポリシーが存在すること

リポジトリ構成

  • 自己完結型ですぐに使える128個のマニフェスト。なぜこんなに多いのか?
    • 8種類の Bad Pod (hostpid、hostnetwork、everything-allowed など)
    • ポッドを作成できる8種類のリソースタイプ (pod、deployment、replicaset、statefulset など)
    • 作成したポッドへアクセスする2つの方法 (exec とリバースシェル)
├── manifests
│   ├── everything-allowed
│   │   ├── cronjob
│   │   │   ├── everything-allowed-exec-cronjob.yaml
│   │   │   └── everything-allowed-revshell-cronjob.yaml
│   │   ├── daemonset
│   │   │   ├── everything-allowed-exec-daemonset.yaml
│   │   │   └── everything-allowed-revshell-daemonset.yaml
│   │   ├── deployment
│   │   │   ├── everything-allowed-exec-deployment.yaml
│   │   │   └── everything-allowed-revshell-deployment.yaml
│   │   ├── job
│   │   │   ├── everything-allowed-exec-job.yaml
│   │   │   └── everything-allowed-revshell-job.yaml
│   │   ├── pod
│   │   │   ├── everything-allowed-exec-pod.yaml
│   │   │   └── everything-allowed-revshell-pod.yaml
│   │   ├── replicaset
│   │   │   ├── everything-allowed-exec-replicaset.yaml
│   │   │   └── everything-allowed-revshell-replicaset.yaml
│   │   ├── replicationcontroller
│   │   │   ├── everything-allowed-exec-replicationcontroller.yaml
│   │   │   └── everything-allowed-revshell-replicationcontroller.yaml
│   │   └── statefulset
│   │       ├── everything-allowed-exec-statefulset.yaml
│   │       └── everything-allowed-revshell-statefulset.yaml
│   ├── hostipc
│   │   ├── cronjob
│   │   │   ├── hostipc-exec-cronjob.yaml
│   │   │   └── hostipc-revshell-cronjob.yaml
│   │   ├── daemonset
│   │   │   ├── hostipc-exec-daemonset.yaml
│   │   │   └── hostipc-revshell-daemonset.yaml
...omitted for brevity...

ポッドを作成する方法は8通りある

Eviatar Gerzi (@g3rzi) 氏が投稿 Eight Ways to Create a Pod で指摘しているように、ポッドまたはポッドのセットを作成できるコントローラーは8種類あります。ポッド自体の作成は許可されていないかもしれませんが、1つ以上のポッドを作成する別のリソースタイプを作成できる場合があります。各 badPod タイプには、8種類すべてのリソースタイプに対応するマニフェストが用意されています。

しかし、待ってください。さらに悪いことがあります! ポッドを作成できる現在の8種類の Kubernetes コントローラーに加えて、クラスターに適用されるとポッドを作成できるサードパーティ製コントローラーも存在します。kubectl api-resources を確認して、それらにも目を配ってください。

リバースシェル

一般的ではありますが、作成できるポッドに対して常に exec を実行できるとは限りません。そうした状況を支援するために、Rory McCune (@raesene) 氏の ncat dockerhub イメージを使用するバージョンのマニフェストが各タイプに含まれています。作成されると、ポッドはリスナーに対して暗号化されたコールバックを実行します。

使用方法

manifests ディレクトリ内の各リソースは、許可されるとクラスターをリスクにさらす特定の属性、または属性の組み合わせを対象としています。

ハイレベルな進め方

オプション1: 体系的なアプローチ

  1. RBAC の評価 - 作成できるリソースタイプを特定する
  2. Admission Policy の評価 - 作成できる Bad Pod の種類を特定する
  3. リソースの作成 - 許可されている内容に基づいて、特定の badPod タイプとリソースタイプを使用してリソースを作成する
  4. 侵害後活動 (Post Exploitation) - そのタイプの README に記載されている侵害後の手順を評価する
    • Everything allowed
    • Privileged and hostPid
    • Privileged only
    • hostPath only
    • hostPid only
    • hostNetwork only
    • hostIPC only
    • Nothing allowed

オプション2: ショットガン・アプローチ

  1. リソースの作成 - さまざまなマニフェストを適用して、何が機能するかを試す
    • GitHub から8つの Bad Pod をすべて作成する
    • everything-allowed ポッドを使用して8種類すべてのリソースタイプを作成する
  2. 侵害後活動 (Post Exploitation) - 作成されたポッドについて、そのタイプの README に記載されている侵害後の手順を評価する
    • Everything allowed
    • Privileged and hostPid
    • Privileged only
    • hostPath only
    • hostPid only
    • hostNetwork only
    • hostIPC only
    • Nothing allowed

使用例

  • クローンしたローカルリポジトリから8つの Bad Pod をすべて作成する
  • GitHub から8つの Bad Pod をすべて作成する
  • リバースシェル型の Bad Pod を8つすべて作成する
  • everything-allowed ポッドを使用して8種類すべてのリソースタイプを作成する
  • hostNetwork ポッドで cronjob を作成する
  • priv-and-hostpid ポッドで deployment を作成する
  • privileged ポッドを使用してリバースシェルを作成する
ツールをダウンロード