shagunattri / kubernetes-goat

Kubernetes Goat is "Vulnerable by Design" Kubernetes Cluster. Designed to be an intentionally vulnerable cluster environment to learn and practice Kubernetes security.

Home Page:https://madhuakula.com/kubernetes-goat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kubernetes Goat

Netlify Status License: MIT GitHub release Github Stars PRs Welcome Docker Pulls Kubernetes Goat Twitter

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.

Kubernetes Goat Home

Upcoming Training's and Sessions

Black Hat USA 2021

"A Practical Approach to Breaking & Pwning Kubernetes Clusters" is a commercial training with completely hands-on approach by Madhu Akula at upcoming Black Hat USA 2021 to learn more about Kubernets Security.

Black Hat USA 2021 Training

SANS CloudSecNext Summit 2021

"Kubernetes Goat - Interactive Kubernetes Security Learning Playground" at upcoming SANS CloudSecNext Summit 2021 to learn more about Kubernets Goat.

SANS CloudSecNext Summit 2021

Recent Kubernetes Goat Presentations

OWASP Bay Area Meetup

Introducing Kubernetes Goat - OWASP Bay Area Meetup

DEFCON Red Team Village

Kubernetes Goat - DEFCON Red Team Village

EkoParty 2020 - DevSecOps

Kubernetes Goat - EkoParty 2020 DevSecOps

🎲 Just click and Play in the browser for free using Katacoda Playground - Try now

Katacoda Playground Kubernetes Goat

https://katacoda.com/madhuakula/scenarios/kubernetes-goat

⚙️ Setting up 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 2 in your path as helm2. Refer to helm releases for more information about setup
helm2 --help
  • 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

Kubernetes Goat - KIND setup

  • If you want to setup Kubernetes Goat using KIND, refer to kind-setup

🏁 Scenarios

  1. Sensitive keys in code-bases
  2. DIND (docker-in-docker) exploitation
  3. SSRF in K8S world
  4. Container escape to access host system
  5. Docker CIS Benchmarks analysis
  6. Kubernetes CIS Benchmarks analysis
  7. Attacking private registry
  8. NodePort exposed services
  9. Helm v2 tiller to PwN the cluster
  10. Analysing crypto miner container
  11. Kubernetes Namespaces bypass
  12. Gaining environment information
  13. DoS the memory/CPU resources
  14. Hacker Container preview
  15. Hidden in layers

❤️ Showcase

⚠️ Disclaimer

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.

✨ Contributors

Thanks goes to these wonderful people 🎉

madhuakula
madhuakula
macagr
macagr
rewanthtammana
rewanthtammana
NF997
NF997
smoyer64
smoyer64
wurstbrot
wurstbrot
podjackel
podjackel

About

Kubernetes Goat is "Vulnerable by Design" Kubernetes Cluster. Designed to be an intentionally vulnerable cluster environment to learn and practice Kubernetes security.

https://madhuakula.com/kubernetes-goat

License:MIT License


Languages

Language:HTML 94.9%Language:Shell 2.2%Language:Dockerfile 1.3%Language:JavaScript 0.4%Language:Go 0.4%Language:Python 0.3%Language:Mustache 0.3%Language:Smarty 0.1%