云上攻防--云服务&&对象存储(域名接管)&&弹性计算(元数据泄露)

对象存储

各个厂商对于对象存储的叫法不同,但是除了叫法基本没有其他区别。

  • 对象存储各大云名词:

阿里云:OSS 腾讯云:COS 华为云:OBS

谷歌云:GCS 微软云:Blob 亚马逊云:S3

对于对象存储的漏洞或者说错误配置点如下

权限配置错误

  • 权限Bucket授权策略:设置ListObject显示完整结构(类似于目录遍历)
  • 权限Bucket读写权限:公共读写直接PUT文件任意上传,由于管理员配置对象存储时错误配置公共读写权限,使得任何人都可以进行写入,通过PUT方法即可任意上传文件。

域名接管

对象存储可以配置域名映射,接管域名即是Bucket存储桶绑定域名后,访问域名即访问对象存储中的存储桶,当存储桶被删除而域名解析未删除,访问域名时候显示关键信息NoSuchBucket时可以尝试接管。

接管流程:

  1. 确认域名绑定存储桶(通过ping命令出现对象存储解析地址)
2. 通过域名访问存储桶提示NoSuchBucket(没有这样的桶)
3. 通过对象存储地址信息推断出存储桶名称、对象存储厂商、云存储所在城市
4. 去对应得厂商创建对应城市对应名称的存储桶
5. 再次访问域名即可访问到所创建的存储桶

当Bucket显示NoSuchBucket说明是可以接管的,如果显示AccessDenied则不行。

参考文章

阿里云 OSS 对象存储攻防

AK/SK泄漏:

通过泄露的AK/SK进行接管

  • APP逆向源代码
  • 小程序反编译
  • JS代码泄露
  • 代码托管平台泄露
  • 接口泄露

得到AK/SK之后可以利用云服务工具直接连接相应服务进行任意操作,例如各云厂商的官方工具、CF利用工具等。

云业务 AccessKey 标识特征整理

弹性计算

元数据泄露

  • 元数据

关于什么是元数据以下引用阿里云对于元数据的解释:

实例元数据(metadata)包含了弹性计算云服务器实例在阿里云系统中的信息,您可以在运行中的实例内方便地查看实例元数据,并基于实例元数据配置或管理实例。(基本信息:实例ID、IP地址、网卡MAC地址、操作系统类型等信息。实例标识包括实例标识文档和实例标识签名,所有信息均实时生成,常用于快速辨别实例身份。)

总的来说,元数据就是存储了一些服务器的关键信息。每个厂商的服务器都存在元数据,但是各个厂商的获取元数据的地址不同。

各厂商元数据获取地址:

阿里云元数据地址:http://100.100.100.200/latest/meta-data/
腾讯云元数据地址:http://metadata.tencentyun.com/latest/meta-data/
华为云元数据地址:http://169.254.169.254/openstack/latest/meta_data.json
亚马逊云元数据地址:http://169.254.169.254/latest/meta-data/
微软云元数据地址:http://169.254.169.254/
谷歌云元数据地址:http://metadata.google.internal/

具体查询方式可以查询云厂商官方说明

查询样式如下图:

  • 访问控制

访问控制是云厂商提供的一种运维手段,可以将管理员用户的权限进行拆分,将部分权限交给其他用户。从而控制对于云服务资源的访问。

各云厂商对于访问控制的名称不同,阿里云称之为RAM。

  • 利用条件
  1. 弹性计算配置RAM访问控制管理角色
  2. 获取服务器权限、发现SSRF漏洞、RCE等可以控制目标机器访问其他地址

配置RAM访问控制管理角色后获取元数据会多一项RAM。



依次进行访问特定地址后通过泄露的元数据信息得到AccessKeyId以及AccessKeySecret即可通过利用工具对目标账号下的资源进行接管,接管资源根据AK/SK的权限而定,也就是当前弹性计算所配置RAM角色权限大小而定。



根据元数据中泄露的AK/SK可以使用利用工具进一步利用。

云渗透项目CF,目前工具已经闭源,最新开源版本在0.5,网上应该可以找到开源版本。

加固措施

  1. RAM角色权限过大导致控制台被接管, 主要还是需要使用者严格遵守权限最小化的原则,在为 RAM 角色赋予权限时,避免赋予过高的权限,只赋予自己所需要的权限,这样可以将影响程度降到最低,但是这并不能治本
  2. 将实例上的元数据访问模式设置为加固模式 ,不过这种方法在攻击人员拿下实例权限后依然会通过获取token的方法来访问元数据

参考文章

阿里云控制台接管

阿里云 ECS 弹性计算服务攻防

云上攻防--云服务&&对象存储(域名接管)&&弹性计算(元数据泄露)的更多相关文章

  1. .NET Core2使用Azure云上的Iot-Hub服务

    基于工业4.0大背景下的工业物联网是近几年内热门的话题,依靠信息化技术企业可以实现数字化转型,生产可以实现智能化制造,设备可以实现自动化运作.然而,海量的数据采集是整个建设过程的基础环节,如何处理与利 ...

  2. 在华为云上开启FTP服务并建立FTP站点来从本地向服务器发送和下载文件

    时间:2019/12/8 最近学习计算机网络的时候老师布置了一个实践作业,具体要求是两个人一组,一个在电脑上建立FTP站点,另一个开启FTP服务器来进行文件的上传和下载. 看到这个的时候我灵机一动,正 ...

  3. 阿里云Oss对象存储

    将文件保存到阿里云上. 1.添加对象存储OSS空间 (新建Bucket) 可以在阿里云后台对象存储里面添加,也可以通过api添加.添加之后设置权限. skd使用. 1安装 Aliyun.OSS.SDK ...

  4. 阿里云对象存储OSS及CDN加速配置

    目录 十大云存储服务商 1. 登陆阿里云官网,开通对象存储服务 OSS 2. 创建存储空间 3. 绑定自定义域名 4. 配置阿里云CDN加速 5. 购买阿里云免费SSL证书 6. 阿里云CDN配置HT ...

  5. TiKV 在京东云对象存储元数据管理的实践

    京东云对象存储是在 2016 年作为公有云对外公开的,主要特点是可靠.安全.海量.低成本,应用于包括一些常用的业务场景,比如京东内部的京东商城视频/图片云存储,面向京东云公有云外部的开发者的服务,和面 ...

  6. 腾讯云COS对象存储占据数据容灾C位

    说到公有云容灾,大家首先想到的是云上数据备份. 然而,随着企业核心业务逐渐从线下迁移到云上,客户提出了更高的要求.如何确保云上业务的高可用.数据的高可靠,这对云厂商提出了新的挑战. 腾讯云作为全球领先 ...

  7. 云上大数据存储:探究 JuiceFS 与 HDFS 的异同

    HDFS 作为 Hadoop 提供存储组件,已经成为大数据生态里面数据存储最常用的选择,通常在机房环境部署. JuiceFS 是一个基于对象存储的分布式文件系统,用户可以在云上快速地搭建按需扩容的弹性 ...

  8. 7款WordPress图片分离对象存储插件 含国内主流云服务存储商

    如果我们有用WordPress搭建网站的朋友应该会发现网站文件和数据库其实没有多大,在网站运营几年后数据最大的就是图片.而且图片占用服务器的空间会搬家比较麻烦,而且占用服务求的带宽.我们看到很多的Wo ...

  9. 从On-Premise本地到On-Cloud云上运维的演进

    摘要: 从用户的声音中,我们听到用户对稳定.弹性.透明的诉求,我们也在不断升级ECS的运维能力和体验,助力用户建立主动运维体系,赋能业务永续运行.为了让大家更好的了解和用好ECS弹性计算服务,从本期开 ...

  10. 在阿里云上遇见更好的Oracle(三)

    鬼扯完“去IOE”,继续回来说说这个系列文章的主角Oracle. 在DB-Engine的数据库排行榜中,Oracle已经占据了多年的第一(最新排名可以点击“阅读原文”).当然因为互联网行业的兴起,My ...

随机推荐

  1. 【.NET8】访问私有成员新姿势UnsafeAccessor(上)

    前言 前几天在.NET性能优化群里面,有群友聊到了.NET8新增的一个特性,这个类叫UnsafeAccessor,有很多群友都不知道这个特性是干嘛的,所以我就想写一篇文章来带大家了解一下这个特性. 其 ...

  2. 别再用 float 布局了,flex 才是未来!

    大家好,我是树哥! 前面一篇文章整体介绍了 CSS 的布局知识,其中说到 float 布局是 CSS 不断完善的副产物.而在 2023 年的今天,flex 这种布局方式才是未来!那么今天我们就来学习下 ...

  3. linux常用命令(七)

    用于系统内信息交流的相关命令 echo mesg wall write echo:在显示器上显示文字 命令语法:echo[选项] [字符串] 选项 选项含义 -n 表示输出文字后不换行 例子:将文本& ...

  4. git Failed to connect to 127.0.0.1 port xxxx: Connection refused 的问题。

    问题描述在使用 git 拉取.提交代码的时候,会出现 git Failed to connect to 127.0.0.1 port xxxx: Connection refused 的问题. 原因: ...

  5. json数组格式问题

    ---恢复内容开始--- 使用jsonserver来模拟后台数据接口时犯了一个很低级的错误 找了很久没有发现有什么不对劲的地方,后来仔细发现原来是一个很细微的语法问题:}]  中间不能有逗号!! -- ...

  6. 关于Halcon中variation_model模型的快速解读。

    十一期间在家用期间研读了下Halcon的variation_model模型,基本上全系复现了他的所有技术要求和细节,这里做个记录. 其实这个模型的所有原理都不是很复杂的,而且Halcon中的帮助文档也 ...

  7. 51单片机控制w5500实现udp组播通信

    51单片机控制w5500实现udp组播通信 在socket打开之前,向Sn_MR (Socket n 模式寄存器)寄存中写入 0x82(1000 0010),将W5500加入组播组 对Sn_DIPR ...

  8. 使用visualvm远程监控JVM

    参考:http://blog.sina.com.cn/s/blog_4e90b3ba0100muco.html 1.首先要修改JDK中JMX服务的配置文件,以获得相应的权限: 在jdk-1.6.0_2 ...

  9. .NET的各种对象在内存中如何布局[博文汇总]

    在过去一段时间里,我陆陆续续写一些关于.NET对象类型布局的文章,其中包括值类型和引用类型的内存布局.字符串对象和数组的内存布局等,这里作一个简单的汇总. [1] 如何计算一个实例占用多少内存? 我们 ...

  10. Python 机器学习入门:数据集、数据类型和统计学

    机器学习是通过研究数据和统计信息使计算机学习的过程.机器学习是迈向人工智能(AI)的一步.机器学习是一个分析数据并学会预测结果的程序. 数据集 在计算机的思维中,数据集是任何数据的集合.它可以是从数组 ...