
Коллекция манифестов, которые создают поды с повышенными привилегиями.

Набор манифестов, создающих поды с различными повышенными привилегиями. Позволяет быстро продемонстрировать влияние разрешения таких чувствительных с точки зрения безопасности атрибутов подов, как hostNetwork, hostPID, hostPath, hostIPC и privileged.
Дополнительную информацию см. в нашем блоге: Bad Pods: Kubernetes Pod Privilege Escalation.
Каждая ссылка ниже содержит подробную информацию об использовании и рекомендации по пост-эксплуатации.
Более общую информацию о предварительных требованиях, структуре репозитория и типовых сценариях использования см. в разделах ниже.
├── 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) в статье Восемь способов создать под, существует 8 различных контроллеров, которые могут создать под или набор подов. Возможно, у вас нет прав на создание подов, но, вероятно, вы можете создать другой тип ресурса, который создаст один или несколько подов. Для каждого типа badPod существуют манифесты, соответствующие всем восьми типам ресурсов.
Но подождите, это ещё не всё! Помимо восьми текущих контроллеров Kubernetes, которые могут создавать поды, существуют сторонние контроллеры, которые также могут создавать поды, если они применены к кластеру. Следить за ними можно с помощью команды kubectl api-resources.
Хотя это распространённая практика, не всегда можно выполнить exec в поды, которые вы создаёте. Чтобы помочь в таких ситуациях, включена версия каждого манифеста, использующая образ ncat из dockerhub от Rory McCune (@raesene). При создании под выполнит зашифрованный обратный вызов вашему слушателю.
Каждый ресурс в каталоге manifests нацелен на определённый атрибут или комбинацию атрибутов, которые при разрешении подвергают кластер риску.