AWS S3 存储桶枚举或暴力破解

编辑

识别短时间内来自单个来源和帐户(或匿名帐户)的大量失败 S3 操作。此活动可能表明试图通过过多的随机操作来增加帐户的账单,导致资源耗尽,或枚举存储桶名称以进行发现。

规则类型: esql

规则索引: 无

严重性: 低

风险评分: 21

运行频率: 5 分钟

搜索索引时间范围: now-6m (日期数学格式,另请参阅 额外回溯时间)

每次执行的最大警报数: 100

参考资料:

标签:

  • 领域:云
  • 数据源:AWS
  • 数据源:Amazon Web Services
  • 数据源:AWS S3
  • 资源:调查指南
  • 用例:日志审计
  • 策略:影响

版本: 4

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查 AWS S3 存储桶枚举或暴力破解

可以对 AWS S3 存储桶进行暴力破解,以对资源所有者造成财务影响。更危险的是,即使是私有的、锁定的存储桶仍然可能触发潜在的成本,即使显示“拒绝访问”,同时也可以从未经身份验证的匿名帐户访问。这似乎也适用于几个或所有 操作(GET、PUT、list-objects 等)。此外,只要知道存储桶名称,默认情况下就可以很容易地发现存储桶,使其容易受到枚举以进行发现。

攻击者可能会尝试枚举名称,直到发现有效的存储桶,然后进行透视以造成财务影响、枚举以获取更多信息,或以其他方式进行暴力破解以尝试窃取数据。

可能的调查步骤

  • 检查来自同一 source.addresscloud.account.id 的操作请求的历史记录,以确定是否存在其他可疑活动。
  • 查看类似的请求并查看 user.agent 信息,以确定请求的来源(尽管不要过分依赖此信息,因为它由请求者控制)。
  • 查看对同一 aws.s3.object.key 的其他请求以及同一 cloud.account.idsource.address 访问的其他 aws.s3.object.key
  • 调查过去 48 小时内与用户帐户相关的其他警报。
  • 验证该活动是否与计划的补丁、更新或网络管理员活动无关。
  • 检查请求参数。这些参数可能表明程序来源或发生错误时正在执行的任务的性质。
  • 检查错误是否与枚举或访问对象、数据或密钥的未成功尝试相关。
  • 考虑发出命令的用户的源 IP 地址和地理位置
  • 对于调用用户来说,它们看起来正常吗?
  • 如果来源是 EC2 IP 地址,它是否与您的帐户中的 EC2 实例关联,或者来源 IP 是否来自不受您控制的 EC2 实例?
  • 如果是授权的 EC2 实例,则该活动是否与该实例角色或多个角色的正常行为相关?是否存在与此实例相关的其他警报或可疑活动迹象?
  • 考虑一天中的时间。如果用户是人(不是程序或脚本),则活动是否在正常的一天中的时间发生?
  • 如果可疑,请联系帐户所有者并确认他们是否知道此活动。
  • 如果您怀疑帐户已被泄露,请通过跟踪在过去 24 小时内帐户访问的服务器、服务和数据来确定可能被泄露的资产的范围。

误报分析

  • 验证 source.addresscloud.account.id - 直接来自 AWS 内部的一些有效操作可能会导致失败和误报。此外,失败的自动化也可能导致误报,但应通过查看 source.addresscloud.account.id 来识别。

响应和补救

  • 根据分类的结果启动事件响应过程。
  • 在调查和响应期间禁用或限制帐户。
  • 确定事件可能产生的影响并相应地确定优先级;以下操作可以帮助您获得上下文
  • 确定云环境中帐户的角色。
  • 评估受影响的服务和服务器的严重性。
  • 与您的 IT 团队合作,确定并最大限度地减少对用户的影响。
  • 确定攻击者是否正在横向移动并危及其他帐户、服务器或服务。
  • 确定与此活动相关的任何监管或法律影响。
  • 调查在受攻击者危及或使用的系统上暴露的凭据,以确保识别所有被危及的帐户。根据需要重置密码或删除 API 密钥,以撤销攻击者对环境的访问权限。与您的 IT 团队合作,在这些操作期间最大限度地减少对业务运营的影响。
  • 检查是否创建了未经授权的新用户,删除未经授权的新帐户,并请求其他 IAM 用户的密码重置。
  • 考虑为用户启用多因素身份验证。
  • 检查分配给受牵连用户的权限,以确保遵循最小特权原则。
  • 实施 AWS 概述的安全最佳实践。
  • 采取必要的操作,使受影响的系统、数据或服务恢复到正常的运行水平。
  • 确定攻击者滥用的初始向量,并采取行动以防止通过相同向量再次感染。
  • 使用事件响应数据,更新日志记录和审计策略,以提高平均检测时间 (MTTD) 和平均响应时间 (MTTR)。
  • 还要检查 PutBucketPolicy 事件操作,以查看它们是否被篡改。虽然我们监控拒绝操作,但通过策略更新(无论他们如何获得权限)在存储桶中添加后门的单个成功操作可能在 TDIR 期间至关重要。

规则查询

编辑
from logs-aws.cloudtrail*
| where event.provider == "s3.amazonaws.com" and aws.cloudtrail.error_code == "AccessDenied"
// keep only relevant fields
| keep tls.client.server_name, source.address, cloud.account.id
| stats failed_requests = count(*) by tls.client.server_name, source.address, cloud.account.id
  // can modify the failed request count or tweak time window to fit environment
  // can add `not cloud.account.id in (KNOWN)` or specify in exceptions
| where failed_requests > 40

框架: MITRE ATT&CKTM