免责声明
本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。
如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。
文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。
知识点
1、云原生-K8s安全-横向移动-污点Taint
2、云原生-K8s安全-Kubernetes实战场景
章节点:
云场景攻防:公有云,私有云,混合云,虚拟化集群,云桌面等
云厂商攻防:阿里云,腾讯云,华为云,亚马云,谷歌云,微软云等
云服务攻防:对象存储,云数据库,弹性计算服务器,VPC&RAM等
云原生攻防:Docker,Kubernetes(k8s),容器逃逸,CI/CD等
一个集群包含三个节点,其中包括一个控制节点和两个工作节点
K8s-master 192.168.139.130
K8s-node1 192.168.139.131
K8s-node2 192.168.139.132
一、演示案例-云原生-K8s安全-横向移动-污点Taint
如何判断实战中能否利用污点Taint?
设置污点
kubectl taint nodes node1 xtz=value1:NoSchedule
去除污点
kubectl taint nodes node1 xtz:NoSchedule-
节点说明中,查找 Taints 字段
拿到node节点权限时可以查看其他node主机或者master主机是否支持用Taint污点横向移动
kubectl describe nodes node-name
二、演示案例-云原生-K8s安全-Kubernetes实战场景
1、攻击Pod部署Web应用
Web应用部署:(struts2漏洞)
拉取靶场镜像
kubectl create deployment xiaodi --image=vulhub/struts2:2.3.28
查看pod容器的状态(归属节点、内部IP、运行状态等)
kubectl get pods -o wide
启动靶场镜像服务
kubectl expose deploy xiaodi --port=8080 --target-port=8080 --type=NodePort
kubectl get pod,svc
利用Web漏洞拿下权限
探针当前Webshell环境是否是docker容器
两种情况:
1、纯在docker容器里
2、在k8s下的某个主机里的docker容器
ls -al /
但是这还没完,因为这个docker容器有很大可能会在k8s下面
cat /proc/1/cgroup
docker逃逸
工具地址:kubectl,0.1,name,--,Taint,99,443,host,Pod
From: https://blog.csdn.net/Lucker_YYY/article/details/141854780