公司通常会部署第三方应用程序来存储各种媒体内容。这些内容通常采用各种文件格式,例如图像、文档、Html、JavaScript、SQL。等等。在我参与错误赏金计划期间,经常会发现对 Amazon AWS S3 存储桶的引用并不少见,这些存储桶在 Web 应用程序的各个位置(例如网站源代码)或通过特定操作(例如文件上传)公开。
常见的响应包内容(举例)
200
OK
“Successfully uploaded to
s3:
/
/testbucket/profilepicures
/user/fancy
_avatar.jpg”
这些存储桶也可以使用 google dork 找到;“site:s3.amazonaws.com”“target.com”
这些云存储应用程序在部署过程中配置错误的情况也并不罕见。一个典型的例子是我在新年前几天正在寻找的一个特定目标。在 AWS s3 存储桶上测试访问控制权限时要检查的典型操作包括:
aws s3 ls s3:
//test-bucket to list folders and objects within the bucket
aws s3 ls s3:
//test-bucket/test-folder/ to list folders and objects within the /test-folder/
aws s3 cp test.txt s3:
//test-bucket to copy a file (test.txt) to the bucket
aws s3 mv test.txt s3:
//test-bucket to move a file (test.txt) to the bucket
aws s3 rm s3:
//test-bucket/test.txt to delete the file (test.txt) from the bucket
Amazo S3 访问控制列表 (ACL) 使您能够管理对存储桶和对象的访问。每个存储桶和对象都附加有一个ACL作为子资源。它定义了哪些 AWS 账户或组被授予访问权限以及访问类型。
现在,对于我最近的目标,我注意到对所有典型 OWASP 类型错误的测试没有发现任何漏洞。目标大部分都被安全加固了。但是,当我将个人资料图片上传到网站时,该文件会保存到 s3 存储桶中,并在每次访问该文件时从存储桶中加载。此外,该网站还为用户提供了上传、查看和更新其简历的功能。执行这些操作还会显示 S3 存储桶的 URL。
s3:
//vulnerable-bucket.s3-ap-southeast-1.amazonaws.com/
目标网站是一个将求职者与招聘人员联系起来的招聘平台。我记下这个 s3 URL,简历和个人资料图片都上传到该 URL,并继续我的测试。
接下来,我使用Amazon aws s3 cli:https://aws.amazon.com/cli/,这是一个任何人都可以用来在 s3 存储桶上执行各种操作的命令行实用程序。其中包括存储桶、文件夹以及存储桶内对象的创建、删除、上传和同步。我通过尝试将文件复制并移动到存储桶中开始测试。
我创建了一个简单的文本文件并尝试将其上传到目标存储桶;
aws s3 cp test.txt s3:
//vulnerable-bucket
结果返回了“拒绝访问”错误,以下尝试也是如此;
aws s3 mv test.txt s3:
//vulnerable-bucket
访问控制设置限制了存储桶上的复制和移动操作。然后我尝试执行列文件目录操作来检查这是否也受到限制。结果执行列文件目录操作并返回了以下文件夹结构,令我惊讶的是,它包括包含公司和用户数据的敏感文件夹。
PRE
JD_2.0/
PRE
candidatebulkupload/
PRE
candidatefiles/
PRE
companylogo/
PRE
feed/
PRE
marketmapresumes/
PRE
medias/
PRE
parsed_resumes/
PRE
printableprofiles/
PRE
production-logs/
PRE
profilepic/
PRE
metrics/
PRE
resume/
PRE
resumes/
PRE
uploads/
PRE
whatsapp/
我立即检查了我认为最敏感的文件夹确定我是否可以真正访问文件本身,而不仅仅是目录/文件结构。简历文件夹中包含属于将其上传到 Web 应用程序的用户的每一份简历。简历显示了此类文件中典型的个人详细信息,即全名、出生日期、地理位置、爱好等详细信息。
在确认漏洞存在后,我停止了测试并提交了漏洞报告,该平台很快做出了响应并实施了修复。考虑到 s3 存储桶中的所有内容都可以追溯到公司成立之初,这一影响可能是毁灭性的。目前还不清楚这个 s3 存储桶向公众开放了多长时间,因此我猜测在我发现之前可能已经有人获得了对其的未经授权的访问。
提示:您可以使用命令aws s3 cp s3://test-bucket/file.txt ./
将存储桶中包含的文件下载到当前工作目录。在您需要对文件进行进一步分析的情况下很有用。
以上内容由白帽子左一翻译并整理。原文:https://mase289.medium.com/from-aws-s3-misconfiguration-to-sensitive-data-exposure-784f37a30bf9
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!
原文始发于微信公众号(白帽子左一):从 AWS S3 配置错误到敏感数据泄露
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论