通过应用授权将 Google Workspace 对象复制到外部驱动器

编辑

通过应用授权将 Google Workspace 对象复制到外部驱动器

编辑

检测用户何时从外部驱动器复制 Google 电子表格、表单、文档或脚本。已添加序列逻辑,还可检测用户在短时间内通过 OAuth 向自定义 Google 应用授予权限的情况。攻击者可能会向受害者发送包含 Drive 对象链接的网络钓鱼邮件,其中 URI 中包含“复制”,从而将对象复制到受害者的驱动器。如果对象内存在容器绑定脚本,则执行需要通过 OAuth 访问权限,用户必须接受。

规则类型: eql

规则索引:

  • filebeat-*
  • logs-google_workspace*

严重性: 中等

风险评分: 47

每隔: 5 分钟运行

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

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

参考资料:

标签:

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

版本: 7

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查通过应用授权将 Google Workspace 对象复制到外部驱动器的情况

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

此规则旨在检测用户何时将外部 Drive 对象复制到其 Drive 存储空间,然后通过 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 集群集成、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