罕见用户执行 AWS SSM SendCommand

编辑

检测使用 AWS Systems Manager (SSM) 在 EC2 实例上执行命令或脚本的行为,例如 RunShellScriptRunPowerShellScript 或自定义文档。虽然合法用户可能会使用这些命令进行管理任务,但攻击者也可能利用具有凭据的用户来建立持久性、安装恶意软件或执行反向 shell 以进一步访问受损实例。这是一个[新术语](https://elastic.ac.cn/guide/en/security/current/rules-ui-create.html#create-new-terms-rule)规则,它会在过去 7 天内查找 aws.cloudtrail.user_identity.arn 字段首次出现此行为的实例。

规则类型: new_terms

规则索引:

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

严重性: 低

风险评分: 21

运行频率: 5 分钟

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

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

参考:

标签:

  • 域: 云
  • 数据源: AWS
  • 数据源: Amazon Web Services
  • 数据源: AWS SSM
  • 用例: 日志审计
  • 用例: 威胁检测
  • 策略: 执行
  • 资源: 调查指南

版本: 210

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查由罕见用户执行的 AWS SSM SendCommand

此规则检测由意外或新用户使用 AWS Systems Manager (SSM) 在 EC2 实例上执行命令或脚本的行为。SSM SendCommand 操作可以启用远程命令执行,攻击者可能会利用它来安装后门、部署恶意软件或通过反向 shell 与受损实例进行交互。

可能的调查步骤

  • 确定目标实例:
  • 实例 ID: 查看 aws.cloudtrail.flattened.request_parameters.targets 字段以确定此命令的目标 EC2 实例。确认这些实例是否应通过 SSM 进行管理。
  • 使用的文档: 检查 aws.cloudtrail.flattened.request_parameters.documentName 字段,该字段指定正在执行的文档或脚本。诸如 RunShellScriptRunPowerShellScript 之类的命令可以指示交互式会话或基于脚本的交互。
  • 查看用户上下文:
  • 用户身份: 检查 aws.cloudtrail.user_identity.arn 字段以确定执行 SendCommand 的用户或角色。如果此用户通常不参与 EC2 或 SSM 交互,则可能表示未经授权的访问。
  • 访问模式: 验证该用户是否通常具有在实例上执行 SendCommand 操作的权限,以及此操作的频率是否与预期行为匹配。
  • 分析命令参数:
  • 文档内容: 虽然在 CloudTrail 中可能看不到确切的命令,但请使用日志来确定脚本的用途,尤其是在文档名称表明具有加密、数据传输或反向 shell 功能的情况下。
  • 时间和上下文: 将此命令执行与您环境中最近的其他 SSM 操作进行比较。不寻常用户执行的单个 SendCommand 事件可能表示更大规模攻击的早期阶段。
  • 检查用户代理和源 IP:
  • 用户代理分析: 查看 user_agent.original 字段以验证使用的工具或客户端(例如,aws-cli)。这可以深入了解此操作是自动化的、脚本化的还是手动执行的。
  • 源 IP 和地理位置: 使用 source.addresssource.geo 字段检查 IP 地址和地理位置是否与您组织的预期区域一致。不寻常的 IP 地址或位置可能表示外部攻击者。
  • 评估持久性指标:
  • 命令一致性: 调查此操作是否属于重复模式的一部分,例如跨实例重复执行命令,这可能表明试图维持访问。
  • 权限: 确保与用户关联的 IAM 策略将 SendCommand 操作限制在必要的用例中。考虑为具有最少角色或权限的用户执行的命令添加警报。
  • 与其他 CloudTrail 事件关联:
  • 交叉引用 SSM 操作: 查找其他最近的 SSM 操作,如 CreateDocumentUpdateDocument 或其他 SendCommand 事件,这些事件可能表明正在为进一步的利用做准备。
  • 监控数据访问或修改: 将其与最近事件中的 S3 访问模式、IAM 更改或 EC2 修改相关联,以检测更广泛的恶意活动。

误报分析

  • 例行自动化: SSM SendCommand 可能被自动化脚本或管理工具使用。验证此事件是否与已知的例行自动化工作流程一致。
  • 维护活动: 确认此时是否需要进行合法的管理活动(如修补或更新),这可能涉及在多个实例上执行类似的命令。

响应和补救

  • 限制 SSM 权限: 如果未经授权,立即撤销用户或角色的 SendCommand 权限,以防止进一步访问。
  • 隔离目标实例: 如果确认存在恶意行为,请隔离受影响的 EC2 实例,以限制横向移动或数据泄露。
  • 调查并控制用户帐户: 如果该操作是由受损帐户执行的,请查看最近的活动并根据需要重置访问凭据。
  • 审核 SSM 和 IAM 配置: 定期审核与 SSM 使用关联的权限,并确保实施最小特权访问原则。

附加信息

有关管理 AWS SSM 和 EC2 实例安全最佳实践的更多详细信息,请参阅 AWS Systems Manager 文档 和 AWS 最佳实践。

规则查询

编辑
event.dataset: "aws.cloudtrail"
    and event.provider: "ssm.amazonaws.com"
    and event.action: "SendCommand"
    and event.outcome: "success"
    and not aws.cloudtrail.user_identity.arn: *AWSServiceRoleForAmazonSSM/StateManagerService*

框架: MITRE ATT&CKTM