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

さまざまな昇格特権を持つポッドを作成するマニフェスト集です。hostNetwork、hostPID、hostPath、hostIPC、privileged などのセキュリティ上重要なポッド属性を許可した場合の影響をすばやく実証できます。
詳細な背景については、以下のブログ記事を参照してください: Bad Pods: Kubernetes Pod Privilege Escalation。
以下の各リンクには、詳細な使用方法と侵害後 (post exploitation) の推奨事項が記載されています。
前提条件、リポジトリの構成、一般的な使用パターンの詳細については、以下のセクションを参照してください。
├── 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...
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 ディレクトリ内の各リソースは、許可されるとクラスターをリスクにさらす特定の属性、または属性の組み合わせを対象としています。