当前位置: 首页 > 软件库 > 云计算 > 云原生 >

kubernetes-goat

授权协议 MIT License
开发语言 Google Go
所属分类 云计算、 云原生
软件类型 开源软件
地区 不详
投 递 者 袁羽
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Kubernetes Goat

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.

Show us some ❤️

Please feel free to send us a PR and show some ❤️

�� Upcoming Training's and Sessions

DEFCON DEMO Labs

Cloud Village - DEFCON

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

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

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
  16. RBAC Least Privileges Misconfiguration
  17. KubeAudit - Audit Kubernetes Clusters
  18. Sysdig Falco - Runtime Security Monitoring & Detection
  19. Popeye - A Kubernetes Cluster Sanitizer
  20. Secure network boundaries using NSP

❤️ 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.

License

MIT

Acknowledgements

Thanks goes to these wonderful people ��

madhuakula
madhuakula
mkcn
mkcn
macagr
macagr
rewanthtammana
rewanthtammana
NF997
NF997
smoyer64
smoyer64
wurstbrot
wurstbrot
podjackel
podjackel
  • Install Go: https://go.dev/dl/ https://go.dev/doc/install wget https://go.dev/dl/go1.19.1.linux-amd64.tar.gz tar -C /usr/local -xzf go1.19.1.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin go v

  • 本篇内容是在公司做技术分享时的 PPT,主要内容: Kubernetes & Docker 简介 容器技术基础知识介绍 Kubernetes 核心设计浅析 详细内容请看PPT:https://download.csdn.net/download/u010657094/13078830 或者: https://github.com/ByrsH/doc/blob/main/Kubernetes%20%

 相关资料
  • Kubernetes (通常称为 K8s) 是来自 Google 云平台的开源容器集群管理系统,用于自动部署、扩展和管理容器化(containerized)应用程序。该系统基于 Docker 构建一个容器的调度服务。 Kubernetes 可以自动在一个容器集群中选择一个工作容器供使用。其核心概念是 Container Pod。详细的设计思路请参考这里。 Kubernetes 由 Google 设

  • 我正在使用Ansible、Docker、Jenkins和Kubernetes实现持续集成和持续部署。我已经使用Ansible和kubespray部署创建了一个具有1个主节点和2个工作节点的Kubernetes集群。我有30-40个微服务应用。我需要创建这么多的服务和部署。 我的困惑 当我使用Kubernetes包管理器Kubernetes Helm chart时,我需要在主节点上启动我的图表,还是

  • 扩展应用 通过修改Deployment中副本的数量(replicas),可以动态扩展或收缩应用: 这些自动扩展的容器会自动加入到service中,而收缩回收的容器也会自动从service中删除。 $ kubectl scale --replicas=3 deployment/nginx-app $ kubectl get deploy NAME DESIRED CURRENT

  • 体验Kubernetes最简单的方法是跑一个nginx容器,然后使用kubectl操作该容器。Kubernetes提供了一个类似于docker run的命令kubectl run,可以方便的创建一个容器(实际上创建的是一个由deployment来管理的Pod): $ kubectl run --image=nginx:alpine nginx-app --port=80

  • 我试图在Kubernetes上运行Spark作为调度程序。 当使用从kubernetes集群外部运行时,它可以正常工作。 但是,每当我们尝试从pod中直接运行spark-shell或spark-submit时,它都不会起作用(即使使用从spark文档中执行rbac也不会起作用。我们有授权执行异常: io.fabric8.kubernetes.client.kubernetesclientExcep

  • 部署单元 依赖方式 架构模式 微服务涉及的技术点 服务发现 服务目录 服务列表 配置中心 服务生命周期 变更,升级 服务依赖关系 链路跟踪 限流 降级 熔断 访问控制 为微服务而生的 Kubernetes Kubernetes 架构 Kubernetes Pod - Sidecar 模式 Kubernetes 支持微服务的一些特性 微服务集大成之 istio Kubernetes 架构 一个状态存