通过应用授权将 Google Workspace 对象复制到外部云盘

编辑

通过应用授权将 Google Workspace 对象复制到外部云盘

编辑

检测用户何时从外部云盘复制 Google 电子表格、表单、文档或脚本。增加了序列逻辑,以便在用户通过 OAuth 协议授予自定义 Google 应用权限后不久也能检测到。攻击者可能会向受害者发送带有云盘对象链接的网络钓鱼电子邮件,其中 URI 中包含“复制”,从而将对象复制到受害者的云盘。如果对象中存在容器绑定的脚本,则执行将需要通过 OAuth 协议获得权限访问,用户必须接受。

规则类型: eql

规则索引:

  • filebeat-*
  • logs-google_workspace*

严重程度: 中

风险评分: 47

运行频率: 5 分钟

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

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

参考资料:

标签:

  • 域: 云
  • 数据源: Google Workspace
  • 策略: 初始访问
  • 资源: 调查指南

版本: 7

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查通过应用授权将 Google Workspace 对象复制到外部云盘

Google Workspace 用户可以通过电子邮件或共享链接共享对云盘对象(如文档、表格和表单)的访问权限。共享链接 URI 具有诸如 viewedit 之类的参数来指示接收者的权限。 copy 参数允许接收者将对象复制到他们自己的云盘,从而授予该对象与接收者相同的权限。 Google 云盘中的特定对象允许在 Google Apps 脚本平台上运行的容器绑定脚本。如果容器绑定脚本在其云盘中运行,则可能包含使用接收者权限执行的恶意代码。

此规则旨在检测用户何时将外部云盘对象复制到其云盘存储,然后通过 OAuth 提示授予自定义应用程序权限。

可能的调查步骤

  • 通过查看警报中的 user.namesource.user.email 来确定关联的用户帐户。
  • 通过查看 file.name 以及 file.id 进行分类,确定复制的文件名称。
  • 通过查看 google_workspace.drive.file.type 来确定文件类型。
  • 利用迄今为止收集的信息,跨数据查询文件元数据,以确定此活动是孤立的还是广泛的。
  • 在 OAuth 令牌事件中,通过查看 google_workspace.token.app_name 来确定应用程序名称。
  • 同时从 google_workspace.token.client.id 中查看应用程序 ID。
  • 此元数据可用于向 Google 报告恶意应用程序以进行永久列入黑名单。
  • 通过查看 google_workspace.token.scope.data.scope_name 来确定用户授予应用程序的权限。
  • 此信息将有助于进行透视和分类,以了解哪些服务可能受到影响。
  • 如果容器绑定脚本附加到复制的对象,它也将存在于用户的云盘中。
  • 应该从所有受影响的用户中删除此对象,并对其进行调查,以便更好地了解恶意代码。

误报分析

  • 与受影响的用户沟通,以确定这些操作是否是故意的
  • 如果存在容器绑定脚本,请查看代码以确定它是良性的还是恶意的

响应和补救

  • 根据分类结果启动事件响应过程。
  • 在调查和响应期间禁用或限制该帐户。
  • 确定事件的可能影响并相应地确定优先级;以下操作可以帮助您获得上下文
  • 确定云环境中的帐户角色。
  • 评估受影响的服务和服务器的严重性。
  • 与您的 IT 团队合作,确定并最大程度地减少对用户的影响。
  • 确定攻击者是否正在横向移动并危害其他帐户、服务器或服务。
  • 确定与此活动相关的任何监管或法律后果。
  • 调查攻击者在受感染或使用的系统上的凭据泄露情况,以确保识别出所有受感染的帐户。根据需要重置密码或删除 API 密钥,以撤销攻击者对环境的访问权限。在这些操作过程中,与您的 IT 团队合作,最大程度地减少对业务运营的影响。
  • 重置密码将撤销可能被盗的 OAuth 令牌。
  • 重新激活用户的多因素身份验证。
  • 查看分配给相关用户的权限,以确保遵循最小权限原则。
  • 实施 Google 提供的安全默认设置。
  • 确定攻击者滥用的初始向量,并采取行动以防止通过相同向量再次感染。
  • 使用事件响应数据,更新日志记录和审计策略,以提高平均检测时间 (MTTD) 和平均响应时间 (MTTR)。

设置

关于 Google Workspace 事件延迟时间的重要信息

  • 根据 Google 的文档,Google Workspace 管理员可能会观察到事件发生时间和事件在 Google Workspace 管理/审计日志中可见的时间之间存在几分钟到 3 天的延迟时间。
  • 为了降低误报的风险,请考虑缩短 Google Workspace (以前称为 G Suite) Filebeat 模块轮询 Google 报告 API 以获取新事件的间隔。
  • 默认情况下,var.interval 设置为 2 小时 (2h)。考虑将此间隔更改为较低的值,例如 10 分钟 (10m)。
  • 有关更多信息,请参阅以下参考资料
  • https://support.google.com/a/answer/7061566
  • https://elastic.ac.cn/guide/en/beats/filebeat/current/filebeat-module-google_workspace.html

设置

编辑

需要 Google Workspace Fleet 集成、Filebeat 模块或类似结构化的数据才能与此规则兼容。

规则查询

编辑
sequence by source.user.email with maxspan=3m
[file where event.dataset == "google_workspace.drive" and event.action == "copy" and

    /* Should only match if the object lives in a Drive that is external to the user's GWS organization */
    google_workspace.drive.owner_is_team_drive == "false" and google_workspace.drive.copy_type == "external" and

    /* Google Script, Forms, Sheets and Document can have container-bound scripts */
    google_workspace.drive.file.type: ("script", "form", "spreadsheet", "document")]

[any where event.dataset == "google_workspace.token" and event.action == "authorize" and

    /* Ensures application ID references custom app in Google Workspace and not GCP */
    google_workspace.token.client.id : "*apps.googleusercontent.com"]

框架: MITRE ATT&CKTM