English | 简体中文
一个专为 Kubernetes 环境设计的工具,旨在高效且自动地发现集群中隐藏的漏洞 API。 附赠一个靶场可以学习到自定义 apiserver 的一个经典漏洞,这一设计会导致 API 端点鉴权失效,并可能危及整个集群。
- 【✅】自动解析 openapi 发现敏感字段
- 【✅】自动探测潜在的认证绕过的 api
- 【✅】自动加载环境内的凭证
- 【 】自动服务发现并探测潜在的缺陷 extension apiserver
- 【 】集成已知控制面组件利用?
- 【✅】REST层的缺陷实现
- 【 】带有 operator 控制器的典型漏洞
- 在 pod 中下载二进制文件
- 运行二进制文件
./inspector
- ./inspector -kubeconfig path/to/kubeconfig
- 测试其他命名空间 ./inspector -kubeconfig path/to/kubeconfig -namespace kube-system
- 跳过敏感字段测试 ./inspector -kubeconfig path/to/kubeconfig -skipCheckSensitiveField=true
- golang>1.22
- kubernetes 和 docker
- linux-amd64, linux-arm
- 当前工作目录:/repo/
- 使用
go build CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -o inspector cmd/inspector/main.go - 或使用 docker 构建
docker build . -t inspector:latest
- 当前工作目录:/repo/workshop/
- 设置一个 Kubernetes 集群,可以使用 minikube,如
minikube start --kubernetes-version='v1.23.17' - 使用 docker 构建 workshop 镜像
docker build . -t workshop-apiserver:latest - 部署 workshop-apiserver 使用的etcd
cd workshop/examples/etcd && ./generate-certs.sh && deploy.sh - 创建 workshop k8s 资源
cat examples/{namespace,apiserviceservice,workshop-apiserver-sa,workshop-apiserver-clusterrolebinding,workshop-apiserver-deployment}.yaml | kubectl apply -f - - 创建 demo 的集群 resource 及租户的服务账号
kubectl apply -f examples/tenant
