AWS RDS 数据库实例或集群密码已修改

编辑

AWS RDS 数据库实例或集群密码已修改

编辑

识别 AWS RDS 数据库实例或集群的主密码修改。数据库实例可能包含敏感数据,如果未经授权的攻击者访问,则可能被滥用。Amazon RDS API 操作永远不会返回密码,因此此操作提供了一种在丢失密码时重新获取访问权限的方法。具有适当权限的攻击者可以利用此功能规避防御并获得对数据库实例或集群的未授权访问权限,以支持持久性机制或权限提升。

规则类型: eql

规则索引:

  • filebeat-*
  • logs-aws.cloudtrail-*

严重性: 中等

风险评分: 47

每隔: 5m 执行

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

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

参考:

标签:

  • 领域: 云
  • 数据源: AWS
  • 数据源: Amazon Web Services
  • 数据源: AWS RDS
  • 资源: 调查指南
  • 用例: 威胁检测
  • 战术: 持久性
  • 战术: 权限提升
  • 战术: 防御规避

版本: 2

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查 AWS RDS 数据库实例或集群密码已修改

此规则识别何时修改了 RDS 数据库实例或集群的密码。虽然更改主密码是在丢失密码的情况下重新获取访问权限的合法方法,但攻击者可能会利用此功能在受损环境中保持持久性或规避防御。

可能的调查步骤

  • 识别攻击者: 检查 aws.cloudtrail.user_identity.arnaws.cloudtrail.user_identity.access_key_id 字段以识别谁进行了更改。验证此攻击者是否通常执行此类操作以及他们是否具有必要的权限。
  • 审查修改事件: 识别涉及的数据库实例并审查事件详细信息。查找其中更改了 masterUserPassword 参数的 ModifyDBInstance 操作。
  • 请求和响应参数: 检查 CloudTrail 事件中的 aws.cloudtrail.request_parameters 字段以识别数据库实例标识符以及对实例进行的任何其他修改。
  • 验证已修改的实例: 检查已修改的数据库实例及其内容,以确定其中存储的数据的敏感性。
  • 结合最近的更改进行分析: 将此修改事件与 RDS 数据库或集群配置和部署中的最近更改进行比较。查找任何其他最近的权限更改或异常的管理操作。
  • 与其他活动相关联: 在此更改之前和之后搜索相关的 CloudTrail 事件,以查看同一攻击者或 IP 地址是否参与了其他可能可疑的活动。
  • 采访相关人员: 如果此修改由用户发起,请与负责管理数据库实例的人员或团队核实此操作的意图和授权。

误报分析

  • 合法的实例修改: 确认数据库实例修改是否与合法任务一致。
  • 一致性检查: 将此操作与用户或组织执行的类似操作的历史数据进行比较。如果此操作与过去的合法活动一致,则可能表示误报。

响应和补救

  • 立即审查和撤销: 如果更改未经授权,请更新实例密码。如果主用户密码由 AWS Secrets Manager 管理,请确定 manageMasterUserPassword 属性是否已更改为 false,并在必要时恢复。
  • 增强监控和告警: 调整监控系统以对类似操作发出警报,尤其是涉及敏感数据或权限的操作。
  • 审计实例和策略: 对所有实例和关联策略进行全面审计,以确保它们符合最小权限原则。
  • 策略更新: 审查并可能更新组织关于数据库实例访问的策略,以加强控制并防止未经授权的访问。
  • 事件响应: 如果确认存在恶意意图,请将其视为数据泄露事件并启动事件响应协议。这包括进一步调查、遏制和恢复。

其他信息

有关管理数据库实例和保护 AWS 环境的更多指南,请参阅 AWS RDS 文档 和 AWS 安全最佳实践。此外,请参阅以下资源以获取有关数据库实例安全的具体详细信息: - AWS RDS ModifyDBInstance - Amazon RDS 和 Secrets Manager

规则查询

编辑
any where event.dataset == "aws.cloudtrail"
    and event.provider == "rds.amazonaws.com"
    and event.action in ("ModifyDBInstance", "ModifyDBCluster")
    and event.outcome == "success"
    and stringContains(aws.cloudtrail.request_parameters, "masterUserPassword=*")

框架: MITRE ATT&CKTM