通过承担的角色获取 AWS EC2 管理员凭证

编辑

通过承担的角色获取 AWS EC2 管理员凭证

编辑

识别 AWS 中首次使用 GetPassword 获取 EC2 实例管理员密码的用户身份(使用承担的角色)。攻击者可能会使用此 API 调用来提升权限或在 EC2 实例中横向移动。

规则类型:new_terms

规则索引:

  • filebeat-*
  • logs-aws.cloudtrail*

严重性:中

风险评分: 47

运行频率:5 分钟

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

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

参考:

标签:

  • 域:云
  • 数据源:AWS
  • 数据源:Amazon Web Services
  • 数据源:Amazon EC2
  • 用例:身份和访问审计
  • 资源:调查指南
  • 策略:凭据访问

版本: 3

规则作者:

  • Elastic

规则许可证:Elastic License v2

调查指南

编辑

分类和分析

调查通过承担的角色获取 AWS EC2 管理员凭证

此规则检测 AWS 中首次使用 GetPasswordData API 调用(用于检索 EC2 实例的管理员密码)的用户身份。这可能表明攻击者试图提升权限或在 EC2 实例中横向移动。

这是一个新术语规则,这意味着对于 aws.cloudtrail.user_identity.session_context.session_issuer.arn 字段的每个唯一值,如果该值在过去 7 天内没有发出此 API 请求,则只会触发一次。此字段包含触发 API 调用的承担角色的 Amazon 资源名称 (ARN)。

可能的调查步骤

  • 识别用户身份和角色:检查 AWS CloudTrail 日志,以确定发出 GetPasswordData 请求的用户身份。特别注意与用户关联的角色和权限。
  • 查看请求和响应参数:分析 aws.cloudtrail.request_parametersaws.cloudtrail.response_elements 字段,以了解 API 调用的上下文和检索到的密码。
  • 与用户行为上下文关联:将此活动与用户的典型行为模式进行比较。查找用户或角色在事件发生之前和之后采取的异常登录时间、IP 地址或其他异常操作。
  • 查看 EC2 实例详细信息:检查从中检索密码的 EC2 实例的详细信息。评估在此实例上运行的应用程序的关键性和敏感性。
  • 检查相关的 CloudTrail 事件:搜索同一用户身份发出的其他 API 调用,特别是那些修改安全组、网络访问控制或实例元数据的调用。
  • 检查横向移动:查找证据,表明获得的凭据已用于访问 AWS 中的其他资源或服务。
  • 调查 API 调用的来源:分析请求的来源 IP 地址和地理位置。确定它是否与合法的管理活动的预期位置一致。

误报分析

  • 合法的管理操作:确保该活动不是合法管理任务(如系统维护或更新)的一部分。
  • 自动化脚本:验证该活动是否由授权使用 GetPasswordData 用于合法目的的自动化或部署脚本生成。

响应和补救

  • 立即隔离:如果可疑,请隔离受影响的实例,以防止任何潜在的横向移动或进一步的未经授权的操作。
  • 凭据轮换:轮换受影响的实例或承担角色以及任何其他可能泄露的凭据的凭据。
  • 用户帐户审查:审查相关用户身份的权限。应用最小权限原则,通过调整权限来防止滥用。
  • 增强监控:增加对触发该规则的用户身份和类似 EC2 实例的监控。
  • 事件响应:如果确认存在恶意意图,请启动事件响应协议。这包括进一步调查、遏制威胁、消除任何威胁参与者的存在以及恢复受影响的系统。
  • 预防措施:实施或增强安全措施,例如多因素身份验证和对 GetPasswordData 等敏感操作的持续审计。

附加信息

请参阅 AWS 权限提升方法和 MITRE ATT&CK 技术 T1552.005 - 云实例元数据 API 等资源,了解有关潜在漏洞和缓解策略的更多详细信息。

规则查询

编辑
event.dataset:"aws.cloudtrail"
    and event.provider:"ec2.amazonaws.com" and event.action:"GetPasswordData"
    and aws.cloudtrail.user_identity.type:"AssumedRole" and aws.cloudtrail.error_code:"Client.UnauthorizedOperation"

框架:MITRE ATT&CKTM