AWS STS 服务角色承担

编辑

识别服务何时在 AWS 安全令牌服务 (STS) 中承担角色。服务可以承担角色以获取临时凭据并访问 AWS 资源。攻击者可以使用此技术进行凭据访问和权限提升。这是一个 [新术语](https://elastic.ac.cn/guide/en/security/current/rules-ui-create.html#create-new-terms-rule) 规则,用于识别服务何时在 AWS 安全令牌服务 (STS) 中承担角色以获取临时凭据并访问 AWS 资源。虽然通常是合法的,但攻击者可能会利用此技术进行未授权访问、权限提升或在 AWS 环境中进行横向移动。

规则类型: new_terms

规则索引:

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

严重性: 低

风险评分: 21

运行频率: 5 分钟

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

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

参考资料:

标签:

  • 领域:云
  • 数据源:AWS
  • 数据源:Amazon Web Services
  • 数据源:AWS STS
  • 资源:调查指南
  • 用例:身份和访问审计
  • 策略:权限提升

版本: 209

规则作者:

  • Elastic
  • Austin Songer

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查 AWS STS 服务角色承担

此规则识别 AWS STS(安全令牌服务)用于承担角色的实例,从而授予对 AWS 资源访问的临时凭据。虽然此操作通常是合法的,但攻击者可以利用它来获取未授权的访问权限、提升权限或在 AWS 环境中横向移动。

可能的调查步骤

  • 识别行为者和承担的角色:
  • 用户身份: 查看 aws.cloudtrail.user_identity.arnaws.cloudtrail.user_identity.type 字段以确定谁发起了 AssumeRole 操作。
  • 承担的角色: 检查 aws.cloudtrail.flattened.request_parameters.roleArn 字段以确认承担的角色,并确保它与预期的职责一致。
  • 会话名称: 观察 aws.cloudtrail.flattened.request_parameters.roleSessionName 以了解会话的预期用途(如果可用)。
  • 分析角色会话和持续时间:
  • 会话上下文: 查看 aws.cloudtrail.user_identity.session_context.creation_date 以了解会话何时开始,并检查是否使用了多因素身份验证 (MFA),这由 aws.cloudtrail.user_identity.session_context.mfa_authenticated 字段指示。
  • 凭据有效性: 检查 aws.cloudtrail.flattened.request_parameters.durationSeconds 以了解凭据的有效期。
  • 过期时间: 验证 aws.cloudtrail.flattened.response_elements.credentials.expiration 以确定凭据何时过期或已过期。
  • 检查用户代理以识别工具:
  • 用户代理详细信息: 查看 user_agent.original 字段以识别用于角色承担的工具或 SDK。指标包括
  • AWS SDK(例如,Boto3): 常用于自动化工作流程或脚本。
  • AWS CLI: 表明命令行访问,可能表明直接用户交互。
  • 自定义工具: 异常的用户代理可能表示自定义或可疑工具。
  • 源 IP 和位置: 评估 source.addresssource.geo 字段以确认访问源是否与您的环境的典型访问位置一致。
  • 与相关事件联系起来:
  • 查看事件模式: 检查周围的 CloudTrail 事件,查看其他操作是否与此 AssumeRole 活动同时发生,例如尝试访问敏感资源。
  • 识别高容量异常: 由于 AssumeRole 事件的潜在数量,确定常见的合法 roleArn 值或 user_agent 模式,并考虑将这些模式添加到异常列表以减少噪声。
  • 评估承担角色的权限级别:
  • 权限: 检查与承担的角色相关的权限,以了解其访问级别。
  • 授权使用: 确认该角色是否通常用于管理目的,以及承担实体是否经常将其用作常规职责的一部分。

误报分析

  • 自动化工作流程和应用程序: 许多应用程序或计划任务可能会承担角色以进行标准操作。检查用户代理和 ARN 以确保与已知工作流程一致。
  • 例行的 IAM 策略操作: 历史数据可能会显示相同用户或应用程序是否定期承担此特定角色作为授权操作的一部分。

响应和补救

  • 撤销未授权会话: 如果未授权,请考虑通过调整与承担的角色相关的 IAM 策略或权限来撤销会话。
  • 增强监控和告警: 为高风险角色(尤其是具有提升权限的角色)设置增强的监控。
  • 管理异常: 定期审查和管理高频角色和用户代理模式,将受信任的 ARN 和用户代理添加到异常列表以最大限度地减少告警疲劳。
  • 事件响应: 如果识别出恶意行为,请遵循事件响应协议,包括遏制、调查和补救。

其他信息

有关管理和保护 AWS STS 的更多信息,请参阅 AWS STS 文档 和 AWS 安全最佳实践。

规则查询

编辑
event.dataset: "aws.cloudtrail"
    and event.provider: "sts.amazonaws.com"
    and event.action: "AssumeRole"
    and event.outcome: "success"
    and aws.cloudtrail.user_identity.type: "AWSService"
    and not aws.cloudtrail.user_identity.invoked_by: (
              "config.amazonaws.com" or
              "securityhub.amazonaws.com" or
              "sso.amazonaws.com"
            )

框架: MITRE ATT&CKTM