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示例如下所示:
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
文章评论