H

对象存储攻防案例

HackApt-37 Team已验证会员

黑客倉庫站長

贡献: 83%

对象存储攻防案例​

云存储是企业中常见的云产品。随着云服务的开发,对象存储是一种重要的云本机功能,揭示了一系列的安全问题,其中有许可配置是管理者无法忽略的。从攻击者的角度来看,几种主要的云存储攻击方法和利用。

1 对象存储​

对象存储中可以有多个存储桶,然后将对象(对象)放在存储桶中。该对象包含三个部分:键,数据和元数据。
202203171716980.png-water_print

1.1 Bucket​

存储空间(存储桶)是用户用于存储对象的容器,所有对象都必须属于存储空间。存储空间具有各种配置属性,包括区域,访问权限,存储类型等。用户可以根据实际需求创建不同类型的存储空间来存储不同的数据。
同一存储空间的内部是平坦的,没有文件系统目录的概念,并且所有对象都直接隶属于它们相应的存储空间。
每个用户都可以拥有多个存储空间。
存储空间的名称必须在OSS的范围内在全球范围内独特,并且创建后不能修改名称。
存储空间内的对象数量没有限制。

1.2 Object​

对象是OSS存储数据的基本单位,也称为OSS文件。与传统文件系统不同,对象没有文件目录层次结构。一个对象由元信息(对象元),用户数据(数据)和文件名(键)组成,并由存储空间内的唯一键标识。
密钥是指存储桶中的唯一标识符。例如,一个URL为:https://geekby.oss-cn-beijing.aliyuncs.com/markdown/202203171716980.png。在这里,Geekby是存储桶存储桶的名称, /marksdown/202203171716980.png是关键。
对象元信息是一组键值对,代表对象的某些属性,例如最后一个修改时间,大小和其他信息。同时,用户还可以在元信息中存储一些自定义信息。它可以简单地理解为诸如数据标签和描述之类的信息。这与传统文件存储不同。在传统文件存储中,这种类型的信息直接封装在文件中。由于存在元数据,可以大大加速对象的分类,分类和搜索。
数据是存储的数据本体。

2 对象存储的利用方式​

2.1 Object 遍历​

创建水桶时,您可以选择是否公开。默认值是私人许可。如果在错误的配置中给出了ListObject权限,则将导致存储桶进行遍历。

2.1.1 阿里云​

202203171739847.png-water_print

如果您目前选择公众阅读,将发生两种情况:
如果您仅配置读写权限以将其设置为公共读取或公开读写,则不能列出对象,但是可以直接读取相应的文件(正常)
如果要列出对象,则需要在存储授权策略中设置ListObject
202203171742467.png-water_print

202203171743563.png-water_print

2.2 Bucket 桶爆破​

当您不知道存储桶名时,可以通过爆破来获取存储桶名。这与目录爆破有点相似,只是目录爆破通常由状态代码判断,并且由页面内容判断。

2.2.1 阿里云​

AccessDendied:存在存储桶,但没有允许访问的许可
202203172044379.png-water_print

InvalidBucketName:指示存储桶的名称不符合规范,并且属于无效的存储桶名称。
202203172045958.png-water_print

Nosuchbucket:意味着这个水桶不存在
202203172046165.png-water_print

2.3 特定的 Bucket 策略配置​

特定的策略配置是指以下事实:如果管理员设置某些IP,则UA可以请求存储桶。如果错误地配置了GetBucketPolicy,则可能导致攻击者获得策略配置。

2.3.1 阿里云​

确定您是否已通过直接访问对存储桶进行了阅读权限:http(s): //url/?policy
202203181613228.png-water_print

如您所见,管理员已为所有身份验证主体配置了所有操作权限。

2.4 任意文件上传与覆盖​

如果管理员在配置存储桶时错误地将存储桶权限配置为可写的,则会导致攻击者将任何文件上传到存储桶或覆盖现有文件。

2.4.1 阿里云​

202203181622847.png-water_print

202203181622397.png-water_print

如果目标对象存储支持HTML解析,则可以使用任何文件上传来执行XSS网络钓鱼,悬挂深色链,悬挂黑色页面,供应链中毒和其他操作。

2.6 Bucket 接管​

假设管理员可以解析域名并绑定一个存储桶,但是在管理员删除存储桶后,域名分辨率CNAME不会删除域名分辨率。目前,将访问域名,并将出现NoSuchBucket。因此,您可以登录到您的阿里巴巴云帐户并创建相同的存储桶。

2.6.1 阿里云​

在阿里巴巴云下,当存储桶显示Nosuchbucket时,就可以接管,但是如果显示访问量,则无法完成。
202203181625733.png-water_print

2.7 Bucket 可修改​

如果您具有对存储策略的编辑权限,则可以上传或修改新配置以实现攻击

2.7.1 阿里云​

可以通过直接的PUT配置来实现攻击的目的。
1
Aliyun OSS桶式Policy OSS: //SecurityTest-Geekby -Method put ./oss.json

参考​

Firewire Salon ——简要分析云存储的攻击利用方法
 
后退
顶部