云服务安全-亚马逊AWS篇(1)bucket爆破/接管+S3文件上传

持续更新中,本篇涉及云服务均为AWS

概念

云上的服务,部署在购买的云厂商的服务上

目前国内厂商:阿里云,腾讯云,华为云,天翼云,Ucloud,金山云

国外厂商:AWS(亚马逊),GCP(谷歌),Azure(微软)

一些云服务举例:

S3 (Simple Storage Service),类似网盘但有不同

EC2 (Elastic Compute Cloud),弹性计算服务,云上虚拟机

RDS (Relational Database Service),云数据库

IAM(Identity and Access Management),云上的身份管理服务,管理每个子账号权限

原本都在本地的服务全都上了云,相应的产生云端上的安全风险,那便有了云安全研究的意义。

下面内容均为亚马逊AWS

S3(Amazon S3)

如下一段定义:

对象存储(Object-Based Storage),也可以叫做面向对象的存储,现在也有不少厂商直接把它叫做云存储。

说到对象存储就不得不提 Amazon,Amazon S3 (Simple Storage Service) 简单存储服务,是 Amazon 的公开云存储服务,与之对应的协议被称为 S3 协议,目前 S3 协议已经被视为公认的行业标准协议,因此目前国内主流的对象存储厂商基本上都会支持 S3 协议。

阿里云的云存储叫OSS,只能说不同厂商存在差异吧

重点技术:bucket,Object,ACL

存储结构

在 Amazon S3 标准下中,对象存储中可以有多个桶(Bucket),然后把对象(Object)放在桶里,对象又包含了三个部分:KeyDataMetadata

key是桶中的一个唯一的标识符

例如一个 URL 为:https://teamssix.s3.ap-northeast-2.amazonaws.com/flag,这里的 teamssix 是存储桶 Bucket 的名称,/flag 就是 Key

Data就是数据本体咯

Metadata 元数据

简单理解为数据的标签、描述等信息用于方便,加快信息的排序分类查找

Bucket爆破

与传统安全的爆破目录等操作思路相同,只不过判断依据不在是状态码

当请求的Bucket不存在,有两种返回情况:

InvalidBucketName 和 NoSuchBucket

分别如下图

img
img

当请求的Bucket存在时,会返回两种,一种是列出Object,一种是AccessDenied

列出Object:

img

返回 AccessDenied:

img

Bucket接管

典型的Bucket接管漏洞的标志:

NoSuchBucket

先说说这个回显的成因,成因是不同于无效桶名称的

当一个cname指向一个S3存储桶,如果桶被删除了,但是域名的cname记录没有删除,访问时就会回显 NoSuchBucket。

此时,就可以利用这个“空位”来接管Bucket

S3存储桶的名称在AWS中是唯一的,当利用空位创建了一个桶后,该域名的解析就会定向到攻击者自己创建的桶

img

如上。

通过 cname 记录,可以判断出这是一个 Amazon 的 S3,而且页面显示 NoSuchBucket,说明这个 Bucket 可以接管的,同时 Bucket 的名称在页面中也告诉了我们,为 test.teamssix.com

那么就可以直接在AWS控制台中创建 test.teamssix.com 这个桶,直接就可以实现对这个桶的接管

创建完 Bucket 后,再次访问发现就显示 AccessDenied 了,说明该 Bucket 已经被我们接管(虽然权限不足报错,但说明已经成功创建并可以正常解析)

修改设置为公开,便可上传文件等操作,彻底接管

注:

在腾讯云的对象存储中,我们无法达成以上的操作,因为在腾讯云的对象存储域名中,有一个APPID,这个APPID来自我们的账户信息中

S3任意文件上传

如果设置为公共读写(不当配置)便可达成

利用示例如下↓

img

如果目标的对象存储支持html解析,就可以继续达成xss,钓鱼等攻击,利用姿势更多

评论

  1. 八幡海铃
    1 年前
    2025-2-01 20:38:27

    加油

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇