原文:
https://blog.securelayer7.net/hands-on-aws-s3-bucket-account-takeover-vulnerability/
劫持AWS bucket
正如我们在AWS渗透测试系列的第一部分中看到的AWS S3
Bucket渗透测试的基础知识,在第二部分中,我们解释了什么是Amazon S3Bucket以及可用于不同目的的第二部分。在这一部分中,我们将看到攻击者如何接管AWS S3 Bucket。
在执行任何目标应用程序的侦察和信息收集时,如果在网页上找到显示404 Not Found的页面。
在浏览器中观察该页面上显示的错误。

上面的错误显示了其中已托管应用程序所有数据的S3 BucketName:infosec-startup.com。如果开发人员从AWS控制台中删除了整个数据和S3Bucket(即此处(infosec-startup.com)),但ROUTE53中的CNAME记录仍在等待删除,在这种情况下,攻击者可以声称通过劫持这个BucketName来劫持这个Bucket。这可能导致攻击者利用S3 Bucket帐户接管漏洞
接管AWS S3 Bucket,攻击者需要知道以下信息:
1.无人认领的S3 BucketName:
2.该Bucket的区域:
●要声明S3Bucket,攻击者必须知道受害者使用哪个区域来创建此Bucket。
●要查找Bucket的区域,可以使用CNAME查找服务。
●访问https://mxtoolbox.com/CNAMELookup.aspx并在此处输入您的Bucket名称。
准备接管S3Bucket!!
1.
登录到您的AWS管理控制台,然后单击S3

2.
点击 Get started

3.
输入我们之前找到的Bucket名称和区域名称,然后单击下一步

4.继续单击下一步选项按钮,最后单击完成。
bucket将被创建,如下图所示。

5. 选中bucket

6. 上传任意文件. 这里我们上传 index.html

7.选择index.html文件,然后单击“操作”,然后从下拉列表中单击“公开”。
8.单击Properties –> Static website hosting –> Use this bucket to
host a website and enter the index document name,即index.html,然后完成

9. 访问该域名.

现在我们已经成功接管了AWS S3Bucket!
结论:
在此博客中,我们了解到,一旦发现在任何错误页面中都暴露了一个S3Bucket,那么我们如何才能声明该Bucket并将任何恶意内容上传到该bucket,而这些内容将直接显示在相应的目标网站上 应用。 在下一部分中,我们将更多地了解与AWS及其动手利用相关的其他漏洞。
译者按:
相比AWS bucket,国内使用的阿里云的bucket更为普遍,并且存在同样的问题。
比如我们在火器资产里搜索


然后我们去阿里云注册这些Bucket,并开放匿名读取功能。就可以成功劫持这些Bucket。如果还有其他网站引用了这些Bucket的资源,比如引用了js文件,那么攻击者可以上传恶意js文件,去盗取用户信息等。
本文迁移自知识星球“火线Zone”