
Una raccolta di manifest che creerà pod con privilegi elevati.

Una raccolta di manifest che creano pod con diversi privilegi elevati. Dimostra rapidamente l'impatto del consentire attributi dei pod sensibili per la sicurezza come hostNetwork, hostPID, hostPath, hostIPC e privileged.
Per ulteriori informazioni, consulta il nostro post del blog: Bad Pods: Kubernetes Pod Privilege Escalation.
Ogni link di seguito fornisce informazioni dettagliate sull'utilizzo e raccomandazioni per la post-exploitation.
Per informazioni più generali su prerequisiti, organizzazione del repository e modelli di utilizzo comuni, consulta le sezioni sottostanti.
├── 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...
Come sottolinea Eviatar Gerzi (@g3rzi) nel post Eight Ways to Create a Pod, ci sono 8 diversi controller che possono creare un pod o un insieme di pod. Potresti non essere autorizzato a creare pod, ma forse puoi creare un altro tipo di risorsa che creerà uno o più pod. Per ogni tipo di badPod, sono disponibili manifest che corrispondono a tutti e otto i tipi di risorsa.
Ma aspetta, c'è di peggio! Oltre agli otto controller Kubernetes attuali che possono creare pod, esistono controller di terze parti che possono creare pod se vengono applicati al cluster. Tienili d'occhio esaminando kubectl api-resources.
Sebbene comune, non è sempre possibile eseguire l'exec nei pod che puoi creare. Per aiutare in queste situazioni, è inclusa una versione di ciascun manifest che utilizza l'immagine Docker Hub ncat di Rory McCune (@raesene). Una volta creato, il pod effettuerà una chiamata criptata verso il tuo listener.
Ogni risorsa nella directory manifests punta a un attributo specifico o a una combinazione di attributi che, quando consentiti, espongono il cluster a rischi.