Skip to content

Commit c9ad095

Browse files
committed
New release Kubernetes Goat 2.0.0
1 parent 812cc8e commit c9ad095

File tree

229 files changed

+44113
-6845
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

229 files changed

+44113
-6845
lines changed

README.md

+54-53
Original file line numberDiff line numberDiff line change
@@ -40,57 +40,43 @@
4040

4141
[![Kubernetes Goat Home](./kubernetes-goat-home.png)](https://madhuakula.com/kubernetes-goat)
4242

43-
## Recent Kubernetes Goat Presentations
44-
45-
**OWASP Bay Area Meetup**
46-
47-
[![Introducing Kubernetes Goat - OWASP Bay Area Meetup](https://img.youtube.com/vi/DQllxpb46Yw/0.jpg)](https://youtu.be/DQllxpb46Yw)
48-
49-
**DEFCON Red Team Village**
50-
51-
[![Kubernetes Goat - DEFCON Red Team Village](https://img.youtube.com/vi/aEaSZJRbnTo/0.jpg)](https://youtu.be/aEaSZJRbnTo)
52-
53-
## 🎲 Just click and Play in the browser for free using Katacoda Playground - [Try now]((https://katacoda.com/madhuakula/scenarios/kubernetes-goat))
43+
## 🚀 Free online browser-based playground - [Try now]((https://katacoda.com/madhuakula/scenarios/kubernetes-goat))
5444

5545
[![Katacoda Playground Kubernetes Goat](./kubernetes-goat-katacoda.png)](https://katacoda.com/madhuakula/scenarios/kubernetes-goat)
5646

57-
[https://katacoda.com/madhuakula/scenarios/kubernetes-goat](https://katacoda.com/madhuakula/scenarios/kubernetes-goat)
58-
5947
## ⚙️ Setting up Kubernetes Goat
6048

61-
* Before we set up the Kubernetes Goat, ensure that you have created and have admin access to the Kubernetes cluster
49+
* Ensure you have admin access to the Kubernetes cluster and installed `kubectl`. Refer to the [docs for installation](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
50+
* Ensure you have the `helm` package manager installed. Refer to the [docs for installation](https://helm.sh/docs/intro/install)
51+
* To set up the Kubernetes Goat resources in your cluster, run the following commands
6252

6353
```bash
64-
kubectl version --short
54+
git clone https://github.com/madhuakula/kubernetes-goat.git
55+
cd kubernetes-goat
56+
bash setup-kubernetes-goat.sh
6557
```
6658

67-
* Set up the helm version 3 in your path as `helm`. Refer to helm [releases](https://github.com/helm/helm/releases) for more information about setup
59+
* Ensure the pods are running before running the access script
6860

6961
```bash
70-
helm version --short
62+
kubectl get pods
7163
```
7264

73-
* Then finally setup Kubernetes Goat by running the following command
65+
![all pods running in kubectl get pods](guide/docs/scenarios/images/kubectl-get-pods.png)
7466

75-
```bash
76-
git clone https://github.com/madhuakula/kubernetes-goat.git
77-
cd kubernetes-goat
78-
bash setup-kubernetes-goat.sh
79-
```
80-
81-
* To export the ports/services locally to start learning, run the following command
67+
* Access the Kubernetes Goat by exposing the resources to the local system (port-forward) by the following command
8268

8369
```bash
8470
bash access-kubernetes-goat.sh
8571
```
8672

87-
* Then navigate to [http://127.0.0.1:1234](http://127.0.0.1:1234)
73+
* Then navigate to [`http://127.0.0.1:1234`](http://127.0.0.1:1234)
8874

89-
### Kubernetes Goat - KIND setup
9075

91-
* If you want to setup Kubernetes Goat using KIND, refer to [kind-setup](kind-setup/README.md)
76+
> Refer to [https://madhuakula.com/kubernetes-goat/docs/how-to-run](https://madhuakula.com/kubernetes-goat/docs/how-to-run) for setting up Kubernetes Goat in various environments like GKE, EKS, AKS, K3S, KIND, etc.
9277
93-
## 🏁 Scenarios
78+
79+
## 🏆 Scenarios
9480

9581
1. Sensitive keys in codebases
9682
2. DIND (docker-in-docker) exploitation
@@ -113,39 +99,54 @@ bash access-kubernetes-goat.sh
11399
19. Popeye - A Kubernetes cluster sanitizer
114100
20. Secure network boundaries using NSP
115101

116-
## ❤️ Showcase
117-
118-
* Presented at OWASP Bay Area Meetup at [https://youtu.be/DQllxpb46Yw](https://youtu.be/DQllxpb46Yw)
119-
* Presented at DEF CON RED Team Village [https://youtu.be/aEaSZJRbnTo](https://youtu.be/aEaSZJRbnTo)
120-
* Presented at OWASP San Diego at [https://www.meetup.com/Open-Web-Application-Security-Project-San-Diego-OWASP-SD/events/hmbbkrybckbvb/](https://www.meetup.com/Open-Web-Application-Security-Project-San-Diego-OWASP-SD/events/hmbbkrybckbvb/)
121-
* Featured in the official Kubernetes Podcast at [https://kubernetespodcast.com/episode/109-kubermatic](https://kubernetespodcast.com/episode/109-kubermatic/)
122-
* Featured in tl;dr sec [https://tldrsec.com/blog/tldr-sec-039](https://tldrsec.com/blog/tldr-sec-039/)
123-
* Featured in CloudSecList [https://cloudseclist.com/issues/issue-42](https://cloudseclist.com/issues/issue-42/)
124-
* Presented at EkoParty 2020 DevSecOps [https://youtu.be/XqwbVU-gtng](https://youtu.be/XqwbVU-gtng)
125-
* Presented at c0c0cn 2020 [https://india.c0c0n.org/2020/speakers#madhu_akula](https://india.c0c0n.org/2020/speakers#madhu_akula)
126-
* Featured in Info Ck YouTube channel [https://youtu.be/5ojho4L6Xfo](https://youtu.be/5ojho4L6Xfo)
127-
* Presented in Cloud Native Indonesia Meetup [https://youtu.be/pf5jOGWoWU0](https://youtu.be/pf5jOGWoWU0)
128-
* Presented in [USENIX LISA 2021 Closing Note](https://www.usenix.org/conference/lisa21/presentation/closing)
129-
* Presented in SANS CloudSecNext Summit 2021
102+
## 📖 Documentation Guide
130103

131-
## ⚠️ Disclaimer
104+
Here is the detailed step by step [documentation guide](https://madhuakula.com/kubernetes-goat) for learning and playing around with Kubernetes Goat 🎉
132105

133-
> Kubernetes Goat creates intentionally vulnerable resources into your cluster. DO NOT deploy Kubernetes Goat in a production environment or alongside any sensitive cluster resources.
106+
[![Kubernetes Goat Documentation Guide](kubernetes-goat-docs.png)](https://madhuakula.com/kubernetes-goat)
134107

135-
> Kubernetes Goat comes with absolutely no warranties whatsoever. By using Kubernetes Goat, you take full responsibility for all outcomes that result.
108+
**Reference: [https://madhuakula.com/kubernetes-goat](https://madhuakula.com/kubernetes-goat)**
136109

137-
## Show us some ❤️
110+
## ⚠️ Disclaimer
138111

139-
Please feel free to send us a [PR](https://github.com/madhuakula/kubernetes-goat/blob/master/guide/src/getting-involved/i-use-this-project.md) and show some ❤️
112+
> Kubernetes Goat has intentionally created vulnerabilities, applications, and configurations to attack and gain access to your cluster and workloads. Please **DO NOT** run alongside your production environments and infrastructure. So we highly recommend running this in a safe and isolated environment.
140113
141-
[![I use this project](images/i-use-this-project.png)](https://github.com/madhuakula/kubernetes-goat/blob/master/guide/src/getting-involved/i-use-this-project.md)
114+
> Kubernetes Goat is used for educational purposes only, do not test or apply these attacks on any systems without permission. Kubernetes Goat comes with absolutely no warranties, by using it you take full responsibility for all the outcomes.
142115
143-
## License
116+
## 🪪 License
144117

145118
[MIT](https://github.com/madhuakula/kubernetes-goat/blob/master/LICENSE)
146119

147120
## ✨ Acknowledgements
148121

149-
Thanks goes to these wonderful people 🎉
150-
151-
<table><tr><td align="center"><a href="https://github.com/madhuakula"><img alt="madhuakula" src="https://avatars.githubusercontent.com/u/6764192?v=4" width="100" /><br />madhuakula</a></td><td align="center"><a href="https://github.com/mkcn"><img alt="mkcn" src="https://avatars.githubusercontent.com/u/7307955?v=4" width="100" /><br />mkcn</a></td><td align="center"><a href="https://github.com/macagr"><img alt="macagr" src="https://avatars.githubusercontent.com/u/2797772?v=4" width="100" /><br />macagr</a></td><td align="center"><a href="https://github.com/rewanthtammana"><img alt="rewanthtammana" src="https://avatars.githubusercontent.com/u/22347290?v=4" width="100" /><br />rewanthtammana</a></td><td align="center"><a href="https://github.com/avicoder"><img alt="avicoder" src="https://avatars.githubusercontent.com/u/2093260?v=4" width="100" /><br />avicoder</a></td><td align="center"><a href="https://github.com/NF997"><img alt="NF997" src="https://avatars.githubusercontent.com/u/23374308?v=4" width="100" /><br />NF997</a></td></tr><tr><td align="center"><a href="https://github.com/smoyer64"><img alt="smoyer64" src="https://avatars.githubusercontent.com/u/328333?v=4" width="100" /><br />smoyer64</a></td><td align="center"><a href="https://github.com/wurstbrot"><img alt="wurstbrot" src="https://avatars.githubusercontent.com/u/955192?v=4" width="100" /><br />wurstbrot</a></td><td align="center"><a href="https://github.com/podjackel"><img alt="podjackel" src="https://avatars.githubusercontent.com/u/5067183?v=4" width="100" /><br />podjackel</a></td><td align="center"><a href="https://github.com/ant4g0nist"><img alt="ant4g0nist" src="https://avatars.githubusercontent.com/u/3500559?v=4" width="100" /><br />ant4g0nist</a></td></tr></table>
122+
Thanks go to these wonderful people 🎉
123+
124+
<table>
125+
<tr>
126+
<td align="center"><a href="https://github.com/madhuakula"><img alt="madhuakula"
127+
src="https://avatars.githubusercontent.com/u/6764192?v=4" width="100" /><br />madhuakula</a></td>
128+
<td align="center"><a href="https://github.com/apvarun"><img alt="apvarun"
129+
src="https://avatars.githubusercontent.com/u/8411309?v=4" width="100" /><br />apvarun</a></td>
130+
<td align="center"><a href="https://github.com/mkcn"><img alt="mkcn"
131+
src="https://avatars.githubusercontent.com/u/7307955?v=4" width="100" /><br />mkcn</a></td>
132+
<td align="center"><a href="https://github.com/macagr"><img alt="macagr"
133+
src="https://avatars.githubusercontent.com/u/2797772?v=4" width="100" /><br />macagr</a></td>
134+
<td align="center"><a href="https://github.com/rewanthtammana"><img alt="rewanthtammana"
135+
src="https://avatars.githubusercontent.com/u/22347290?v=4" width="100" /><br />rewanthtammana</a>
136+
</td>
137+
<td align="center"><a href="https://github.com/avicoder"><img alt="avicoder"
138+
src="https://avatars.githubusercontent.com/u/2093260?v=4" width="100" /><br />avicoder</a></td>
139+
</tr>
140+
<tr>
141+
<td align="center"><a href="https://github.com/NF997"><img alt="NF997"
142+
src="https://avatars.githubusercontent.com/u/23374308?v=4" width="100" /><br />NF997</a></td>
143+
<td align="center"><a href="https://github.com/smoyer64"><img alt="smoyer64"
144+
src="https://avatars.githubusercontent.com/u/328333?v=4" width="100" /><br />smoyer64</a></td>
145+
<td align="center"><a href="https://github.com/wurstbrot"><img alt="wurstbrot"
146+
src="https://avatars.githubusercontent.com/u/955192?v=4" width="100" /><br />wurstbrot</a></td>
147+
<td align="center"><a href="https://github.com/podjackel"><img alt="podjackel"
148+
src="https://avatars.githubusercontent.com/u/5067183?v=4" width="100" /><br />podjackel</a></td>
149+
<td align="center"><a href="https://github.com/ant4g0nist"><img alt="ant4g0nist"
150+
src="https://avatars.githubusercontent.com/u/3500559?v=4" width="100" /><br />ant4g0nist</a></td>
151+
</tr>
152+
</table>

guide/.gitignore

+20-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,20 @@
1-
book
1+
# Dependencies
2+
/node_modules
3+
4+
# Production
5+
/build
6+
7+
# Generated files
8+
.docusaurus
9+
.cache-loader
10+
11+
# Misc
12+
.DS_Store
13+
.env.local
14+
.env.development.local
15+
.env.test.local
16+
.env.production.local
17+
18+
npm-debug.log*
19+
yarn-debug.log*
20+
yarn-error.log*

guide/README.md

+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<p align="center">
2+
<br/>
3+
<a href="https://github.com/madhuakula/kubernetes-goat" target="_blank"><img width="150px" src="https://raw.githubusercontent.com/madhuakula/kubernetes-goat/master/kubernetes-goat-logo.png" /></a>
4+
<h3 align="center">Kubernetes Goat</h3>
5+
<p align="center">Interactive Kubernetes Security Learning Playground</p>
6+
<p align="center">
7+
The Kubernetes Goat is designed to be an intentionally vulnerable cluster environment to learn and practice Kubernetes security.
8+
</p>
9+
10+
<p align="center">
11+
<a href="https://app.netlify.com/sites/kubernetes-goat/deploys">
12+
<img alt="Netlify Status" src="https://api.netlify.com/api/v1/badges/e5399be3-9c47-4557-b237-9e6c89f6cada/deploy-status" />
13+
</a>
14+
<a href="https://github.com/madhuakula/kubernetes-goat/blob/master/LICENSE">
15+
<img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue.svg" />
16+
</a>
17+
<a href="https://github.com/madhuakula/kubernetes-goat/releases/latest">
18+
<img alt="GitHub release" src="https://img.shields.io/github/release/madhuakula/kubernetes-goat.svg" />
19+
</a>
20+
<a href="https://github.com/madhuakula/kubernetes-goat/stargazers">
21+
<img alt="Github Stars" src="https://img.shields.io/github/stars/madhuakula/kubernetes-goat" />
22+
</a>
23+
<a href="https://github.com/madhuakula/kubernetes-goat/pulls">
24+
<img alt="PRs Welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" />
25+
</a>
26+
<a href="https://hub.docker.com/r/madhuakula/k8s-goat-system-monitor">
27+
<img alt="Docker Pulls Kubernetes Goat" src="https://img.shields.io/docker/pulls/madhuakula/k8s-goat-system-monitor" />
28+
</a>
29+
<a href="https://twitter.com/intent/tweet/?text=Kubernetes%20Goat,%20an%20intentionally%20vulnerable%20by%20design%20training%20platform%20to%20learn%20%23Kubernetes%20Security%20by%20%40madhuakula.%20Check%20it%20out%20&url=https://github.com/madhuakula/kubernetes-goat">
30+
<img alt="Twitter" src="https://img.shields.io/twitter/url?url=https://github.com/madhuakula/kubernetes-goat" />
31+
</a>
32+
</p>
33+
</p>
34+
35+
## Overview
36+
37+
This is the repository for the documentation page for Kubernetes Goat. This documentation site is based on the [Docusaurus](https://docusaurus.io) framework.
38+
39+
## Getting Started
40+
41+
To start a local environment of this project, please do the following.
42+
43+
1. Clone the repository.
44+
45+
```bash
46+
git clone https://github.com/madhuakula/kubernetes-goat.git
47+
```
48+
49+
2. Navigate to the `docs` directory
50+
51+
```bash
52+
cd docs
53+
```
54+
55+
3. Install dependencies
56+
57+
```bash
58+
npm install
59+
```
60+
61+
3. Start the development server
62+
63+
```bash
64+
yarn start
65+
```
66+
67+
4. Navigate to [localhost:3000](http://localhost:3000) for accessing the Kubernetes Goat documentation locally

guide/babel.config.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
3+
};

guide/book.toml

-9
This file was deleted.

guide/docs/acknowledgments.md

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# 🙏 Acknowledgements
2+
3+
Thanks goes to these wonderful people 🎉
4+
5+
<table>
6+
<tr>
7+
<td align="center"><a href="https://github.com/madhuakula"><img alt="madhuakula"
8+
src="https://avatars.githubusercontent.com/u/6764192?v=4" width="100" /><br />madhuakula</a></td>
9+
<td align="center"><a href="https://github.com/apvarun"><img alt="apvarun"
10+
src="https://avatars.githubusercontent.com/u/8411309?v=4" width="100" /><br />apvarun</a></td>
11+
<td align="center"><a href="https://github.com/mkcn"><img alt="mkcn"
12+
src="https://avatars.githubusercontent.com/u/7307955?v=4" width="100" /><br />mkcn</a></td>
13+
<td align="center"><a href="https://github.com/macagr"><img alt="macagr"
14+
src="https://avatars.githubusercontent.com/u/2797772?v=4" width="100" /><br />macagr</a></td>
15+
<td align="center"><a href="https://github.com/rewanthtammana"><img alt="rewanthtammana"
16+
src="https://avatars.githubusercontent.com/u/22347290?v=4" width="100" /><br />rewanthtammana</a>
17+
</td>
18+
<td align="center"><a href="https://github.com/avicoder"><img alt="avicoder"
19+
src="https://avatars.githubusercontent.com/u/2093260?v=4" width="100" /><br />avicoder</a></td>
20+
</tr>
21+
<tr>
22+
<td align="center"><a href="https://github.com/NF997"><img alt="NF997"
23+
src="https://avatars.githubusercontent.com/u/23374308?v=4" width="100" /><br />NF997</a></td>
24+
<td align="center"><a href="https://github.com/smoyer64"><img alt="smoyer64"
25+
src="https://avatars.githubusercontent.com/u/328333?v=4" width="100" /><br />smoyer64</a></td>
26+
<td align="center"><a href="https://github.com/wurstbrot"><img alt="wurstbrot"
27+
src="https://avatars.githubusercontent.com/u/955192?v=4" width="100" /><br />wurstbrot</a></td>
28+
<td align="center"><a href="https://github.com/podjackel"><img alt="podjackel"
29+
src="https://avatars.githubusercontent.com/u/5067183?v=4" width="100" /><br />podjackel</a></td>
30+
<td align="center"><a href="https://github.com/ant4g0nist"><img alt="ant4g0nist"
31+
src="https://avatars.githubusercontent.com/u/3500559?v=4" width="100" /><br />ant4g0nist</a></td>
32+
</tr>
33+
</table>

guide/docs/architecture.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# 📐 Kubernetes Goat Architecture
2+
3+
The below diagram is a very high-level overview of the Kubernetes Goat architecture and its components generated by Weave scope. Kubernetes Goat contains various resources and components, we will be creating a detailed architecture soon.
4+
5+
![](scenarios/images/kubernetes-goat-architecture.png)

0 commit comments

Comments
 (0)