AWS EC2 实例连接 SSH 公钥上传

编辑

识别使用 EC2 实例连接服务将新的 SSH 公钥上传到 AWS EC2 实例的情况。此操作可能表明攻击者试图维持对实例的访问。该规则还检测 SendSerialConsoleSSHPublicKey API 操作,如果启用了串行控制台,则此操作可用于权限提升。监控这些活动有助于确保及时检测和减轻未经授权的访问尝试。

规则类型: 查询

规则索引:

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

严重性: 中等

风险评分: 47

每隔: 5 分钟

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

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

参考资料:

标签:

  • 领域: 云
  • 数据源: AWS
  • 数据源: Amazon Web Services
  • 数据源: AWS EC2
  • 用例: 身份和访问审计
  • 战术: 权限提升

版本: 1

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查 AWS EC2 实例连接 SSH 公钥上传

此规则检测使用 EC2 实例连接服务将新的 SSH 公钥上传到 AWS EC2 实例的情况。攻击者可能会将 SSH 公钥上传到 EC2 实例以维持对实例的访问。该规则还涵盖使用 SendSerialConsoleSSHPublicKey API 操作将 SSH 公钥上传到串行连接的情况,这可以被利用来进行权限提升。

可能的调查步骤

  • 识别行为者: 查看 aws.cloudtrail.user_identity.arnaws.cloudtrail.user_identity.access_key_id 字段以识别执行该操作的用户。验证此行为者是否通常执行此类操作,以及他们是否具有必要的权限。
  • 查看请求详细信息: 检查 aws.cloudtrail.request_parameters 以了解 SSH 公钥上传的具体细节。查找任何可能表明未经授权或恶意修改的异常参数。
  • 分析请求来源: 调查 source.ipsource.geo 字段以确定请求的地理来源。外部或意外位置可能表明凭据被泄露或未经授权的访问。
  • 结合时间戳进行分析: 使用 @timestamp 字段检查 SSH 公钥上传的时间。在非营业时间或非定期维护窗口期间发生的更改可能需要进一步审查。
  • 与其他活动关联: 搜索此操作之前和之后相关的 CloudTrail 事件,以查看相同的行为者或 IP 地址是否参与了其他可能可疑的活动。
  • 检查串行控制台访问: 如果使用了 SendSerialConsoleSSHPublicKey 操作,请验证是否也使用了 ec2:EnableSerialConsoleAccess 权限,这可能表明试图启用和利用串行控制台。

误报分析

  • 合法的管理操作: 确认 SSH 公钥上传是否与计划的更新、开发活动或变更管理系统中记录的合法管理任务一致。
  • 一致性检查: 将该操作与用户或组织内执行的类似操作的历史数据进行比较。如果该操作与过去的合法活动一致,则可能表明这是一个误报。
  • 通过结果进行验证: 检查 aws.cloudtrail.response_elementsevent.outcome 以确认上传是否根据策略成功并按预期进行。

响应和补救措施

  • 如有必要,立即审查和撤销: 如果上传未经授权,请从 EC2 实例中删除已上传的 SSH 公钥,并查看实例的访问日志以查找任何可疑活动。
  • 增强监控和告警: 调整监控系统以对类似操作发出警报,尤其涉及敏感实例或不寻常文件扩展名的操作。
  • 教育和培训: 为具有管理权限的用户提供更多培训,重点介绍有关 SSH 密钥管理的安全最佳实践以及未经授权的密钥上传的风险。
  • 审核 EC2 实例策略和权限: 对所有 EC2 实例策略和相关权限进行全面审核,以确保它们符合最小权限原则。
  • 事件响应: 如果有恶意意图或安全漏洞的迹象,请启动事件响应协议以减轻任何损害并防止将来发生类似事件。

附加信息

有关管理 EC2 实例和保护 AWS 环境的更多指导,请参阅 AWS EC2 实例连接文档 和 AWS 安全最佳实践。此外,请参考以下资源,了解有关 SSH 密钥管理和权限提升技术的具体详细信息:- Stratus Red Team - AWS EC2 实例连接 - HackTricks - AWS EC2 权限提升 - AWS EC2 实例连接 API 参考

规则查询

编辑
event.dataset: aws.cloudtrail
    and event.provider: ec2-instance-connect.amazonaws.com
    and event.action: (SendSSHPublicKey or SendSerialConsoleSSHPublicKey)
    and event.outcome: success

框架: MITRE ATT&CKTM