
Uma coleção de manifests que criará pods com privilégios elevados.

Uma coleção de manifestos que criam pods com diferentes privilégios elevados. Demonstre rapidamente o impacto de permitir atributos de pods sensíveis à segurança, como hostNetwork, hostPID, hostPath, hostIPC e privileged.
Para obter mais contexto, veja nosso post no blog: Bad Pods: Kubernetes Pod Privilege Escalation.
Cada link abaixo fornece informações detalhadas de uso e recomendações de pós-exploração.
Para informações mais gerais sobre pré-requisitos, organização do repositório e padrões comuns de uso, veja as seções abaixo.
├── 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...
Como Eviatar Gerzi (@g3rzi) aponta no post Eight Ways to Create a Pod, existem 8 controladores diferentes que podem criar um pod, ou um conjunto de pods. Você pode não estar autorizado a criar pods, mas talvez possa criar outro tipo de recurso que criará um ou mais pods. Para cada tipo de badPod, existem manifestos que correspondem a todos os oito tipos de recursos.
Mas espere, fica pior! Além dos oito controladores Kubernetes atuais que podem criar pods, existem controladores de terceiros que também podem criar pods se forem aplicados ao cluster. Fique de olho neles consultando kubectl api-resources.
Embora seja comum, nem sempre é possível fazer exec nos pods que você pode criar. Para ajudar nessas situações, uma versão de cada manifesto é incluída usando a imagem ncat do dockerhub de Rory McCune's (@raesene). Quando criado, o pod fará uma chamada criptografada de volta para o seu listener.
Cada recurso no diretório manifests tem como alvo um atributo específico ou uma combinação de atributos que expõem o cluster a risco quando permitidos.