AWS IAM 通过 EC2 实例上的承担角色创建用户

编辑

AWS IAM 通过 EC2 实例上的承担角色创建用户

编辑

检测由 EC2 实例上的承担角色发起的 AWS 身份和访问管理 (IAM) 用户的创建。承担角色允许用户或服务临时采用不同的 AWS 权限,但是通过这些角色(尤其是在 EC2 实例内部)创建 IAM 用户可能表示实例已遭入侵。攻击者可能会利用此类权限,通过在未经授权的条件下创建新的 IAM 用户来建立持久性。

规则类型: new_terms

规则索引:

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

严重性: 中

风险评分: 47

运行频率: 5 分钟

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

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

参考:

标签:

  • 领域:云
  • 数据源:AWS
  • 数据源:亚马逊 Web Services
  • 数据源:AWS IAM
  • 用例:身份和访问审计
  • 策略:持久性

版本: 1

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查通过 EC2 实例上的承担角色创建 AWS IAM 用户

此规则检测何时通过 EC2 实例上的承担角色创建 AWS 身份和访问管理 (IAM) 用户。此操作可能表明潜在的受入侵实例,攻击者可能正在使用该实例的权限来创建新的 IAM 用户,从而实现持久的未经授权的访问。

可能的调查步骤

  • 识别承担角色和启动实例:
  • 角色和实例:检查 aws.cloudtrail.user_identity.arn 字段,以确定用于此操作的特定 EC2 实例和角色(例如,arn:aws:sts::[account-id]:assumed-role/[role-name]/[instance-id])。验证此行为是否与预期用法一致或是否表示异常。
  • 会话上下文:检查 aws.cloudtrail.user_identity.session_context 中的 session_issuer 字段,以获取有关实例承担的角色以及 mfa_authenticated 的详细信息,以确定是否使用了多因素身份验证 (MFA)。
  • 分析目标 IAM 用户:
  • 新用户详细信息:检查 aws.cloudtrail.flattened.request_parameters.userName 以查看创建的用户名。查看 aws.cloudtrail.flattened.response_elements.user.userName 以确认用户是否成功创建,并验证该用户是否是预期用户或已授权用户。
  • 查看创建时间和上下文:将用户的创建时间 (@timestamp) 与来自同一实例和角色的其他活动进行比较,以评估此创建是否是更大规模操作链的一部分。
  • 检查用户代理和工具:
  • 用户代理分析:查看 user_agent.original,以查看此请求是否使用了 AWS CLI、SDK 或其他工具。诸如 aws-cliboto3 或类似的 SDK 名称等标识符可以指示使用的方法,这可能区分自动化操作与交互式操作。
  • 源 IP 和位置:使用 source.addresssource.geo 字段来识别事件的 IP 地址和地理位置。验证这是否与您的环境的预期访问模式一致。
  • 评估持久性指标:
  • 角色权限:检查与承担角色 (arn:aws:iam::[account-id]:role/[role-name]) 关联的权限,以确定创建 IAM 用户是否是此角色的合法活动。
  • 自动化角色模式:如果承担角色或实例通常会出于自动化目的创建 IAM 用户,则对照历史记录验证此操作,以确认该事件是否与正常模式一致。
  • 查看相关的 CloudTrail 事件:
  • 其他 IAM 操作:调查与此角色或实例相关的其他最近的 IAM 或 CloudTrail 事件,尤其是 CreateAccessKeyAttachUserPolicy 操作。这些可能表示进一步尝试增强或利用新创建的用户。
  • 与其他可疑活动关联:确定是否有其他角色或实例最近发起了类似的异常操作,例如特权提升或数据访问。

误报分析

  • 预期自动化:承担角色可能会被合法的自动化系统使用,这些系统会为特定工作流程创建用户。确认此事件是否与已知的自动化活动一致。
  • 用户代理和角色例外:如果此操作对于特定角色或用户代理(例如,aws-cliboto3)是例行操作,请考虑将这些角色或用户代理添加到受监控的例外列表中,以简化审查。

响应和补救

  • 即时访问审查:如果用户创建未经授权,请限制承担角色的权限,以防止进一步的用户创建。
  • 删除未经授权的用户:确认并删除任何未经授权的 IAM 用户,调整 IAM 策略以降低类似风险。
  • 增强监控和警报:为此角色或实例启用增强的日志记录或实时警报,以检测进一步的未经授权的访问尝试。
  • 策略更新:考虑更新与 EC2 实例上的角色关联的 IAM 策略,以限制诸如 IAM 用户创建之类的敏感操作。

附加信息

有关在 AWS 环境中管理 IAM 角色和权限的更多指南,请参阅 AWS IAM 文档和 AWS 安全最佳实践。

规则查询

编辑
event.dataset: "aws.cloudtrail"
    and event.provider: "iam.amazonaws.com"
    and event.action: "CreateUser"
    and event.outcome: "success"
    and aws.cloudtrail.user_identity.type: "AssumedRole"
    and aws.cloudtrail.user_identity.arn: *i-*

框架: MITRE ATT&CKTM