AWS IAM 管理员访问策略附加到角色
编辑AWS IAM 管理员访问策略附加到角色
编辑拥有被泄露凭据的攻击者可能会尝试通过将额外的权限附加到被泄露的 IAM 角色来持久化或提升权限。此规则查找使用 IAM AttachRolePolicy
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:AttachRolePolicy
权限,可以使用一组被泄露的凭据将此策略附加到被泄露的角色,以进行权限提升或作为持久化的一种手段。此规则使用 ES|QL 来查找 AttachRolePolicy
操作的使用以及 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:AttachRolePolicy
权限,以及是否应为role.name
提供完全管理访问权限。
响应和补救
- 根据分类的结果启动事件响应流程。
- 在调查和响应期间禁用或限制该账户。
- 轮换用户凭据
- 从受影响的角色中删除
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 == "AttachRolePolicy" and event.outcome == "success" | dissect aws.cloudtrail.request_parameters "{%{?policyArn}=%{?arn}:%{?aws}:%{?iam}::%{?aws}:%{?policy}/%{policyName},%{?roleName}=%{role.name}}" | where policyName == "AdministratorAccess" | keep @timestamp, event.provider, event.action, event.outcome, policyName, role.name
框架: MITRE ATT&CKTM
-
战术
- 名称: 权限提升
- ID: TA0004
- 参考 URL: https://attack.mitre.org/tactics/TA0004/
-
技术
- 名称: 账户操控
- ID: T1098
- 参考 URL: https://attack.mitre.org/techniques/T1098/
-
子技术
- 名称: 额外的云角色
- ID: T1098.003
- 参考 URL: https://attack.mitre.org/techniques/T1098/003/
-
战术
- 名称: 持久化
- ID: TA0003
- 参考 URL: https://attack.mitre.org/tactics/TA0003/
-
技术
- 名称: 账户操控
- ID: T1098
- 参考 URL: https://attack.mitre.org/techniques/T1098/
-
子技术
- 名称: 额外的云角色
- ID: T1098.003
- 参考 URL: https://attack.mitre.org/techniques/T1098/003/