【网络安全】AWS S3 Bucket配置错误导致敏感信息泄露

未经许可,不得转载。

文章目录

    • 前言
    • 技术分析
    • 正文

前言

AWS(Amazon Web Services)是亚马逊公司提供的一个安全的云服务平台,旨在为个人、公司和政府机构提供计算能力、存储解决方案、内容交付和其他功能。作为全球领先的云服务提供商之一,AWS 提供了广泛的云计算服务,包括计算、存储、数据库、机器学习、人工智能、分析和互联网应用等多个领域的服务。

Amazon S3(Amazon Simple Storage Service)是AWS提供的一种高度可扩展的对象存储服务。它为开发人员和IT团队提供了一种简单的存储解决方案,具有卓越的数据可用性、安全性和性能。Amazon S3允许用户以对象(如文件、图片、视频等)的形式存储和检索数据,无需关心底层的硬件设备。

Amazon S3官方文档:https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/index.html

技术分析

在Amazon S3中,ACL表示访问控制列表:

  • 当ACL设置为AllUsers时,Amazon S3会将存储桶或对象的ACL视为公开的,允许所有用户(即公众)访问。
  • 当ACL设置为AuthenticatedUsers时,Amazon S3会将存储桶或对象的ACL视为公开的,允许所有已认证的用户访问。

Amazon S3在评估存储桶策略时,首先假设策略是公开的(即允许公众访问),接着,Amazon S3会评估策略以确定是否符合非公开条件,要被视为非公开的策略,存储桶策略必须仅授予对以下一项或多项固定值的访问权限,这些值不能包含通配符或AWS Identity and Access Management策略变量的值:

  • AWS主体、用户、角色或服务主体(例如aws:PrincipalOrgID
  • 一组CIDR(无类域间路由),使用aws:SourceIp
  • aws:SourceArn
  • aws:SourceVpc
  • aws:SourceVpce
  • aws:SourceOwner
  • aws:SourceAccount
  • s3:x-amz-server-side-encryption-aws-kms-key-id
  • aws:userid,但不能以AROLEID:*的模式开头
  • s3:DataAccessPointArn
  • s3:DataAccessPointAccount

这些规则帮助确保AWS S3存储桶和对象的访问控制策略合理且安全,避免未经授权的公开访问。

根据前面提到的规则,以下是一个示例被视为公开的存储桶策略:

{"Principal": "*", "Resource": "*", "Action": "s3:PutObject", "Effect": "Allow" }
{"Principal": "*", "Resource": "*", "Action": "s3:PutObject", "Effect": "Allow", "Condition": { "StringLike": {"aws:SourceVpc": "vpc-*"}}}

在AWS CLI中存在一些S3命令和参数:

1、ls命令

aws s3 ls 命令用于列出指定S3存储桶中的对象和通用前缀(类似文件夹)。如果不指定存储桶名称,则默认列出当前AWS账号下所有存储桶中的内容。

示例:列出存储桶 example-bucket 下的所有对象:

aws s3 ls s3://example-bucket/

2、cp命令

aws s3 cp 命令用于将本地文件或S3对象复制到本地或S3中的另一个位置。

示例:将本地文件 local-file.txt 复制到S3存储桶 example-bucket 中:

aws s3 cp local-file.txt s3://example-bucket/

3、mv命令

aws s3 mv 命令用于将本地文件或S3对象移动到本地或S3中的另一个位置。该命令先复制源对象或文件到指定目标,然后再删除源对象或文件。

示例:将S3存储桶 source-bucket 中的对象 source-object.txt 移动到 destination-bucket

aws s3 mv s3://source-bucket/source-object.txt s3://destination-bucket/

4、选项 --no-sign-request

--no-sign-request 是一个布尔值选项,用于AWS CLI命令,特别是在涉及S3操作时。

如果提供了 --no-sign-request 参数,则AWS CLI不会加载凭据进行请求签名,这意味着不会使用当前配置的AWS凭据进行认证。这通常用于执行一些公开的S3操作或者在某些特定的安全场景下使用。

例如,使用 --no-sign-request 参数的示例:

aws s3 ls s3://public-bucket/ --no-sign-request

这会列出 public-bucket 存储桶中的内容,但不会加载或使用任何AWS凭据进行签名。

正文

印度石油有限公司公布各种技术职位的招聘信息,访问该网站下载考试准考证时,注意到这些文档是从 Amazon Web Services (AWS) S3 Bucket 提供的。

第一件事是尝试访问另一个目录,但没有成功。但当直接访问 S3 存储桶 URL 时,页面上列出了文件。

尝试访问显示的文件之一并成功,说明存储桶内容被设置为可公开访问。

img

1、获取 S3 存储桶 URL:https://edumedias.s3.amazonaws.com

2、在 Web 浏览器中或使用命令行工具 AWS CLI 访问 URL。

命令如下:

aws s3 ls s3://edumedias — no-sign-requestls s3://edumedias — no-sign-request

回显:

PRE 25July21_IPM/PRE 3/PRE 4th July IPM/PRE AWES/PRE App/PRE BCI/PRE BEL/PRE BSEB/PRE Backup_RD-27523/PRE BioMetric/PRE CB/PRE CBTExam/PRE CGDA/PRE CGPSC/PRE CIP/PRE CURAJ/PRE DB-BACKUP/PRE DBS_Team/PRE Datashare/PRE ELBLogs/PRE FRI/PRE GMU/PRE HC23/PRE HC_1/PRE IBPS/PRE IGCAR/

经过进一步测试,获取敏感数据:

10th Marsheet
12th Marsheet
Caste Certificate
Diploma Marsheet
Employment Exchange Registration Card
GraduationTrade_Upload Marsheet
NOC_Certificate
NOC_from employer
National_Apprenticeship Certificate
NonCreamy_Layer Certificate
Photo
Proof_of Date Of Birth
Signature
State_Nursing Council Registration Certificate
Trade_Upload Marsheet

img

img

img

参考链接:
https://infosecwriteups.com/aws-s3-bucket-misconfiguration-exposes-pii-and-documents-of-job-seekers-7b1332b0ecf1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/876517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Autodesk Revit v2025 激解锁版下载及安装教程 (三维建模软件)

前言 Revit是欧特克公司知名的三维建模软件,是建筑业BIM体系中使用最广泛的软件之一,其核心功能是三维建筑模型参数化设计、渲染效果图、算量,土建建模、机电建模、用来帮助工程师在施工前精确模拟阶段。 一、下载地址 下载链接&#xff1…

体育赛事中的AI运用

7月24日,国际奥委会(IOC)举办了新闻发布会,宣布计划在2024年巴黎奥运会上展示一系列创新的人工智能(AI)技术。这次会议不仅是对即将到来的奥运赛事的预热,也深入探讨了人工智能在体育领域可能带…

快速重装系统

挑选系统 https://d1506.xy58.net/202002/Js_GhostWin7z_x64_2020T.iso WIN11镜像 安装PE启动U盘安装工具 本地安装

【机器学习】深入理解损失函数(Loss Functions)

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 深入理解损失函数(Loss Functions)什么是损失函数?常见损失函数类型1. 均方误差…

【C++】set的使用

🔥个人主页: Forcible Bug Maker 🔥专栏: STL || C 目录 🌈前言🌈关于set🔥容量函数emptysize 🔥Modifiersinserteraseclear 🔥Operationsfindcountlower_bound和upper_…

Lesson 51 A pleasant climate

Lesson 51 A pleasant climate 词汇 Greece n. 希腊 Greek a. 希腊的,希腊语 搭配:Greek gift 不怀好意的礼物 例句:他的电脑是不怀好意的礼物。    His computer is a Greek gift. climate n. 气候 长时间,不容易更改的 we…

一键将桌面资料存到d盘的工具,小巧、绿色、免费、免安装

为了提升我们的系统稳定性以及资料的安全性,建议大家将电脑桌面的资料默认路径设置为D盘或其他磁盘,这样不仅会减少系统盘的占用空间,在系统盘出现故障时我们还可以通过pe工具备份桌面的资料。虽然我们也可以通过一些操作来修改桌面文件以及我…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑电动汽车动态拥堵的配电网灵活性资源双层优化调度 》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

嵌入式Python、决策树算法、SQLite、Flask、树莓派、机器学习:基于算法自主决策的智能家居系统(代码示例)

项目概述 随着物联网技术的快速发展,智能家居系统越来越普及,成为现代家庭生活的重要组成部分。本文将介绍一个基于Raspberry Pi和Arduino的智能家居算法控制系统的硬件平台。该系统能够通过传感器采集环境数据,并利用机器学习算法进行分析与…

大数据的数据质量有效提升的研究

大数据的数据质量有效提升是一个涉及多个环节和维度的复杂过程。以下是从数据采集、处理、管理到应用等方面,对大数据数据质量有效提升的研究概述: 一、数据采集阶段 明确采集需求:在数据采集前,需明确数据需求,包括…

VMware、Docker - 让虚拟机走主机代理,解决镜像封禁问题

文章目录 虚拟机全局代理配置找到 VMnet8 的 IPv4 地址代理相关配置虚拟机代理配置 Docker 代理配置修改镜像修改 Docker 代理配置 虚拟机全局代理配置 找到 VMnet8 的 IPv4 地址 a)打开此电脑,输入 “控制面板”,然后回车. b)之…

【计算机毕业设计】850汽车售后服务信息管理系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

【计算机方向】五本“三区水刊”重磅推荐!几乎不拒收,国人发文友好!

本期将为您带来五本计算机SCI 妥妥毕业神刊! AUTONOMOUS AGENTS AND MULTI-AGENT SYSTEMS International Journal on Document Analysis and Recognition COMPUTATIONAL INTELLIGENCE IET Biometrics ACM Transactions on Asian and Low-Resource L…

C语言 | Leetcode C语言题解之第283题移动零

题目&#xff1a; 题解&#xff1a; void swap(int *a, int *b) {int t *a;*a *b, *b t; }void moveZeroes(int *nums, int numsSize) {int left 0, right 0;while (right < numsSize) {if (nums[right]) {swap(nums left, nums right);left;}right;} }

Layui表格合并、表格折叠树

1、核心代码&#xff1a; let tableMerge layui.tableMerge; // 引入合并的插件&#xff0c;插件源文件在最后let tableData [{pid: 0,cid: 111,sortNum: 1, // 序号pName: 数据父元素1,name: 数据1,val: 20,open: true, // 子树是否展开hasChild: true, // 有子数据opt: 数据…

代码随想录训练第三十天|01背包理论基础、01背包、LeetCode416.分割等和子集

文章目录 01背包理论基础01背包二维dp数组01背包一维dp数组(滚动数组) 416.分割等和子集思路 01背包理论基础 背包问题的理论基础重中之重是01背包&#xff0c;一定要理解透&#xff01; leetcode上没有纯01背包的问题&#xff0c;都是01背包应用方面的题目&#xff0c;也就是…

Pytorch深度学习实践(8)多分类任务

多分类问题 多分类问题主要是利用了Softmax分类器&#xff0c;数据集采用MNIST手写数据集 设计方法&#xff1a; 把每一个类别看成一个二分类的问题&#xff0c;分别输出10个概率 但是这种方法存在一种问题&#xff1a;不存在抑制问题&#xff0c;即按照常规来讲&#xff0c…

stm32h7串口发送寄存器空中断

关于stm32串口的发送完成中断UART_IT_TC网上资料挺多的&#xff0c;但是使用发送寄存器空中断UART_IT_TXE的不太多 UART_IT_TC 和 UART_IT_TXE区别 UART_IT_TC 和 UART_IT_TXE 是两种不同的 UART 中断源&#xff0c;用于表示不同的发送状态。它们的主要区别如下&#xff1a; …

raise JSONDecodeError(“Expecting value”, s, err.value) from None

raise JSONDecodeError(“Expecting value”, s, err.value) from None 目录 raise JSONDecodeError(“Expecting value”, s, err.value) from None 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是…

数字图像处理笔记(三) ---- 傅里叶变换的基本原理

系列文章目录 数字图像处理笔记&#xff08;一&#xff09;---- 图像数字化与显示 数字图像处理笔记&#xff08;二&#xff09;---- 像素加图像统计特征 数字图像处理笔记&#xff08;三) ---- 傅里叶变换的基本原理 文章目录 系列文章目录前言一、傅里叶变换二、离散傅里叶变…