Vectra

集成版本:8.0

使用场景

  1. 提取 Vectra 检测结果,以便使用这些结果创建 Google Security Operations 提醒。接下来,在 Google SecOps 中,可以使用提醒通过 playbook 或手动分析来执行编排。
  2. 执行扩充操作 - 从 Vectra 获取数据,以扩充 Google SecOps 提醒中的数据。

产品权限

如需获取 API 令牌,您必须前往“个人资料”页面并复制该令牌。

API 令牌位置

在 Google SecOps 中配置 Vectra 集成

有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成

集成参数

使用以下参数配置集成:

参数显示名称 类型 默认值 是否为必需属性 说明
实例名称 字符串 不适用 您打算为其配置集成的实例的名称。
说明 字符串 不适用 实例的说明。
API 根 字符串 https://{address}:{port} Vectra 服务器的 API 根。
API 令牌 密码 不适用 Vectra 账号的 API 令牌。
验证 SSL 复选框 勾选 如果启用,则验证与 Vectra 服务器的连接的 SSL 证书是否有效。
远程运行 复选框 尚未核查 选中此字段,以便远程运行配置的集成。选中后,系统会显示用于选择远程用户(客服人员)的选项。

操作

Ping

说明

使用 Google Security Operations Marketplace 标签页中集成配置页面上提供的参数测试与 Vectra 的连接。

运行于

该操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功

输出“Successfully connected to the Vectra server with the provided connection parameters!”

操作应失败并停止 playbook 执行
如果不成功

打印“Failed to connect to the Vectra server! 错误为 {0}".format(exception.stacktrace)

常规

丰富端点

说明

按主机名或 IP 地址提取端点的系统信息。

运行于

此操作适用于以下实体:

  • IP 地址
  • 主机名

操作执行结果

实体扩充
扩充项字段名称 来源(JSON 密钥) 逻辑 - 应用场景
Vectra_id results/id 以 JSON 格式提供时
Vectra_name results/name 以 JSON 格式提供时
Vectra_state results/state 以 JSON 格式提供时
Vectra_threat 结果/威胁 以 JSON 格式提供时
Vectra_certainty 结果/确定性 以 JSON 格式提供时
Vectra_ip results/last_source 以 JSON 格式提供时
Vectra_tags 以空格分隔的{results/tags} 以 JSON 格式提供时
Vectra_note 结果/备注 以 JSON 格式提供时
Vectra_url results/url 以 JSON 格式提供时
Vectra_last_modified results/last_modified 以 JSON 格式提供时
Vectra_groups 以空格分隔的{results/groups} 以 JSON 格式提供时
Vectra_is_key_asset results/is_key_asset 以 JSON 格式提供时
Vectra_has_active_traffic results/has_active_traffic 以 JSON 格式提供时
Vectra_is_targeting_key_asset results/is_targeting_key_asset 以 JSON 格式提供时
Vectra_privilege_level results/privilege_level 以 JSON 格式提供时
Vectra_previous_ip 以空格分隔的 {results/previous_ips} 以 JSON 格式提供时
脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
            "id": 131,
            "name": "DESKTOP-DAIOS7J",
            "active_traffic": false,
            "has_active_traffic": false,
            "t_score": 0,
            "threat": 0,
            "c_score": 0,
            "certainty": 0,
            "severity": null,
            "last_source": "10.0.2.68",
            "ip": "10.0.2.68",
            "previous_ips": [],
            "last_detection_timestamp": "2019-10-08T17:13:57Z",
            "key_asset": false,
            "is_key_asset": false,
            "state": "inactive",
            "targets_key_asset": false,
            "is_targeting_key_asset": false,
            "detection_set": [],
            "host_artifact_set": [
                {
                    "type": "netbios",
                    "value": "DESKTOP-DAIOS7J",
                    "source": null,
                    "siem": false
                }
            ],
            "sensor": "YLq09aHU",
            "sensor_name": "Vectra X",
            "tags": [],
            "note": null,
            "note_modified_by": null,
            "note_modified_timestamp": null,
            "url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
            "host_url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
            "last_modified": "2020-02-12T13:41:51Z",
            "assigned_to": null,
            "assigned_date": null,
            "groups": [],
            "has_custom_model": false,
            "privilege_level": null,
            "privilege_category": null,
            "probable_owner": null,
            "detection_profile": null,
            "host_session_luids": [],
            "host_luid": "e0M-jygN"
}
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功 且至少一个提供的实体已得到丰富(is_success = true)

打印“Successfully enriched the following endpoints from Vectra: \n {0}”(已成功从 Vectra 扩充以下端点:\n {0})。format(entity.identifier list)

如果 Vectra 中发现某个 Google SecOps 实体的操作有多个匹配项,则会采用第一个匹配项来丰富端点

打印“在 Vectra 中找到了多个匹配项,正在为以下实体采用第一个匹配项:/n {0}”。format(entity.identifiers list)

如果未能扩充特定实体(is_success = true)

输出“No entities were enriched.”

操作应失败并停止 playbook 执行
如果出现严重错误,例如凭据错误、无法连接到服务器等

打印“执行操作‘丰富端点’时出错。原因:{0}''.format(error.Stacktrace)

常规

添加标记

说明

向 Vectra 中的端点或检测结果添加标记。

参数

参数显示名称 类型 默认值 是强制性的 说明
内容类型 下拉列表

端点

可能的值:
端点

检测

选择要向哪种商品类型添加标记。
内容 ID 字符串 不适用 指定检测/端点的 ID。
标记 CSV 不适用 指定要向检测/端点添加哪些标记。标记应以英文逗号分隔,例如:tag1, tag2。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果找到检测/端点,并且已成功更新标记 (is_success = true)

打印“Successfully added tags {0} to {1} with ID {2}.format(tags, Item Type, Item ID)

如果检测到检测/端点,但未添加标记 (is_success=False)

打印“操作无法将标记 {0} 添加到 ID 为 {2} 的 {1}。原因:{3}. format(tags, Item Type, Item ID, tags parameter from response)"。

如果未找到检测/端点(is_success=False)

打印“未找到 ID 为 {1} 的 {0}。format(商品类型, 商品 ID)。”

II is_success=false,没有特定情况,也不是严重错误

打印“Action wasn't able to add tags to {0} with ID {1}.format(Item Type, Item ID)”:

操作应失败并停止 playbook 执行
如果出现严重错误(凭据错误、连接错误、操作崩溃)

打印“执行操作‘添加标记’时出错。原因:{0}''.format(error.Stacktrace)

常规

移除标记

说明

从 Vectra 中的端点或检测结果中移除标记。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
内容类型 下拉列表

端点

可能的值:
端点

检测

选择要移除哪些类型商品的标记。
内容 ID 字符串 不适用 指定检测/端点的 ID。
标记 CSV 不适用 指定要从检测/端点中移除哪些标记。标记应以英文逗号分隔,例如:tag1, tag2。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果找到检测/端点,并且已成功更新标记 (is_success = true)

打印“Successfully removed tags {0} from {1} with ID {2}.format(tags, Item Type, Item ID)”

如果未找到检测/端点(is_success=False)

打印“未找到 ID 为 {1} 的 {0}。”。format(Item Type, Item ID)。

如果检测到检测/端点,但未找到代码(is_success=False)

打印“Tags {0} don't exist in {1} with ID {2}.".format(list of tags that were not found separated by comma, Item Type, Item ID)。

如果 is_success=false 但没有特定情况,且不是严重错误

打印“Action wasn't able to remove tags from {0} with ID {1}.format(Item Type, Item ID)”:

操作应失败并停止 playbook 执行
如果出现严重错误(凭据错误、连接错误、操作崩溃)

打印“执行操作‘移除标记’时出错”。原因:{0}''.format(error.Stacktrace)

常规

更新备注

说明

更新了端点或检测的备注。

参数

参数显示名称 类型 默认值 是强制性的 说明
内容类型 下拉列表

端点

可能的值:
端点

检测

选择要更新备注的商品类型。
内容 ID 字符串 不适用 指定检测/端点的 ID。
注意 字符串 不适用 指定您希望在检测/端点上显示哪些备注。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果找到检测结果/端点,并且成功更新了备注 (is_success = true)

打印“Successfully updated note on {1} with ID {2}.format(Item Type, Item ID)

如果未找到检测/端点(is_success=False)

打印“未找到 ID 为 {1} 的 {0}。”。format(Item Type, Item ID)。

如果 is_success=false 但没有特定情况,且不是严重错误

打印“操作无法更新 {0} 上 ID 为 {1} 的备注”。format(Item Type, Item ID):

操作应失败并停止 playbook 执行
如果出现严重错误(凭据错误、连接错误、操作崩溃)

打印“执行操作‘更新笔记’时出错”。原因:{0}''.format(error.Stacktrace)

常规

更新检测状态

说明

更新检测的状态。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
检测 ID 整数 不适用 指定要更新状态的检测 ID。
状态 DDL

修复了

可能的值:

固定

有效

指定要为检测设置的状态。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息\*

操作不应失败,也不应停止 playbook 执行

如果检测到问题且状态已成功更新 (is_success = true)

打印“Successfully updated status to '{0}' on detection with ID {1}.format(Status, Detection ID)

如果未找到检测结果 (is_success=False)

打印“未找到 ID 为 {1} 的检测结果。”。format(检测 ID)。

如果 is_success=false 但没有特定情况,且不是严重错误

打印“Action wasn't able to update status on detection with ID {1}.format(detection ID)”:

操作应失败并停止 playbook 执行
如果出现严重错误(凭据错误、连接错误、操作崩溃)

打印“Error executing action "Update Detection Status". 原因:{0}''.format(error.Stacktrace)

常规

获取分诊规则详情

说明

获取有关分诊规则的详细信息。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
分诊规则 ID 整数 不适用 指定以英文逗号分隔的诊断规则 ID 列表。示例:28、29
创建数据分析 复选框 正确 如果启用,此操作将为每个已处理的分诊规则创建单独的数据洞见。

运行于

此操作不会在实体上运行。

操作执行结果

数据分析
数据分析标题 数据分析说明
“Triage Rule {0}”.format(triage_rule) “检测类别:{0}\n 分诊类别:{1}\n 检测:{2}\n 说明:{3}”.format(detection_category, triage_category, detection, description)
脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
    "id": 28,
    "url": "https://api.demo.vectranetworks.com/api/v2.1/rules/28",
    "description": "whatever",
    "enabled": true,
    "created_timestamp": "2020-10-01T17:21:19Z",
    "last_timestamp": "2020-10-01T17:21:19Z",
    "is_whitelist": false,
    "priority": 1,
    "active_detections": 1,
    "total_detections": 1,
    "template": false,
    "additional_conditions": {
        "OR": [
            {
                "AND": [
                    {
                        "ANY_OF": {
                            "field": "remote1_ip",
                            "values": [
                                {
                                    "url": null,
                                    "value": "35.166.75.118",
                                    "label": "35.166.75.118"
                                }
                            ],
                            "groups": [],
                            "label": "C&C Server IP"
                        }
                    }
                ]
            }
        ]
    },
    "source_conditions": {
        "OR": [
            {
                "AND": [
                    {
                        "ANY_OF": {
                            "field": "host",
                            "values": [
                                {
                                    "url": "https://api.demo.vectranetworks.com/api/v2.1/hosts/142",
                                    "value": 142,
                                    "label": "IP-10.10.100.10"
                                }
                            ],
                            "groups": [],
                            "label": "Host"
                        }
                    }
                ]
            }
        ]
    },
    "detection_category": "COMMAND & CONTROL",
    "triage_category": "triage rule 1",
    "detection": "Hidden HTTPS Tunnel"
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功且至少一个提供的规则 ID 已丰富(is_success = true)

打印“Successfully retrieved information about the following triage rules from Vectra: \n {0}”。format(processed rule ids)

如果无法丰富特定实体(is_success = true)

打印“操作无法检索以下分诊规则的相关信息:{0}”。format(未处理的规则 ID)

如果未能丰富所有实体(is_success = false)

打印“未检索到有关分诊规则的信息。”

操作应失败并停止 playbook 执行
如果出现严重错误(凭据错误、连接错误、操作崩溃)

打印“Error executing action "Get Triage Rule Details". 原因:{0}''.format(error.Stacktrace)

常规
“案例墙”表格

表格名称:分诊规则详细信息

表格列

ID(映射为 id)

已启用(映射为已启用)

检测类别(映射为 detection_category)

分诊类别(映射为 triage_category)

检测(映射为检测)

白名单(映射为 is_whitelist)

优先级(映射为 priority)

创建时间(映射为 created_timestamp)

常规

连接器

Vectra - 检测连接器

在 Google SecOps 中配置 Vectra - 检测连接器

有关如何在 Google SecOps 中配置连接器的详细说明,请参阅配置连接器

连接器参数

使用以下参数配置连接器:

参数显示名称 类型 默认值 是否为必需属性 说明
商品字段名称 字符串 产品名称 输入源字段名称,以便检索产品字段名称。
事件字段名称 字符串 eventType 输入源字段名称,以便检索事件字段名称。

环境字段名称

字符串 ""

描述存储环境名称的字段的名称。

如果找不到环境字段,则环境为默认环境。

环境正则表达式模式

字符串 .*

要对“环境字段名称”字段中找到的值运行的正则表达式模式。

默认值为 .*,用于捕获所有内容并返回未更改的值。

用于允许用户通过正则表达式逻辑来操纵环境字段。

如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为默认环境。

脚本超时(秒) 整数 180 运行当前脚本的 Python 进程的超时时间限制。
API 根 字符串 https://x.x.x.x:x:x Vectra 服务器的 API 根。
API 令牌 密码 不适用 Vectra 账号的 API 令牌。
要提取的最低威胁得分 整数 50

用于提取检测结果的最低威胁得分。

最小值:0

上限:100

要提取的最低确定性得分 整数 0

用于提取检测结果的最低确定性得分。

最小值:0

上限:100

类别过滤器 逗号分隔值 命令和控制、僵尸网络、侦察、横向移动、数据渗出、信息

指定要将哪些类别的检测结果注入到 Google SecOps 中。

可能的值:

命令与控制

Botnet

侦察

横向移动

渗漏

信息

提取回溯的小时数上限 整数 1 提取威胁的小时数。
要提取的最大检测次数 整数 25 每次连接器迭代要处理的检测结果数量。上限为 5000。这是 Vectra 的限制。
将白名单用作黑名单 复选框 尚未核查 如果启用,白名单将用作黑名单。
验证 SSL 复选框 勾选 如果启用,则验证与 Vectra 服务器的连接的 SSL 证书是否有效。
代理服务器地址 字符串 不适用 要使用的代理服务器的地址。
代理用户名 字符串 不适用 用于进行身份验证的代理用户名。
代理密码 密码 不适用 用于进行身份验证的代理密码。

连接器规则

代理支持

连接器支持代理。

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。