【云安全】云上攻击路径

一、2022年CSA发布的《云计算的11类顶级威胁》:

1)身份、凭据、访问和管理密钥、特权账号管理的不足

2)不安全的接口和API

3)配置不当和变更控制的不足

4)缺乏云安全架构和战略

5)不安全的软件开发

6)不安全的第三方资源

7)系统漏洞

8)云计算数据的意外泄露

9)无服务器和容器化工作负载的配置不当和利用

10)有组织的犯罪、黑客和APT攻击

11)云存储数据泄露

二、云计算攻防VS传统攻防

1)攻击面:

  云计算攻防涉及的攻击面不止包含传统攻防中的资产和服务,同时增加了云计算独有的一些资产,比如:云服务资源、云管理平台等。

2)攻击复杂度:

  由于虚拟化技术、资产共享、相对复杂的架构,导致云计算攻防的逻辑层次更加复杂,攻击路径更加灵活多变,因此攻击复杂度变得更高。

三、云上横向、纵向攻击路径

1、纵向攻击路径(纵向攻击指通过互联网、自外向内的攻击路径)

1)利用裸金属服务器管理接口

2)利用租户虚拟机逃逸

3)独立租户VPC实例模式的容器和微服务网络攻击

4)共享集群模式容器和微服务网络攻击

5)SaaS服务共享集群模式攻击

6)恶意攻击者针对云服务平台业务互联网络的旁路攻击

7)恶意攻击者针对云服务平台开发/运营网络的旁路攻击

8)针对云用户控制台界面或开放式API的攻击

2、横向攻击路径(横向攻击路径指在获取一定权限后,利用网络或共享资源进行横向移动的路径)

1)利用租户资源和访问权限,在VPC内进行横向迁移攻击,或作为跳板攻击其他用户

2)利用微服务不同功能组件间共享资源或权限的横向迁移

3)利用共享数据库集群间的资源或数据进行横向迁移

4)当成功实现虚拟机逃逸后,利用Hypervisor和硬件层面的控制面网络和接口进行横向迁移

5)利用网络虚拟化的共享资源、威胁接触面和控制面网络进行横向迁移

6)利用存储虚拟化的共享资源、威胁接触面和控制面网络进行横向迁移

7)利用云平台管理面/控制面和业务面间的接口进行横向秦阿姨

8)BMC等固件破坏后获取进行物理机层面的潜伏,或利用底层硬件权限反向获取Hypervisor OS或租户虚拟机OS的数据和系统访问权

四、常见云上攻击场景

1、场景一:利用泄露的云凭据&IAM服务

1)攻击路径:

  窃取云凭据→查询凭据权限→利用IAM服务进行权限提升→横向移动→控制云服务资源

 ①云凭据窃取:https://mp.weixin.qq.com/s/jTMxeJcc3vlrnf7RWeSGBQ

 ②IAM:https://mp.weixin.qq.com/s/Yemzqd-TEfzjrCIyS0I_2A

    <CVE-2022-2385:AWS IAM提权漏洞>

    <GitHub Waydev服务客户凭据泄露漏洞>

2、场景二:利用实例元数据服务

1)攻击路径:

  应用漏洞利用(CVE)→获取元数据服务访问权限→角色信息获取→角色临时凭据获取→临时凭据权限查询→横向移动→控制云服务资源→数据窃取

2)原理:

  元数据服务是一个内网服务,通过该服务,可以在主机内取得当前云主机实例的元数据,便于对管理和配置实例,但其中也包含一些敏感数据,如角色的临时访问凭据。当攻击者获取到云服务器实例的访问权限时,可以利用元数据服务获取角色的临时凭据进行权限提升和横向移动。

 <Capital One攻击事件:横向移动窃取AWS S3存储桶敏感数据>

3、场景三:利用容器逃逸

 1)攻击路径:

  应用程序漏洞利用→获取容器权限→容器逃逸→横向移动至其他容器或其他节点→寻找有效凭据→横向移动→控制云服务资源

2)原理:

  容器逃逸利用手法大致分为四种:

  ①危险配置导致的容器逃逸

  ②危险挂载导致的容器逃逸

  ③相关程序漏洞导致的容器逃逸

  ④内核漏洞导致的容器逃逸

  通过其中任一手法都可能逃逸至宿主机,从而横向至其他容器或其他节点,然后寻找有效凭据,最终获取云服务资源权限。

3)攻击实例:https://mp.weixin.qq.com/s/_GwGS0cVRmuWEetwMesauQ

  <检测到容器探测行为>

  <检测到Privileged特权模式进行容器逃逸操作>

  <检测到Dcoker Socket挂载导致容器逃逸>

  <检测到Procfs挂载反弹shell行为>

  <CVE-2019-5736:覆盖主机runC程序导致容器逃逸>

  <CVE-2016-5195:脏牛内核漏洞导致容器逃逸>

4、场景四:利用错误配置的存储桶

1)攻击路径:

  存储桶服务发现->使用凭据访问IAM->窃取云凭据->查询凭据权限->权限提升->横向移动->获取云服务器资源

2)原理:

  对象存储也称为基于对象的存储,是一种计算机数据存储架构,旨在处理大量非结构化数据。 与其他架构不同,它将数据指定为不同的单元,并捆绑元数据和唯一标识符,用于查找和访问每个数据单元。 这些单元(或对象)可以存储在本地,但通常存储在云端,以便于从任何地方轻松访问数据。大部分公有云厂商都推出了对象存储服务,如AWS S3、Azure Blob、阿里云OSS等。存储桶在使用时会涉及公开访问、公开读写等权限设置,一旦配置不当,便有可能造成安全风险。

5、场景五:利用虚拟机逃逸

1)攻击路径:

  应用程序漏洞利用->获取云服务器控制权->虚拟机逃逸->获得宿主机控制权->横向移动->接管宿主机上虚拟机资源

2)原理:

  当通过应用程序漏洞获取云服务器控制权时,可通过一些信息收集手段判断当前所处的环境,或是容器、或是虚拟机、或是物理机。当自身处于虚拟机环境中时,为了进一步扩大权限,便可以采用虚拟机逃逸,获取宿主机权限,尝试横向移动,从而接管宿主机上所有虚拟机资源。

3)攻击实例:

虚拟机环境检测 - 先知社区

 ①虚拟机探测:https://bbs.kanxue.com/thread-119969.htm

  <检测到通过特权指令探测是否为虚拟机>

  <检测到利用IDT基址探测是否为虚拟机>

  <检测到利用LDT和GDT探测是否为虚拟机>

  <检测到基于STR探测是否为虚拟机>

  <检测到在注册表中搜索关键词探测是否为虚拟机>

  <检测到查看虚拟硬件指纹探测是否为虚拟机>

②命令行:

  <检测到使用dmidecode指令进行信息探测>

  <检测到使用systemd-detect-virt命令进行信息探测>

总结,检测虚拟机的手段可以分为以下几类:

  -搜索虚拟环境的进程、文件系统、注册表

  -搜索虚拟环境内存

  -搜索虚拟环境特定虚拟硬件

  -搜索虚拟环境的特定处理器指令和功能

6、场景六:对企业内部网络、运维或管理内部网络进行攻击

1)攻击路径:

  钓鱼邮件攻击->进入企业内部网络->探测云管理平台->横向移动->获取云平台权限->接管云服务

2)原理:

  在2022年的RSAC会议中,来自Varonis公司的Matt Radolec分享了议题《Pain in the Apps — Three Attack Scenarios Attackers Are Using to PWN SaaS》,主要介绍了三种针对SaaS平台的攻击场景,每种攻击场景都始于钓鱼邮件。当企业员工意识薄弱,容易受到钓鱼邮件攻击,可能被攻击者获取内网权限或窃取云平台的Cookie。然后攻击者利用内网权限或Cookie获取云平台权限,最终接管云服务,对企业安全造成破坏。

3)攻击实例:

RSAC解读:面向数据的SaaS攻击案例

  <冒充登录SSO>

  <通过Github&Slack窃取Salesforce数据>

  <钓鱼邮件窃取SaaS平台的Cookie>

7、场景七:K8S集群中的渗透测试

1)攻击路径:

  应用程序漏洞利用->获取容器权限->容器逃逸->接管节点->利用高权限ServiceAccount横向移动->接管集群

2)攻击实例:

  <利用Node/Proxy提权>:https://mp.weixin.qq.com/s/tV3HOaE3TzJ6EbuEmYYfdA

   <利用CSR API提权>:https://mp.weixin.qq.com/s/tV3HOaE3TzJ6EbuEmYYfdA

   <检测到Siloscape恶意软件利用Deployment后门提权>:https://mp.weixin.qq.com/s/tV3HOaE3TzJ6EbuEmYYfdA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/879867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用LangGPT提示词让大模型比较浮点数

使用LangGPT提示词让大模型比较浮点数 背景介绍环境准备创建虚拟环境安装一些必要的库安装其他依赖部署大模型启动图形交互服务设置提示词与测试 LangGPT结构化提示词 背景介绍 LLM在对比浮点数字时表现不佳&#xff0c;经验证&#xff0c;internlm2-chat-1.8b (internlm2-cha…

HObject复制耗时试用

测试源码一 //第一步const int N 1000;HObject[] imgs new HObject[N];for (int i 0; i < N; i){HOperatorSet.GenImageConst(out imgs[i], "byte", 1024 i, 1024 i);}//第二步List<HObject> lists new List<HObject>();for(int i 0; i < …

基于PHP的新闻管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于phpMySQL的新闻管理系统。…

MySQL的缓存策略

目录 一、MySQL 缓存方案用来干什么 二、提升MySQL访问性能的方式 1、读写分离&#xff08;MySQL的主从复制&#xff09; 2、连接池 3、异步连接 三、缓存方案是怎么解决的 1、缓存与MySQL一致性状态分析 2、制定热点数据的读写策略 四、缓存方案问题的解决方法 1、缓…

酸枣病虫害智能化防控系统的探索与实践,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建枣类作物种植场景下酸枣病虫害智能检测识别系统

智慧农业&#xff0c;作为现代农业的高级形态&#xff0c;通过集成物联网、大数据、人工智能等先进技术&#xff0c;实现了农业生产过程的精准化、智能化管理。在酸枣等经济作物的种植过程中&#xff0c;病虫害的及时监测与防控直接关系到作物的产量与质量&#xff0c;进而影响…

react hooks--React.memo

基本语法 React.memo 高阶组件的使用场景说明&#xff1a; React 组件更新机制&#xff1a;只要父组件状态更新&#xff0c;子组件就会无条件的一起更新。 子组件 props 变化时更新过程&#xff1a;组件代码执行 -> JSX Diff&#xff08;配合虚拟 DOM&#xff09;-> 渲…

Knife4j 一款基于Swagger的开源文档管理工具

一、简单介绍 1.1 简介 Knife4j 是一款基于Swagger的开源文档管理工具&#xff0c;主要用于生成和管理 API 文档 二、使用步骤&#xff1a; 2.1 添加依赖&#xff1a; <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spr…

spark之不同序列化对比

一&#xff0c;spark的rdd的序列话不同介绍 下面是使用不同序列化后的占用资源和数据大小 2&#xff0c;sparksql中序列化的区别 sparksql中使用序列化和不使用差别不大&#xff0c;英文sparksql中默认使用了encode自己实现的序列化方法&#xff0c;加上与不加序列化差别不大…

编译成功!QT/6.7.2/Creator编译Windows64 MySQL驱动(MSVC版)

相邻你找了很多博文&#xff0c;都没有办法。现在终于找到了正宗。 参考 GitHub - thecodemonkey86/qt_mysql_driver: Typical symptom: QMYSQL driver not loaded. Solution: get pre-built Qt SQL driver plug-in required to establish a connection to MySQL / MariaDB u…

.whl文件下载及pip安装

以安装torch_sparse库为例 一、找到自己需要的版本&#xff0c;点击下载。 去GitHub的pyg-team主页中找到pytorch-geometric包。网址如下&#xff1a; pyg-team/pytorch_geometric​github.com/pyg-team/pytorch_geometric 然后点击如图中Additional Libraries位置的here&am…

Leetcode Hot 100刷题记录 -Day18(反转链表)

反转链表&#xff1a; 问题描述&#xff1a; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&a…

基于阿里云免费部署Qwen1-8B-chat模型并进行lora参数微调从0到1上手操作

文章目录 一、申请资源二、创建实例三、克隆微调数据四、部署Qwen1-8B-chat模型1、环境配置2、模型下载3、本地模型部署 五、模型微调1、拉取Qwen仓库源码2、微调配置3、合并微调参数4、本地部署微调模型 一、申请资源 阿里云账号申请PAI资源详细教程我已于部署ChatGLM3时写过…

双立方(三次)卷积插值

前言 图像处理中有三种常用的插值算法&#xff1a; 最邻近插值 双线性插值 双立方&#xff08;三次卷积&#xff09;插值 其中效果最好的是双立方&#xff08;三次卷积&#xff09;插值&#xff0c;本文介绍它的原理以及使用 如果想先看效果和源码&#xff0c;可以拉到最底…

关于若尔当矩阵中过渡矩阵的求法

关于若尔当矩阵中过渡矩阵的求法 豆瓜爱数学 ​关注 桜井雪子 等 114 人赞同了该文章 本文主要介绍考研中常考的另一类问题&#xff0c;当我们确认一个Jordan标准形时&#xff0c;对于过渡矩阵如何确定&#xff1f;这个常常是我们复习过程中容易忽略的一部分内容&#xff0c;…

物联网——USART协议

接口 串口通信 硬件电路 电平标准 串口参数、时序 USART USART主要框图 TXE: 判断发送寄存器是否为空 RXNE: 判断接收寄存器是否非空 RTS为输出信号&#xff0c;用于表示MCU串口是否准备好接收数据&#xff0c;若输出信号为低电平&#xff0c;则说明MCU串口可以接收数据&#…

简单题69.x的平方根 (Java)20240919

问题描述&#xff1a; java代码&#xff1a; class Solution {public int mySqrt(int x) {if (x < 2) {return x; // 0 和 1 的平方根分别是它们自己}int left 2; // 从2开始&#xff0c;因为0和1已经处理了int right x / 2; // 最大可能的平方根不会超过 x / 2int mid;w…

列表、数组排序总结:Collections.sort()、list.sort()、list.stream().sorted()、Arrays.sort()

列表类型 一.Collections.sort() Collections.sort()用于List类型的排序&#xff0c;其提供了两个重载方法&#xff1a; 1.sort(List<T> list) &#xff08;1&#xff09;List指定泛型时只能指定引用数据类型&#xff0c;也就是说无法用于基本数据类型的排序。 &am…

Matlab R2024B软件安装教程

一、新版本特点 MATLAB R2024B版本带来了众多新特性和改进&#xff0c;旨在提升用户的内容创作体验和工程效率。以下是该版本的一些主要特点&#xff1a; 1. 性能提升和优化&#xff1a;R2024B版本在性能上进行了显著优化&#xff0c;无论是在提问、回答问题、发布新技巧还是…

el-table 的单元格 + 图表 + 排序

<el-table border :data"tableDataThree" height"370px" style"width: 100%"><el-table-column :key"activeName 8" width"50" type"index" label"序号" align"center"></el…

JS实现树形结构数据中特定节点及其子节点显示属性设置的技巧(可用于树形节点过滤筛选)

大家好&#xff0c;今天我要分享的是如何在树形结构的数据中&#xff0c;根据特定条件设置节点及其所有子节点的显示属性。在实际项目中&#xff0c;这种需求非常常见&#xff0c;特别是在需要动态展示和隐藏节点的情况下。下面我将通过一个具体的示例来讲解实现过程。 需求分析…