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的靶场,这里直接使用自动化工具进行攻击

image-20250222164059484

可以看到存在可利用漏洞

环境检测

执行命令,查看当前用户权限、目录结构等信息

image-20250222164313317

image-20250222164335968

在根目录发现了docker环境的特征文件说明当前虽然是root用户但在docker环境中

执行 cat /proc/1/cgroup 命令,可以看到大量kubepods的关键字,说明不是单纯的docker环境,而是k8s集群

image-20250222164730887

上传后门

上传哥斯拉的后门文件,方便上传cdk工具

  • 先pwd获取当前路径,找到网站等访问的web路径

image-20250222165941752

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

image-20250222170133088

  • 上传后门文件到该目录下

可以看到当前没有该文件

image-20250222170356593

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

image-20250222170516393

  • 哥斯拉链接后门

image-20250222170625409

成功连接

上传cdk自动化工具

注:由于工具较大,需要使用大文件上传,如果无法上传,那就自己搭建一个服务器,远程下载工具

# 使用python起一个临时服务
python -m http.server

image-20250222172856859

  • 下载

image-20250222173031328

可以看到成功下载

现在就可以利用它进行自动化攻击了

注意:要给它执行权限,chmod +x

CDK自动化

posted @ 2025-12-04 16:30  shinianyunyan  阅读(1)  评论(0)    收藏  举报