The Kubernetes Goat is designed to be an intentionally vulnerable cluster environment to learn and practice Kubernetes security.
Refer to https://madhuakula.com/kubernetes-goat for the guide.
-
Nullcon Berlin 2022 - Hacking and Securing Kubernetes Clusters
-
BlackHat Asia 2022 - A Practical Approach to Breaking & Pwning Kubernetes Clusters
OWASP Bay Area Meetup
DEFCON Red Team Village
https://katacoda.com/madhuakula/scenarios/kubernetes-goat
- Before we set up the Kubernetes Goat, ensure that you have created and have admin access to the Kubernetes cluster
kubectl version --short
- Set up the helm version 3 in your path as
helm
. Refer to helm releases for more information about setup
helm version --short
- Then finally setup Kubernetes Goat by running the following command
git clone https://github.com/madhuakula/kubernetes-goat.git
cd kubernetes-goat
bash setup-kubernetes-goat.sh
- To export the ports/services locally to start learning, run the following command
bash access-kubernetes-goat.sh
- Then navigate to http://127.0.0.1:1234
- If you want to setup Kubernetes Goat using KIND, refer to kind-setup
- Sensitive keys in code-bases
- DIND (docker-in-docker) exploitation
- SSRF in K8S world
- Container escape to access host system
- Docker CIS Benchmarks analysis
- Kubernetes CIS Benchmarks analysis
- Attacking private registry
- NodePort exposed services
- Helm v2 tiller to PwN the cluster - [Deprecated]
- Analysing crypto miner container
- Kubernetes Namespaces bypass
- Gaining environment information
- DoS the memory/CPU resources
- Hacker Container preview
- Hidden in layers
- RBAC Least Privileges Misconfiguration
- KubeAudit - Audit Kubernetes Clusters
- Sysdig Falco - Runtime Security Monitoring & Detection
- Popeye - A Kubernetes Cluster Sanitizer
- Secure network boundaries using NSP
- Presented at OWASP Bay Area Meetup at https://youtu.be/DQllxpb46Yw
- Presented at DEF CON RED Team Village https://youtu.be/aEaSZJRbnTo
- Presented at OWASP San Diego at https://www.meetup.com/Open-Web-Application-Security-Project-San-Diego-OWASP-SD/events/hmbbkrybckbvb/
- Featured in the official Kubernetes Podcast at https://kubernetespodcast.com/episode/109-kubermatic
- Featured in tl;dr sec https://tldrsec.com/blog/tldr-sec-039
- Featured in CloudSecList https://cloudseclist.com/issues/issue-42
- Presented at EkoParty 2020 DevSecOps https://youtu.be/XqwbVU-gtng
- Presented at c0c0cn 2020 https://india.c0c0n.org/2020/speakers#madhu_akula
- Featured in Info Ck YouTube channel https://youtu.be/5ojho4L6Xfo
- Presented in Cloud Native Indonesia Meetup https://youtu.be/pf5jOGWoWU0
- Presented in USENIX LISA 2021 Closing Note
- Presented in SANS CloudSecNext Summit 2021
Kubernetes Goat creates intentionally vulnerable resources into your cluster. DO NOT deploy Kubernetes Goat in a production environment or alongside any sensitive cluster resources.
Kubernetes Goat comes with absolutely no warranties whatsoever. By using Kubernetes Goat, you take full responsibility for all outcomes that result.
Please feel free to send us a PR and show some ❤️
Thanks goes to these wonderful people 🎉
madhuakula | mkcn | macagr | rewanthtammana | avicoder | NF997 |
smoyer64 | wurstbrot | podjackel |