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

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

规则类型:esql

规则索引:无

严重程度:低

风险评分: 21

运行频率:5 分钟

搜索的索引时间范围:now-10m(日期数学格式,另请参阅 其他回溯时间

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

参考资料:

标签:

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

版本: 1

规则作者:

  • Elastic

规则许可证:Elastic 许可证 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 内部有一些来自 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"
| 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