AWS SSM SendCommand 由罕见用户执行
编辑AWS SSM SendCommand
由罕见用户执行
编辑检测使用 AWS Systems Manager (SSM) 在 EC2 实例上执行命令或脚本的行为,例如 RunShellScript
、RunPowerShellScript
或自定义文档。虽然合法用户可能会使用这些命令执行管理任务,但攻击者也可以利用这些命令获取凭据以建立持久性、安装恶意软件或执行反向 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
字段,该字段指定正在执行的文档或脚本。诸如RunShellScript
或RunPowerShellScript
之类的命令可能表示交互式会话或基于脚本的交互。 - 查看用户上下文:
-
用户身份: 检查
aws.cloudtrail.user_identity.arn
字段以确定执行SendCommand
的用户或角色。如果此用户通常不参与 EC2 或 SSM 交互,则可能表示未经授权的访问。 -
访问模式: 验证用户是否通常具有对实例执行
SendCommand
操作的权限,以及此操作的频率是否与预期行为相符。 - 分析命令参数:
- 文档内容: 虽然 CloudTrail 中可能无法看到确切的命令,但请使用日志确定脚本的目的,尤其是在文档名称暗示加密、数据传输或反向 shell 功能时。
-
时间和上下文: 将此命令执行与环境中的其他近期 SSM 操作进行比较。由异常用户发出的单个
SendCommand
事件可能表示较大攻击的早期阶段。 - 检查用户代理和源 IP:
-
用户代理分析: 查看
user_agent.original
字段以验证使用的工具或客户端(例如,aws-cli
)。这可以提供有关此操作是自动执行、脚本化还是手动执行的见解。 -
源 IP 和地理位置: 使用
source.address
和source.geo
字段检查 IP 地址和地理位置是否与组织的预期区域一致。异常的 IP 地址或位置可能表示外部攻击者。 - 评估持久性指标:
- 命令一致性: 调查此操作是否属于重复模式的一部分,例如跨实例重复执行命令,这可能表明试图保持访问权限。
-
权限: 确保与用户关联的 IAM 策略将
SendCommand
操作限制在必要的用例中。考虑为具有最小角色或权限的用户执行的命令添加告警。 - 与其他 CloudTrail 事件相关联:
-
交叉引用 SSM 操作: 查找其他最近的 SSM 操作,例如
CreateDocument
、UpdateDocument
或其他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
-
战术
- 名称: 执行
- ID: TA0002
- 参考网址: https://attack.mitre.org/tactics/TA0002/
-
技术
- 名称: 云管理命令
- ID: T1651
- 参考网址: https://attack.mitre.org/techniques/T1651/