
상승된 권한으로 파드를 생성하는 매니페스트 모음입니다.

서로 다른 높은 권한으로 파드를 생성하는 매니페스트 모음입니다. 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) 님의 게시물 Eight Ways to Create a Pod에서 지적했듯이, 파드 또는 파드 집합을 생성할 수 있는 컨트롤러는 8가지가 있습니다. 파드를 생성할 권한은 없을 수 있지만, 하나 이상의 파드를 생성하는 다른 리소스 유형을 생성할 수 있을 수도 있습니다. 각 badPod 유형에는 8가지 리소스 유형에 모두 해당하는 매니페스트가 있습니다.
하지만 잠깐, 상황은 더 나빠집니다! 파드를 생성할 수 있는 8가지 기존 Kubernetes 컨트롤러 외에도, 클러스터에 적용되는 서드파티 컨트롤러도 파드를 생성할 수 있습니다. kubectl api-resources를 확인하여 주의 깊게 살펴보세요.
흔한 경우이지만, 생성한 파드에 exec할 수 있는 것이 항상 보장되지는 않습니다. 이러한 상황을 돕기 위해 Rory McCune(@raesene)의 ncat dockerhub 이미지를 사용하는 각 매니페스트 버전이 포함되어 있습니다. 생성된 파드는 리스너에게 암호화된 콜백을 보냅니다.
manifests 디렉터리의 각 리소스는 허용될 때 클러스터를 위험에 노출시키는 특정 속성 또는 속성 조합을 대상으로 합니다.