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

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

规则类型: eql

规则索引:

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

严重性: 中

风险评分: 47

运行间隔: 5 分钟

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

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

参考:

标签:

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

版本: 1

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南编辑

分类和分析

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

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

可能的调查步骤

  • 识别行动者: 查看 aws.cloudtrail.user_identity.arnaws.cloudtrail.user_identity.access_key_id 字段,以识别是谁进行了更改。验证此行动者是否通常执行此类操作,以及他们是否具有必要的权限。
  • 审查修改事件: 识别涉及的数据库实例并审查事件详细信息。查找 ModifyDBInstance 操作,其中 masterUserPassword 参数已更改。
  • 请求和响应参数: 检查 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