欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

AWS渗透测试(Part 1):S3 Buckets

来源:本站整理 作者:佚名 时间:2017-09-26 TAG: 我要投稿

一、媒介
亚马逊云办事平台(AWS,Amazon Web Services)面向当代Web利用供给了一套异常壮大又异常可靠的根基架构。跟着Web办事赓续呈现新的功效,咱们也必要更新网安理念。对付渗入渗出测试职员来讲,有时候某些AWS办事能够会给渗入渗出测试带来挑衅。
在这一系列文章中,咱们会具体阐发AWS办事、罕见的漏洞破绽bug和差错设置装备摆设环境,也会先容若何利用自动化对象对每一个办事停止全方位的网安测试。盼望渗入渗出测试职员浏览本文后,可以或许利用咱们研发的AWS BurpSuite扩大来评价AWS S3 buckets的网安性。
咱们研发了一个BurpSuite插件:AWS Extender,这个插件可以或许从署理流量中辨认并评价S3 buckets。别的,该插件也可以或许辨认身份池(identity pools)、Google Cloud和微软Azure办事。

对象下载地点为:
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漏洞破绽bug
假如你是AWS或许S3的老手,你必要留意如下几种罕见漏洞破绽bug:
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示例如下所示:
xml version="1.0" encoding="UTF-8"?>
AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  Owner>
    ID>*** Owner-Canonical-User-ID ***ID>
    DisplayName>owner-display-nameDisplayName>
  Owner>
  AccessControlList>
    Grant>
      Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:type="Canonical User">
        ID>*** Owner-Canonical-User-ID ***ID>
        DisplayName>display-nameDisplayName>
      Grantee>
      Permission>FULL_CONTROLPermission>
    Grant>
  AccessControlList>
AccessControlPolicy>
AWS Extender Burp扩大可以或许处置后面提到过的一切权限。也就是说,当辨认出某个S3 bucket后,该扩大可以或许运行如下测试:

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载