CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 漏洞列表
  3. 正文

buckets

2018年11月26日 635点热度 0人点赞 0条评论

buckets
首页
文章

漏洞
SRC导航
内容精选

输入关键词搜索

APP 登录| 注册
【技术分享】AWS渗透测试(Part 1):S3 Buckets
阅读量 51937 | 稿费 160

分享到: QQ空间 新浪微博 微信 QQ facebook twitter
发布时间:2017-09-26 15:00:21
译文声明
本文是翻译文章,文章原作者,文章来源:virtuesecurity.com
原文地址:https://www.virtuesecurity.com/blog/aws-penetration-testing-s3-buckets/

译文仅供参考,具体内容表达以及含义原文为准

×
http://p8.qhimg.com/t01e66d4d386395ee4f.png

译者:興趣使然的小胃

预估稿费:160RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

一、前言

亚马逊云服务平台(AWS,Amazon Web Services)面向现代Web应用提供了一套非常强大又非常可靠的基础架构。随着Web服务不断涌现新的功能,我们也需要更新安全理念。对于渗透测试人员来说,有时候某些AWS服务可能会给渗透测试带来挑战。

在这一系列文章中,我们会详细分析AWS服务、常见的漏洞以及错误配置情况,也会介绍如何使用自动化工具对每个服务进行全方位的安全测试。希望渗透测试人员阅读本文后,可以使用我们研发的AWS BurpSuite扩展来评估AWS S3 buckets的安全性。

我们研发了一个BurpSuite插件:AWS Extender,这个插件可以从代理流量中识别并评估S3 buckets。此外,该插件也可以识别身份池(identity pools)、Google Cloud以及微软Azure服务。

http://p1.qhimg.com/t01ed78c816e651ed41.png

工具下载地址为:

AWS Extender Burp插件

AWS Extender CLI

二、Amazon Simple Storage Service (S3)

自2006年3月推出以来,亚马逊S3(简单云存储服务)已经成为非常受欢迎的对象(object)存储服务,S3提供了可扩展的存储架构,目前正托管数万亿个对象。尽管S3可以托管静态网站,但它本身并不支持代码执行或者任何编程功能。S3只能通过REST、SOAP以及BitTorrent web接口来提供存储服务,支持静态文件的读取、上传以及删除。

亚马逊为S3 bucket提供了多种不同的访问控制机制,包括访问控制列表(ACL)、bucket策略以及IAM(Identity and Access Management)策略。默认情况下,亚马逊在创建S3 bucket时会为它设置一个默认ACL,以便bucket所有者掌握该bucket的所有权限。

三、S3渗透测试基础

每个web应用渗透测试人员都应该注意以下几个要点:

所有的S3 bucket都共享一个全局命名方案,因此无法阻止对bucket的枚举遍历。

所有的S3 bucket都有一个DNS入口,形式为[bucketname].s3.amazonaws.com。

我们可以通过bucket的HTTP 接口(https://[bucketname].s3.amazonaws.com)来访问bucket,当然也可以使用非常强大的AWS CLI来访问:

apt-get install awscli
aws s3 ls s3://mybucket
四、常见的S3漏洞

如果你是AWS或者S3的新手,你需要注意以下几种常见漏洞:

Bucket未授权访问:顾名思义,经过错误配置后,匿名用户就可以列出、读取或者写入S3 bucket。

Bucket半公开访问:经过配置后,“通过身份认证的用户”就可以访问S3 bucket。这就意味着只要经过AWS的认证,任何人都可以访问这些资源。我们需要拥有有效的AWS access key以及secret才能测试这种情况。

ACL权限错误:Bucket的ACL也有相应的权限,然而许多情况下所有人都可以读取这个信息。这并不代表bucket本身出现错误配置情况,然而我们可以借此了解哪些用户拥有什么类型的访问权限。

五、访问控制列表(ACL)

S3访问控制列表(ACL)可以应用在bucket层以及对象层。ACL通常支持如下几种权限:

读取(READ)

在bucket层,该权限允许用户列出bucket中的对象。在对象层,该权限允许用户读取对象的内容及元数据。

写入(WRITE)

在bucket层,该权限允许用户创建、覆盖以及删除bucket中的对象。

读取访问控制策略(READ_ACP)

在bucket层,该权限允许用户读取bucket的访问控制列表。在对象层,该权限允许用户读取对象的访问控制列表。

写入访问控制策略(WRITE_ACP)

在bucket层,该权限允许用户设置bucket的ACL。在对象层,该权限允许用户设置对象的ACL。

完全控制(FULL_CONTROL)

在bucket层,该权限等同于向用户许可“READ”、“WRITE”、“READACP”以及“WRITEACP”权限。在对象层,该权限等同于向用户许可“READ”、“READACP”以及“WRITEACP”权限。

在这里,待授权的用户可以是独立的AWS用户,由用户ID以及邮箱来标识,也可以是如下某个预定义的组:

认证用户组(The Authenticated Users Group)

该组代表所有的AWS用户,对应“http://acs.amazonaws.com/groups/global/AuthenticatedUsers” 这个URI。

所有用户组(The All Users Group)

代表所有用户(包括匿名用户),对应“http://acs.amazonaws.com/groups/global/AllUsers” 这个URI。

日志传输组(The Log Delivery Group)

仅用于访问日志记录,对应“http://acs.amazonaws.com/groups/s3/LogDelivery” 这个URI。

ACL示例如下所示:




*** Owner-Canonical-User-ID ***
owner-display-name




*** Owner-Canonical-User-ID ***
display-name

FULL_CONTROL



AWS Extender Burp扩展可以处理前面提到过的所有权限。也就是说,当识别出某个S3 bucket后,该扩展可以执行如下测试:

1、尝试列出bucket中托管的对象(READ)。

2、尝试将一个“test.txt”文件上传到bucket中(WRITE)。

3、尝试读取bucket的访问控制列表(READ_ACP)。

4、在不修改bucket的访问控制列表的前提下,尝试设置bucket的访问控制列表(WRITE_ACP)。

注意:对于识别出来的每个S3对象,该扩展也执行了类似的测试。

六、Bucket策略

Bucket所有者可以通过bucket策略来设定操作主体(principal)能够在某个资源上执行什么操作。这里的principal可以为任意AWS用户或组,也可以是包含匿名用户在内的所有用户;action可以是bucket策略支持的任何预定义权限;而resource可以为整个bucket,也可以是某个特定的对象。bucket策略以JSON格式表示,如下所示:

{
"Version":"2012-10-17",
"Statement": [
{
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::examplebucket/*"]
}
]
}
上面这个策略允许在“arn:aws:s3:::examplebucket/*”资源上执行“s3:GetObject”操作,principal使用通配符“*”来表示。这实际上等同于使用访问控制列表(ACL)来赋予所有用户组拥有“examplebucket”这个S3 bucket的“READ”权限。

AWS Extender Burp扩展目前支持如下权限:

s3:ListBucket
s3:ListMultipartUploadParts
s3:GetBucketAcl
s3:PutBucketAcl
s3:PutObject
s3:GetBucketNotification
s3:PutBucketNotification
s3:GetBucketPolicy
s3:PutBucketPolicy
s3:GetBucketTagging
s3:PutBucketTagging
s3:GetBucketWebsite
s3:PutBucketWebsite
s3:GetBucketCORS
s3:PutBucketCORS
s3:GetLifecycleConfiguration
s3:PutLifecycleConfiguration
s3:PutBucketLogging
在第二篇文章中,我们会介绍S3权限方面的更多内容,包括IAM、访问令牌(access token)以及EC2、Cognito认证等等。读者可以继续阅读本系列的第二篇文章。

本文翻译自 virtuesecurity.com, 原文链接 。如若转载请注明出处。
安全知识

興趣使然的小胃 认证 分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读

2018安恒杯11月赛-Web&Crypto题解
2018-11-26 10:02:02

U2F安全协议分析
2018-11-24 10:00:48

二十年重回首——CIH病毒源码分析
2018-11-23 15:20:19

Cookie Maker:隐藏在Google Docs中的恶意网络
2018-11-23 14:30:40
|发表评论

发表你的评论吧
昵称
Anonymous
换一个
|评论列表
还没有评论呢,快去抢个沙发吧~
興趣使然的小胃
肥叶好香锅,孜孜不倦
文章
296
粉丝
41
TA的文章
Cookie Maker:隐藏在Google Docs中的恶意网络
2018-11-23 14:30:40
海莲花:针对东南亚的新一波水坑攻击
2018-11-22 11:00:56
Ursnif重装上阵:对最新木马活动的跟踪分析
2018-11-21 11:27:51
Golem:隐藏在系统字体中的恶意软件
2018-11-20 10:56:04
分析“正式版”的Kraken Cryptor勒索软件
2018-11-13 15:43:51

输入关键字搜索内容
相关文章
360 | 数字货币钱包APP安全威胁概况
以太坊智能合约安全入门了解一下(下)
对恶意勒索软件Samsam多个变种的深入分析
360 | 数字货币钱包安全白皮书
Json Web Token历险记
揪出底层的幽灵:深挖寄生灵Ⅱ
简单五步教你如何绕过安全狗
热门推荐
安全客Logo
安全客
安全客
关于我们
加入我们
联系我们
用户协议
商务合作
合作内容
联系方式
友情链接
内容须知
投稿须知
转载须知
合作单位
安全客
安全客
Copyright © 360网络攻防实验室 All Rights Reserved 京ICP备08010314号-66
Loading...0daybank

标签: 暂无
最后更新:2018年11月26日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me