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