AWS IAM 管理员访问策略附加到组

编辑

拥有被攻陷凭证的攻击者可能会尝试通过向被攻陷用户帐户所属的用户组附加额外的权限来持久化或提升权限。此规则查找使用 IAM AttachGroupPolicy API 操作,将高权限的 AdministratorAccess AWS 管理策略附加到现有的 IAM 用户组的行为。

规则类型: esql

规则索引: 无

严重性: 中

风险评分: 47

运行频率: 5 分钟

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

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

参考:

标签:

  • 领域: 云
  • 数据源: AWS
  • 数据源: 亚马逊网络服务
  • 数据源: AWS IAM
  • 用例: 身份和访问审计
  • 战术: 权限提升
  • 战术: 持久化
  • 资源: 调查指南

版本: 3

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查 AWS IAM 管理员访问策略附加到组

AWS IAM AdministratorAccess 管理策略提供对所有 AWS 服务和资源的完全访问权限。通过访问 iam:AttachGroupPolicy 权限,可以使用一组被攻陷的凭证将此策略附加到当前用户的组,以进行权限提升或作为持久化的一种手段。此规则使用 ES|QL 来查找 AttachGroupPolicy 操作的使用情况以及 policyName 为 AdministratorAccess 的 request_parameters。

可能的调查步骤

  • 识别帐户及其在环境中的角色。
  • 查看用户身份的 IAM 权限策略。
  • 识别应使用此帐户的应用程序或用户。
  • 调查过去 48 小时内与该帐户相关的其他警报。
  • 通过将 user_agent.original 字段中的异常值与预期和授权的使用情况以及历史数据进行比较,来调查该字段中的异常值。可疑的用户代理值包括非 SDK、AWS CLI、自定义用户代理等。
  • 联系帐户所有者并确认他们是否知道此活动。
  • 考虑发出命令的用户的源 IP 地址和地理位置
  • 对于调用用户,它们看起来正常吗?
  • 如果源是 EC2 IP 地址,它是否与您的帐户之一中的 EC2 实例相关联,或者源 IP 是否来自您无法控制的 EC2 实例?
  • 如果它是授权的 EC2 实例,则该活动是否与实例角色或角色的正常行为相关?是否有任何其他警报或迹象表明此实例涉及可疑活动?
  • 如果您怀疑帐户已被攻陷,请通过跟踪该帐户在过去 24 小时内访问的服务器、服务和数据来确定潜在的受损资产的范围。
  • 确定用户发出的其他 API 调用。
  • 通过查找其他用户涉及的类似事件来评估此行为在环境中是否普遍存在。

误报分析

  • 由于 IAM AdministratorAccess 管理策略的预期使用,可能会出现误报。验证 aws.cloudtrail.user_identity.arn 是否应具有 iam:AttachUserPolicy 权限,并且应授予 target.userName 完全管理访问权限。

响应和补救

  • 根据分类的结果启动事件响应过程。
  • 在调查和响应期间禁用或限制该帐户。
  • 轮换用户凭证
  • 从受影响的组中删除 AdministratorAccess 策略
  • 确定事件的可能影响并相应地确定优先级;以下操作可以帮助您获得上下文
  • 确定帐户在云环境中的角色。
  • 评估受影响的服务和服务器的关键性。
  • 与您的 IT 团队合作,识别并最大程度地减少对用户的影响。
  • 确定攻击者是否正在横向移动并攻陷其他帐户、服务器或服务。
  • 确定与此活动相关的任何监管或法律影响。
  • 调查攻击者攻陷或使用的系统上的凭证泄露情况,以确保识别所有被攻陷的帐户。
  • 根据需要轮换密钥或删除 API 密钥,以撤销攻击者对环境的访问权限。
  • 与您的 IT 团队合作,在这些操作期间最大限度地减少对业务运营的影响。
  • 检查是否创建了未经授权的新用户,删除未经授权的新帐户,并请求其他 IAM 用户重置密码。
  • 考虑为用户启用多因素身份验证。
  • 查看分配给相关用户的权限,以确保遵循最小权限原则。
  • 实施 AWS 概述的安全最佳实践。
  • 采取必要的操作,使受影响的系统、数据或服务恢复到正常的运行级别。
  • 确定攻击者滥用的初始向量,并采取行动防止通过同一向量重新感染。
  • 使用事件响应数据,更新日志记录和审计策略,以提高平均检测时间 (MTTD) 和平均响应时间 (MTTR)。

规则查询

编辑
from logs-aws.cloudtrail-* metadata _id, _version, _index
| where event.provider == "iam.amazonaws.com" and event.action == "AttachGroupPolicy" and event.outcome == "success"
| dissect aws.cloudtrail.request_parameters "{%{?policyArn}=%{?arn}:%{?aws}:%{?iam}::%{?aws}:%{?policy}/%{policyName},%{?groupName}=%{group.name}}"
| where policyName == "AdministratorAccess"
| keep @timestamp, event.provider, event.action, event.outcome, policyName, group.name

框架: MITRE ATT&CKTM