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
  • 数据源:Amazon 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