您当前的位置:首页 > 互联网百科 > 云计算

阿里云 OSS对象存储攻防

时间:2022-03-15 10:58:18  来源:  作者:火线安全

文章首发于:火线Zone社区https://zone.huoxian.cn/

作者:UzJu

 

本文分为两个部分

第一部分介绍OSS对象存储攻防的方式
第二部分为真实漏洞案例

 

01 Bucket权限配置错误-公开访问

 

在创建Bucket桶时,默认是private的权限,如果在错误的配置下,给了listobject权限,就会导致可遍历存储桶。

「云安全」阿里云 OSS对象存储攻防

 

在此时如果选择公有读的话,会出现两种情况:

 

1、在只配置读写权限设置为公有读或公共读写的情况下,无法列出对象。

「云安全」阿里云 OSS对象存储攻防

 

但是可以直接访问对应的KEY路径:

「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 

2、如果想列出Object对象,只需要在Bucket授权策略中设置ListObject即可。

「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 

这样再当我们访问存储桶域名的时候就会发现,已经把我们存储桶的东西列出来了。

「云安全」阿里云 OSS对象存储攻防

 

02 Bucket桶爆破

 

当不知道 Bucket 名称的时候,可以通过爆破获得 Bucket 名称,这有些类似于目录爆破,只不过目录爆破一般通过状态码判断,而这个通过页面的内容判断。

 

当对于阿里云OSS 不存在有两种返回情况,分别是 InvalidBucketName 和 NoSuchBucket。

「云安全」阿里云 OSS对象存储攻防

 

InvalidBucketName:表示存储桶的名称不符合规范,属于无效的存储桶名称。

「云安全」阿里云 OSS对象存储攻防

 

NoSuchBucket:表示没有这个存储桶。

 

当存储桶存在时,则会返回以下两种情况

「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 

这样通过返回内容的不同,就可以进行 Bucket 名称爆破了,知道 Bucket 名称后,Key 的爆破也就很容易了。

 

03 特定的Bucket策略配置

 

特定的策略配置的指的是,如果管理员设置了某些IP,UA才可以请求该存储桶的话,此时如果错误的配置了GetBucketPolicy,可导致攻击者获取策略配置。

「云安全」阿里云 OSS对象存储攻防

 

可以看到我们此时是没有权限访问该存储桶的,我们尝试使用aliyun的cli获取policy。

「云安全」阿里云 OSS对象存储攻防

 

我们可以看到,需要符合UserAgent为UzJu才可以访问。

「云安全」阿里云 OSS对象存储攻防

 

04 Bucket Object遍历

 

「云安全」阿里云 OSS对象存储攻防

 

如果设置了ListObject,这将会导致Bucket桶被遍历。

「云安全」阿里云 OSS对象存储攻防

 

可通过访问Key,来下载该文件。

「云安全」阿里云 OSS对象存储攻防

 

05 任意文件上传与覆盖

 

如果在配置存储桶时,管理员错误的将存储桶权限,配置为可写,这将会导致攻击者可上传任意文件到存储桶中,或覆盖已经存在的文件。

「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 

如果目标的对象存储支持 html 解析,那就可以利用任意文件上传进行 XSS 钓鱼、挂暗链、挂黑页、供应链投毒等操作。

 

06AccessKeyId,SecretAccessKey泄露

 

如果目标的 AccessKeyId、SecretAccessKey 泄露,那么就能获取到目标对象存储的所有权限,一般可以通过以下几种方法进行收集:

 

1、通过GitHub等开源平台中的源代码可发现存在泄露的Key

「云安全」阿里云 OSS对象存储攻防

 

2、通过反编译APK,找到敏感信息

3、在目标网站源代码中找到(Js等)

「云安全」阿里云 OSS对象存储攻防

 

07 Bucket接管

 

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

「云安全」阿里云 OSS对象存储攻防

 

假设有以下一种情况,管理员通过域名解析并绑定了一个存储桶,但是管理员将存储桶删除后,没有将域名解析的CNAME删除,这时会访问域名就会出现上面的情况,NoSuchBucket。

「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 

现在我们将存储桶删除,就会出现如下情况:

「云安全」阿里云 OSS对象存储攻防

 

现在我们再访问域名会出现如下情况

「云安全」阿里云 OSS对象存储攻防

 

现在阿里云加了限制,必须在传输管理中配置绑定域名即可。以下情况即可接管该存储桶。

「云安全」阿里云 OSS对象存储攻防

 

当我们访问存储桶的域名时,提示我们NoSuchBucket,这个时候可以登录自己的阿里云账号,创建同样的名称即可。

「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 

此时我们刷新

「云安全」阿里云 OSS对象存储攻防

 

已经成功接管了该存储桶,尝试上传文件后配置权限公开访问。

「云安全」阿里云 OSS对象存储攻防

 

08 Bucket 策略配置可写

 

当我们访问存储桶的时候,会提示我们已经被policy拦截。

「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 

我们可以看到Effect中设置为Deny,我们只需要将它更改为Allow即可。

「云安全」阿里云 OSS对象存储攻防

 

随后使用PUT方法上传

「云安全」阿里云 OSS对象存储攻防

 

随后我们再使用GET获取

「云安全」阿里云 OSS对象存储攻防

 

此时我们可以正常看到存储桶中的对象了。

「云安全」阿里云 OSS对象存储攻防

 

09 修改策略导致网站瘫痪

 

当策略可写的时候,除了上面的将可原本不可访问的数据设置为可访问从而获得敏感数据外,如果目标网站引用了某个 s3 上的资源文件,而且我们可以对该策略进行读写的话,也可以将原本可访问的资源权限设置为不可访问,这样就会导致网站瘫痪了。

「云安全」阿里云 OSS对象存储攻防

 

此时我们如果可以修改策略,我们只需要将获取该对象的权限修改为Deny,该网站既无法在获取图片,JS等信息了。

「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 

10 实战案例

 

我们精心挑选了来自火线安全众测项目中,漏洞奖金较高的漏洞进行举例!

 

1、阿里云存储桶劫持

「云安全」阿里云 OSS对象存储攻防

 

此时可以看到访问该域名显示NoSuchBucket,那么只需要去阿里云存储桶重新创建一个与HostID一样的存储桶名称即可。

「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 

随后只需要上传文件,就可以让该域名显示我们上传的任意文件。

「云安全」阿里云 OSS对象存储攻防

 

2、反编译小程序App找到泄露的Key

「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 

3、在JS文件中找到存在泄露的AccessKey

「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 


「云安全」阿里云 OSS对象存储攻防

 

 



Tags:OSS对象   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
文章首发于:火线Zone社区https://zone.huoxian.cn/作者:UzJu 本文分为两个部分第一部分介绍OSS对象存储攻防的方式 第二部分为真实漏洞案例 01 Bucket权限配置错误-公开访问...【详细内容】
2022-03-15  Tags: OSS对象  点击:(0)  评论:(0)  加入收藏
一、对象存储对象存储将数据通道(需要访问的数据)和控制通路(元数据,即索引)分离,先根据索引(也就是元数据)找到数据存储的位置,进而通过底层的存储接口来访问数据。通过这种方...【详细内容】
2019-10-24  Tags: OSS对象  点击:(1232)  评论:(0)  加入收藏
▌简易百科推荐
文章首发于:火线Zone社区https://zone.huoxian.cn/作者:UzJu 本文分为两个部分第一部分介绍OSS对象存储攻防的方式 第二部分为真实漏洞案例 01 Bucket权限配置错误-公开访问...【详细内容】
2022-03-15  火线安全    Tags:OSS对象   点击:(0)  评论:(0)  加入收藏
NVIDIA BlueField-2 DPU(数据处理器)提供了无与伦比的软件定义网络(SDN)性能、可编程性和可扩展性。它集成了八个 Arm CPU 内核、安全且先进的 ConnectX-6 Dx 云网络接口和硬件...【详细内容】
2022-03-10  NVIDIA英伟达中国    Tags:云网络   点击:(8)  评论:(0)  加入收藏
通过接近逃离数据引力如果你准备在TensorFlow上部署并运行一个大规模的机器学习模型,你可能会认为将其部署到公有云是最好的选择。Amazon SageMaker、Azure Machine Learning...【详细内容】
2022-02-24    计算机世界  Tags:云部署   点击:(16)  评论:(0)  加入收藏
混合云的十大趋势混合云,云计算的后浪。据市场统计,到 2022 年,全球超过 90% 的企业将依赖本地/专用私有云、多个公共云和传统平台的组合来满足其基础设施需求。以下是关于混合...【详细内容】
2022-02-24  AlexaLei    Tags:混合云   点击:(13)  评论:(0)  加入收藏
一、灾备的定义1.1 什么是灾备?灾备指的是用现有的科学技术手段和方法,提前建立起可靠的应急方式,来应对突发事件的发生。灾备包括容灾系统和备份系统。1.2 备份和容灾的概念1....【详细内容】
2022-01-04  SkyBiuBiu  博客园  Tags:云计算   点击:(46)  评论:(0)  加入收藏
iRedMail - 免费、开源邮件服务解决方案以最佳的方式搭建基于 Linux/BSD 和开源软件的邮件服务器。始于 2007 年。支持 Red Hat Enterprise Linux、CentOS、Debian、Ubunt...【详细内容】
2021-12-31  有云转晴    Tags:谷歌云   点击:(49)  评论:(0)  加入收藏
作者:阿里集团 阿里云智能事业群 云原生应用平台来源:华章科技 云原生(Cloud Native)的概念,最早是由Pivotal于2015年提出的,但是即使到了2019年上半年,国内对其的关注依然相对有限...【详细内容】
2021-07-19  华章科技    Tags:云原生   点击:(233)  评论:(0)  加入收藏
一、案例概述为了方便对公司办公计算机桌面系统的管理,公司需要搭建一套桌面虚拟化平台。公司运维工程师决定使用Cirtix桌面 虚拟化解决方案。 Citrix XenServer服务器虚拟化...【详细内容】
2021-07-13  虚拟化爱好者    Tags:企业云   点击:(885)  评论:(0)  加入收藏
近日有粉丝问阿里云和华为云的部署区别是啥,其实阿祥没有搭建过阿里云,具体用啥工具部署,部署的步骤和具体方法并不知道(ps:后续如果能找到类似资料,阿祥会给大家分享),所以我这次先...【详细内容】
2021-07-13  信息系统集成Vlog    Tags:阿里云   点击:(186)  评论:(0)  加入收藏
人类社会可以划分为三个阶段:第一次浪潮为农业阶段,从约1万年前开始;第二阶段为工业阶段,从17世纪末开始;第三阶段为信息化阶段,从20世纪50年代后期开始。 --托夫勒,《第三次浪潮...【详细内容】
2021-06-02  云技术    Tags:云计算   点击:(140)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条