K8s横向逃逸-Struts2漏洞利用
部署struts靶场
随便一个node上执行即可部署
# 拉取靶场镜像,并部署
kubectl create deployment struts --image=vulhub/struts2:2.3.28
# 设置开放一个对外端口8080,转发到内部pod的8080端口,并开放一个30000 - 32767的静态端口
kubectl expose deploy struts --port=8080 --target-port=8080 --type=NodePort
# 查看状态信息
kubectl get pod,svc
攻击
漏洞探测
由于知道是struts的靶场,这里直接使用自动化工具进行攻击

可以看到存在可利用漏洞
环境检测
执行命令,查看当前用户权限、目录结构等信息


在根目录发现了docker环境的特征文件说明当前虽然是root用户但在docker环境中
执行 cat /proc/1/cgroup 命令,可以看到大量kubepods的关键字,说明不是单纯的docker环境,而是k8s集群

上传后门
上传哥斯拉的后门文件,方便上传cdk工具
- 先pwd获取当前路径,找到网站等访问的web路径

- 一层一层的往下面探,找到了网站所在目录

- 上传后门文件到该目录下
可以看到当前没有该文件

上传后再访问,可以看到有文件了

- 哥斯拉链接后门

成功连接
上传cdk自动化工具
注:由于工具较大,需要使用大文件上传,如果无法上传,那就自己搭建一个服务器,远程下载工具
# 使用python起一个临时服务
python -m http.server

- 下载

可以看到成功下载
现在就可以利用它进行自动化攻击了
注意:要给它执行权限,chmod +x

浙公网安备 33010602011771号