潜在的 AWS S3 存储桶勒索软件笔记上传

编辑

潜在的 AWS S3 存储桶勒索软件笔记上传

编辑

识别可能上传到 AWS S3 存储桶的勒索软件笔记。此规则检测具有常见勒索软件笔记文件扩展名(例如 .ransom.lock)的 PutObject S3 API 调用。访问配置错误的 S3 存储桶的攻击者可能会检索、删除和替换带有勒索软件笔记的对象,以勒索受害者。

规则类型: esql

规则索引: 无

严重性: 中等

风险评分: 47

每隔: 5m 运行

搜索索引自: now-9m(日期数学格式,另请参见 其他回溯时间

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

参考:

标签:

  • 领域:云
  • 数据源:AWS
  • 数据源:Amazon Web Services
  • 数据源:AWS S3
  • 用例:威胁检测
  • 策略:影响

版本: 3

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查潜在的 AWS S3 存储桶勒索软件笔记上传

此规则检测具有常见勒索软件笔记文件扩展名(例如 .ransom.lock)的 PutObject S3 API 调用。访问配置错误的 S3 存储桶的攻击者可能会检索、删除和替换带有勒索软件笔记的对象,以勒索受害者。

可能的调查步骤

  • 识别攻击者: 查看 aws.cloudtrail.user_identity.arnaws.cloudtrail.user_identity.access_key_id 字段以识别执行此操作的用户。验证此攻击者是否通常执行此类操作,以及他们是否拥有必要的权限。
  • 查看请求详细信息: 检查 aws.cloudtrail.request_parameters 以了解 PutObject 操作的具体细节。查找可能表明未经授权或恶意修改的任何异常参数。
  • 分析请求来源: 调查 source.ipsource.geo 字段以确定请求的地理来源。外部或意外位置可能表明凭据泄露或未经授权的访问。
  • 与时间戳关联: 使用 @timestamp 字段检查勒索软件笔记上传的时间。在非工作时间或正常维护窗口之外进行更改可能需要进一步审查。
  • 检查勒索软件笔记: 查看 aws.cloudtrail.request_parameters 中的 PutObject 操作,以识别上传的勒索软件笔记的特征。查找常见的勒索软件文件扩展名,例如 .txt.note.ransom.html
  • 与其他活动关联: 搜索此操作之前和之后相关的 CloudTrail 事件,以查看相同的攻击者或 IP 地址是否参与了其他可能可疑的活动。
  • 检查对象删除或访问: 查找 DeleteObjectDeleteObjectsGetObject API 调用到同一个 S3 存储桶,这可能表明攻击者在放置勒索软件笔记之前访问和销毁了对象。

误报分析

  • 合法的管理操作: 确认 PutObject 操作是否与计划的更新、维护活动或更改管理系统中记录的合法管理任务相一致。
  • 一致性检查: 将此操作与用户或组织内执行的类似活动的历史数据进行比较。如果此操作与过去的合法活动一致,则可能表明误报。
  • 通过结果验证: 检查 aws.cloudtrail.response_elementsevent.outcome 以确认上传是否成功以及是否根据策略预期。

响应和补救

  • 立即审查并在必要时撤销: 如果活动未经授权,请从 S3 存储桶中删除上传的勒索软件笔记,并查看存储桶的访问日志以查找任何可疑活动。
  • 增强监控和警报: 调整监控系统以提醒类似的 PutObject 操作,尤其是涉及敏感数据或异常文件扩展名的操作。
  • 教育和培训: 为拥有管理权限的用户提供更多培训,让他们了解有关 S3 存储桶管理的安全最佳实践以及勒索软件风险的重要性。
  • 审核 S3 存储桶策略和权限: 对所有 S3 存储桶策略和关联的权限进行全面审核,以确保它们符合最小权限原则。
  • 事件响应: 如果有恶意企图或安全漏洞的迹象,请启动事件响应协议以减轻任何损害并防止将来发生。

其他信息

有关管理 S3 存储桶安全和防止勒索软件的更多指南,请参阅 AWS S3 文档 和 AWS 安全最佳实践。此外,请查阅以下资源以了解有关 S3 勒索软件防护的具体信息: - ERMETIC 报告 - AWS S3 勒索软件在野暴露 - AWS S3 勒索软件批量删除 - S3 勒索软件第 1 部分:攻击向量

设置

编辑

需要在 CloudTrail 跟踪配置中启用 AWS S3 数据类型。

规则查询

编辑
from logs-aws.cloudtrail-*

// any successful uploads via S3 API requests
| where event.dataset == "aws.cloudtrail"
    and event.provider == "s3.amazonaws.com"
    and event.action == "PutObject"
    and event.outcome == "success"

// abstract object name from API request parameters
| dissect aws.cloudtrail.request_parameters "%{?ignore_values}key=%{object_name}}"

// regex on common ransomware note extensions
| where object_name rlike "(.*)(ransom|lock|crypt|enc|readme|how_to_decrypt|decrypt_instructions|recovery|datarescue)(.*)"
    and not object_name rlike "(.*)(AWSLogs|CloudTrail|access-logs)(.*)"

// keep relevant fields
| keep tls.client.server_name, aws.cloudtrail.user_identity.arn, object_name

// aggregate by S3 bucket, resource and object name
| stats note_upload_count = count(*) by tls.client.server_name, aws.cloudtrail.user_identity.arn, object_name

// filter for single occurrence to eliminate common upload operations
| where note_upload_count == 1

框架: MITRE ATT&CKTM