关于Kubernetes Goat
Kubernetes Goat是一款针对Kubernetes的安全实践靶场环境,该环境本质上是一个故意设计包含安全缺陷的集群环境,可以使用交互式实践方式来学习和实践Kubernetes安全性相关的研究。
功能介绍
1、代码库中的敏感密钥
2、DIND(docker-in-docker)利用;
3、Kubernetes(K8S)世界中的 SSRF;
4、容器逃逸到主机系统;
5、Docker CIS 基准测试分析;;
6、Kubernetes CIS 基准测试分析
7、注册表数据审计;
8、NodePort 暴露服务;
9、使用 Helm v2 tiller 来攻破集群 - [已弃用];
10、分析加密货币矿工容器;
11、Kubernetes 命名空间绕过;
12、获取环境信息;
13、对内存/CPU 资源进行 DoS;
14、RBAC 最小权限配置错误;
15、KubeAudit - 审计 Kubernetes 集群;
16、Falco - 运行时安全监控和检测;
17、Popeye - Kubernetes 集群清理工具;
18、使用 NSP 保护网络边界;
19、Cilium Tetragon - 基于 eBPF 的安全可观察性和运行时执行;
20、使用 Kyverno 策略引擎保护 Kubernetes 集群;
工具特点
1、快速简便
2、出色的文档
3、知识共享
4、基于场景的方法
5、高品质内容
6、互动学习
7、真实案例
8、实践操作
9、多元化的受众
10、很棒的社区
工具要求
Kubernetes集群
工具安装
确保具有 Kubernetes 集群的管理员权限并已安装kubectl。
确保已安装helm包管理器。
要设置集群中的 Kubernetes Goat 资源,请运行以下命令:
git clone https://github.com/madhuakula/kubernetes-goat.git cd kubernetes-goat bash setup-kubernetes-goat.sh
工具使用
在运行访问脚本之前确保 Pod 正在运行
kubectl get pods
通过以下命令将资源公开到本地系统(端口转发)来访问 Kubernetes Goat:
bash access-kubernetes-goat.sh
然后导航至http://127.0.0.1:1234即可:
许可证协议
本项目的开发与发布遵循MIT开源许可协议。
项目地址
Kubernetes Goat:【GitHub传送门】
参考资料
https://madhuakula.com/kubernetes-goat