《云原生安全攻防》-- K8s攻击案例:高权限Service Account接管集群

news/2024/9/16 8:23:48/ 标签: docker, kubernetes, 容器

《网安面试指南》icon-default.png?t=N7T8http://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247484339&idx=1&sn=356300f169de74e7a778b04bfbbbd0ab&chksm=c0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene=21#wechat_redirect

在本节课程中,我们将学习一个K8s攻击案例,高权限Service Account接管集群。如果攻击者获取到有效的凭证,就有可能通过凭证来接管整个K8s集群。

在这个课程中,我们将学习以下内容:

  • K8s的认证方式:介绍两种比较常见的身份认证方式,UserAccount和ServiceAccount。

  • K8s身份认证攻击案例:深入分析具体的攻击细节,了解攻击者是如何获取凭证并利用凭证来接管集群的。


首先,我们来介绍一下K8s的认证方式。在K8s集群环境中,为了确保集群的安全性,K8s提供了两种比较常见的身份认证方式,来对访问集群内资源的用户进行认证,以确保只有授权的用户可以访问集群内的资源。

基于K8s的这两种身份认证方式:

攻击者可能会尝试获取有效的Service account凭证,并利用这些凭据来访问集群中的敏感资源,执行特权操作,甚至在集群中创建、修改或删除资源。

另外,攻击者还可以尝试获取集群管理员的Kubeconfig文件,一旦攻击者获取了kubeconfig文件,意味着攻击者可以直接使用配置文件中包含的凭据和访问权限来连接和控制集群。

图片

我们梳理了一张攻击路径图,如图所示:

假设攻击者成功入侵了一个容器内的web应用,并获得了这个Pod的shell权限,这个时候,如果Pod关联的Service Account拥有创建Pod的权限,攻击者就可以利用污点容忍的方式,将一个恶意Pod调度到Master节点上,通过在恶意Pod中挂载根目录,攻击者就可以获取到Master节点上的 kubeconfig 文件,从而直接接管整个K8s集群。

图片

在这张攻击路径图里:

攻击者入侵容器应用拿到shell权限,进一步通过容器逃逸拿下了Node节点权限,在Node节点上尝试搜索kubeconfig文件或是尝试在运行的pod里面找到高权限的Service Account,使用窃取的凭证与API Server进行交互,通过污点容忍创建恶意pod,从而获取集群权限。

图片

云原生安全攻防--K8s攻击案例:高权限Service Account接管集群


http://www.ppmy.cn/news/1522579.html

相关文章

奥威让您更懂现金流情况

企业现金流一旦出了问题都是大问题,会直接影响到企业的日常运作,甚至直接关系到企业能不能继续存活,因此现金流量表是企业财务分析中重要报表之一,也是企业监控财务监控情况的重要手段之一。那么这么重要的一份现金流量表该怎么做…

数据库管理-第238期 23ai:全球分布式数据库-架构与组件(20240904)

数据库管理238期 2024-09-04 数据库管理-第238期 23ai:全球分布式数据库-架构与组件(20240904)1 架构图2 分片数据库与分片3 Shard Catalog4 Shard Director5 Global Service6 管理界面总结 数据库管理-第238期 23ai:全球分布式数…

RT-Thread 使用HTTP固件下载方式进行OTA远程升级

参考资料:RT-T官网资料如下链接所示 STM32通用Bootloader (rt-thread.org) 1.app程序env配置过程 参考上述资料中"制作 app 固件"章节,分区大小根据自己设备而定,以下是我以407VET6为例设置的fal分区 notes:上述分区是由片内flash(on-chip)…

科研绘图系列:R语言差异基因四分图(Quad plot)

文章目录 介绍加载R包导入数据数据预处理画图参考介绍 四分图(Quad plot)是一种数据可视化技术,通常用于展示四个变量之间的关系。它由四个子图组成,每个子图都显示两个变量之间的关系。四分图的布局通常是2x2的网格,每个格子代表一个变量对的散点图。 在四分图中,通常…

2024数学建模国赛选题建议+团队助攻资料(已更新完毕)

目录 一、题目特点和选题建议 二、模型选择 1、评价模型 2、预测模型 3、分类模型 4、优化模型 5、统计分析模型 三、white学长团队助攻资料 1、助攻代码 2、成品论文PDF版 3、成品论文word版 9月5日晚18:00就要公布题目了,根据历年竞赛题目…

clickhouse-v24.1-离线部署

部署版本 数据库版本:24.1.1.2048 jdk版本:jdk8 4个文件(三个ck的包): OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar clickhouse-client-24.1.1.2048.x86_64.rpm clickhouse-common-static-24.1.1.2048.x86_64.…

Unity之获取Avpro视频画面并在本地创建缩略图

一、效果 获取StreamingAssets文件夹下的所有视频(包含其子文件夹),获取指定时间的视频画面,然后将图片保存到本地磁盘中。 二、关于Avpro的事件监听 当指定视频时间进度时会触发FinishedSeeking,代表加载完成这时我们…

muduo 网络库学习项目引入 Boost 依赖

文章目录 下载 [Boost 源码库](https://www.boost.org/)编译通过 CMake 引入 Boost 项目Boost 链接库指引文档的问题 muduo 这个项目比较老旧了,但是仍然是学习网络库实现的一个不错的参考,所以还是得看看书自己动手实践一下。 没想到跟着书上的代码练手…

2024国赛数学建模备赛|30种常用的算法模型之最优算法-非线性规划

1.1 非线性规划的实例与定义 如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。一般说来,解非线性规划要比解线性规划问题困难得多。而且,也不象线性规划有 单纯形法这一通用方法,非线性规划目前还没…

SpringBoot3+Vue3开发商店上货管理系统

系统介绍 上货管理系统是专门为各种类型商店打造的一款进货管理系统。针对整个商店进货流程,提供很多方便功能,帮助店家完成上货流程。比如上货清单管理功能、上货清单确认功能、供货商管理功能、商品管理功能等。 技术栈 后端:SpringBoot…

Spark MLlib模型训练—回归算法 Factorization Machines Regression

Spark MLlib模型训练—回归算法 Factorization Machines Regression 在大数据与机器学习领域,推荐系统、广告点击率预测以及评分预测等应用场景中,经常涉及到高度稀疏的特征数据,这对传统的回归模型提出了挑战。因子分解机(Factorization Machines, FMs)是一种广泛应用于…

python例子:相片处理工具(可视化)

作品名称:相片处理工具(可视化) 开发环境:PyCharm 2023.3.4 python3.7 用到的库:sys、os、cv2、numpy、math和random 作品简介:运行例子后,先选择需要处理的图片,然后可对图片进…

深入了解CSS混合模式

CSS混合模式(也称为CSS Blend Modes)是一种强大的功能,它允许开发者在CSS中控制元素如何与它们的背景或其他元素混合。这些模式类似于图像编辑软件(如Photoshop)中的混合模式,使得开发者能够创建出复杂而富…

vulhub Thinkphp5 2-rce远程代码执行漏洞

1.执行以下命令启动靶场环境并在浏览器访问 cd /vulhub/thinkphp/2-rce #进入漏洞环境所在目录 docker-compose up -d #启动靶场 docker ps #查看容器信息 2.访问网页 3.构造payload 192.168.157.142:8080?s/Index/index/L/${phpinfo()} 4、写入一句话木马,使用…

《JavaEE进阶》----12.<SpringIOCDI【扫描路径+DI详解+经典面试题+总结】>

本篇博客主要讲解 扫描路径 DI详解:三种注入方式及优缺点 经典面试题 总结 五、环境扫描路径 虽然我们没有告诉Spring扫描路径是什么,但是有一些注解已经告诉Spring扫描路径是什么了 如启动类注解SpringBootApplication。 里面有一个注解是componentS…

移动应用门户实现的技术方案

移动应用门户是专为移动设备(如智能手机和平板电脑)设计的应用程序,比如:小程序、APP等,用户可以通过应用商店下载并安装。这些应用程序提供了更好的用户体验,通常具有更高的性能和交互性,可以直…

数据结构的简单认识

数据结构是计算机存储、组织数据的方式。它可以分为逻辑结构和物理结构。 逻辑结构主要有集合、线性结构、树形结构和图形结构。集合中的数据元素间除“同属于一个集合”外,无其他关系;线性结构的数据元素之间存在一对一的关系,如链表、栈和队…

linux系统中,计算两个文件的相对路径

realpath --relative-to/home/itheima/smartnic/smartinc/blocks/ruby/seanet_diamond/tb/parser/test_parser_top /home/itheima/smartnic/smartinc/corundum/fpga/lib/eth/lib/axis/rtl/axis_fifo.v 检验方式就是直接在当前路径下,把输出的路径复制一份&#xff0…

Java | Leetcode Java题解之第386题字典序排数

题目&#xff1a; 题解&#xff1a; class Solution {public List<Integer> lexicalOrder(int n) {List<Integer> ret new ArrayList<Integer>();int number 1;for (int i 0; i < n; i) {ret.add(number);if (number * 10 < n) {number * 10;} els…

【RabbitMQ】基本概念以及安装教程

1. 什么是MQ MQ( Message queue),从字面意思上看,本质是个队列,FIFO 先入先出&#xff0c;只不过队列中存放的内容是消息(message)而已.消息可以非常简单,比如只包含文本字符串,JSON等,也可以很复杂,比如内嵌对象.MQ多用于分布式系统之间进行通信 系统之间的调用通常有两种方式…