将 GRR Rapid Response 与 Google SecOps 集成

本文档介绍了如何配置 GRR Rapid Response 并将其与 Google Security Operations (Google SecOps) 集成。

集成版本:8.0

集成参数

GRR 快速响应集成需要以下参数:

参数 说明
API Root

必填。

服务器网址。

默认值为 https://IP_ADDRESS:8000

Username

必填。

GRR 快速响应服务器用户名。

Password

必填。

GRR 快速响应服务器密码。

Verify SSL

可选。

如果选择此项,集成会在连接到 GRR Rapid Response 服务器时验证 SSL 证书。

默认情况下未选中。

如需了解如何在 Google SecOps 中配置集成,请参阅配置集成

如有需要,您可以在稍后阶段进行更改。配置集成实例后,您可以在剧本中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例

操作

如需详细了解操作,请参阅 在工作台页面中处理待处理的操作执行手动操作

获取客户详细信息

使用 Get Client Details 操作获取客户的完整详细信息。

此操作不适用于 Google SecOps 实体。

操作输入

获取客户详细信息操作需要以下参数:

参数 说明
Client ID

必填。

客户的 ID。此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。

操作输出

获取客户详情操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
“支持请求墙”表格

获取客户详情操作可以生成下表:

表格名称:GRR Clients Details

表列:

  • 客户端 ID (Client ID)
  • 主机
  • 操作系统版本
  • 标签
  • 内存大小
  • 客户端版本
  • 首次出现时间
  • 上次定位
  • 操作系统安装日期
JSON 结果

以下示例展示了使用获取客户详细信息操作时收到的 JSON 结果输出:

[
        {
            "HardwareInfo": {
                "system_product_name": "HVM domU",
                "bios_rom_size": "64 kB",
                "bios_vendor": "Xen",
                "system_sku_number": "Not Specified",
                "system_family": "Not Specified",
                "system_uuid": "UUID",
                "system_manufacturer": "Xen",
                "bios_release_date": "08/24/2006",
                "bios_version": "4.2.amazon",
                "serial_number": "UUID",
                "bios_revision": "4.2"
            },
            "LastClock": 1535907460060247,
            "Interfaces": [
                {
                    "ifname": "lo",
                    "addresses": [
                        {
                            "packed_bytes": "fwAAAQ==",
                            "address_type": "INET"
                        },
                        {
                            "packed_bytes": "AAAAAAAAAAAAAAAAAAAAAQ==",
                            "address_type": "INET6"
                        }
                    ],
                    "mac_address": "MAC_ADDRESS"
                },
                {
                    "ifname": "eth0",
                    "addresses": [
                        {
                            "packed_bytes": "rB8sWw==",
                            "address_type": "INET"
                        },
                        {
                            "packed_bytes": "/oAAAAAAAAAE1kv//h5yfg==",
                            "address_type": "INET6"
                        }
                    ],
                    "mac_address": "MAC_ADDRESS"
                }
            ],
            "OS": {
                "kernel": "4.4.0-1065-aws",
                "install_date": 1534280169000000,
                "system": "Linux",
                "fqdn": "ip-192-0-2-91.example",
                "machine": "x86_64",
                "version": "16.4",
                "release": "Ubuntu"
            },
            "AgentInfo": {
                "client_name": "grr",
                "client_description": "grr linux amd64",
                "client_version": 3232,
                "build_time": "2018-06-28 09:37:57"
            },
            "Labels": [],
            "LastBootedAt": 1535292604000000,
            "FirstSeenAt": 1535293827970976,
            "User": [],
            "Volumes": [
                {
                    "total_allocation_units": 50808745,
                    "bytes_per_sector": 4096,
                    "sectors_per_allocation_unit": 1,
                    "unixvolume": {
                        "mount_point": "/"
                    },
                    "actual_available_allocation_units": 50027766
                }
            ],
            "LastCrashAt": null,
            "LastSeenAt": 1535907460075229,
            "ID": "CLIENT_ID"
        }
]
输出消息

获取客户详情操作可以返回以下输出消息:

输出消息 消息说明

Successfully fetched details for the following clients: CLIENT_ID_LIST.

Could not fetch details for the specified clients. CLIENT_ID does not exist.

操作成功。
Error executing action "Get Client Details". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用获取客户详情操作时脚本结果输出的值:

脚本结果名称
is_success TrueFalse

获取狩猎详情

使用 Get Hunt Details 操作检索搜索详细信息。

此操作不适用于 Google SecOps 实体。

操作输入

获取搜索详细信息操作需要以下参数:

参数 说明
Hunt ID

必填。

要检索的搜索的 ID。此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。

操作输出

获取搜索详情操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用

获取搜索详细信息操作可以生成以下链接:

API_ROOT/#/hunts/HUNT_ID

JSON 结果

以下示例展示了在使用 Get Hunt Details 操作时收到的 JSON 结果输出:

[
        {
            "Name": "ExampleHunt",
            "Expires": 1537063517000000,
            "Description": "test",
            "Creator": "admin",
            "IsRobot": false,
            "Status": "PAUSED",
            "Hunt_ID": "HUNT_ID",
            "Created": 1535853917657925,
            "Start_Time": 1535853917657925,
            "Duration": "2w",
            "Expiration time": " ",
            "Crash_limit": 100,
            "Client_limit": 100,
            "Client_rate (clients/min)": "20.5",
            "Client_Queued": "20.5",
            "Client_Scheduled": "20.5",
            "Client_Outstanding": "20.5",
            "Client_Completed": "20.5",
            "Client_with Results": "20.5",
            "Results": "20.5",
            "Total_CPU_Time_Used": "20.5",
            "Total_Network_Traffic": "20.5",
            "Flow_Name": "KeepAlive",
            "Flow_Arguments": "20.5",
            "Client_Rule_Set": " "
        }
]
输出消息

获取搜索详细信息操作可以返回以下输出消息:

输出消息 消息说明

Successfully fetched details for the HUNT_ID hunt.

Could not fetch details for the specified hunts. HUNT_ID does not exist.

操作成功。
Error executing action "Get Hunt Details". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用获取搜索详细信息操作时脚本结果输出的值:

脚本结果名称
is_success TrueFalse

列出客户

使用 List Clients 操作来搜索客户并与他们互动。

此操作不适用于 Google SecOps 实体。

操作输入

列出客户操作需要以下参数:

参数 说明
Offset

可选。

用于搜索客户的起始点(偏移量)。

Max Results To Return

可选。

每个响应中返回的客户端数量上限。

默认值为 5

操作输出

列出客户操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
“支持请求墙”表格

列出客户操作可以生成下表:

表格名称:GRR Clients

表列:

  • 客户端 ID (Client ID)
  • 主机
  • 操作系统版本
  • 首次出现时间
  • 客户端版本
  • 标签
  • 上次签入
  • 操作系统安装日期
JSON 结果

以下示例展示了使用列出客户操作时收到的 JSON 结果输出:

[{
    "Client_ID": "CLIENT_ID",
    "Agent_Info":{
       "Client_Name": "example",
       "Client_Version": 3420}
    "OS_Info":{
       "System": "Linux",
       "Release": "Ubuntu",
       "Architecture": "x86_64",
       "Installation_Time": "2020-04-09 13:44:17 UTC",
       "Kernel": "4.15.0-96-generic",
       "Version": "18.04"}
    "Client_Last_Booted_At": "",
    "Client_First_Seen_At": "2020-09-25 14:26:38 UTC",
    "Client_Last_Seen": "2020-11-19 10:12:52 UTC",
    "Client_Last_Clock": "2020-11-19 10:12:52 UTC",
    "Memory_Size": "985.6MiB",
    "Client_Labels": []
   }]
输出消息

列出客户操作可以返回以下输出消息:

输出消息 消息说明

Successfully listed available clients in GRR.

No clients are available in GRR.

操作成功。
Error executing action "List Clients". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用 List Clients 操作时脚本结果输出的值:

脚本结果名称
is_success TrueFalse

列出搜索

使用 List Hunts 操作可检索有关所有可用搜索的信息。

此操作不适用于 Google SecOps 实体。

操作输入

列出搜索操作需要以下参数:

参数 说明
Creator

可选。

创建了寻宝游戏的用户。

Offset

可选。

要搜索的狩猎活动的起始点(偏移量)。

Max Results To Return

可选。

每个响应中返回的搜索次数上限。

默认值为 5

操作输出

列出搜索操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
“支持请求墙”表格

列出搜索操作可以生成下表:

表格名称:Hunts

表列:

  • 搜索 ID
  • 状态
  • 创建时间
  • 开始时间
  • 时长
  • 客户限额
  • 到期时间
  • 创作者
  • 说明
JSON 结果

以下示例展示了使用 List Hunts 操作时收到的 JSON 结果输出:

[
    {
        "Hunt_Description": "Interrogate run by cron to keep host info fresh.",
        "Creator": "GRRCron",
        "Is_Robot": false,
        "State": "STARTED",
        "Creation Time": "1605690387510082",
        "Start Time (initial)": "1605690387678448",
        "Start Time (last)": "1605690387678448",
        "Duration": " ",
        "Client Limit": 0,
        "Expiration Time": " ",
        "Hunt_ID": "HUNT_ID",
    }
]
输出消息

列出搜索操作可以返回以下输出消息:

输出消息 消息说明

Successfully listed hunts.

Could not list hunts for the specified creator. CREATOR_ID< does not exist.

Could not list hunts for the specified creator. Please check the Offset value.

操作成功。
Error executing action "List Hunts". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用 List Hunts 操作时脚本结果输出的值:

脚本结果名称
is_success TrueFalse

列出已启动的流

使用 List Launched Flows 操作列出在指定客户端上启动的流程。

此操作可在以下 Google SecOps 实体上运行:

  • IP Address
  • Hostname

操作输入

列出已启动的流程操作需要以下参数:

参数 说明
Offset

可选。

用于搜索流的起始点(偏移量)。

Max Results To Return

可选。

每个响应中返回的流程数量上限。

默认值为 5

操作输出

列出已启动的流程操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
“支持请求墙”表格

列出已启动的流程操作可以生成下表:

表格名称:GRR 启动流程

表列:

  • 流名称
  • 流程 ID
  • 状态
  • 创建时间
  • 上次上线时间
  • 创作者
JSON 结果

以下示例展示了使用列出已启动的流程操作时收到的 JSON 结果输出:

{
    "Creator": "admin",
    "NestedFlow": [],
    "LastActiveAt": 1535900632278975,
    "Args": {
        "ARGUMENTS"
    },
    "State": "TERMINATED",
    "StartedAt": 1535900542745106,
    "Flow_ID": "FLOW_ID",
    "Flow_Name": "FLOW_NAME"
}
输出消息

列出已启动的流程操作可以返回以下输出消息:

输出消息 消息说明

Successfully listed flows launched on CLIENT_ID client.

Could not list flows. No entities were found.

Could not list flows. IPs or Hosts entities were not found in current scope.

Could not list flows on the following entities: ENTITY_ID.

操作成功。
Error executing action "List Launched Flows". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用列出已启动的流程操作时脚本结果输出的值:

脚本结果名称
is_success TrueFalse

Ping

使用 Ping 操作测试与 GRR Rapid Response 的连接。

此操作不适用于 Google SecOps 实体。

操作输入

无。

操作输出

Ping 操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 不可用
输出消息 可用
脚本结果 可用
输出消息

Ping 操作可以返回以下输出消息:

输出消息 消息说明
Successfully connected to the GRR server with the provided connection parameters! 操作成功。
Failed to connect to the GRR server! Error is ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用 Ping 操作时脚本结果输出的值:

脚本结果名称
is_success TrueFalse

开始搜索

使用 Start A Hunt 操作来启动新创建的搜索。默认情况下,GRR 快速响应会为所有新搜索任务分配 PAUSED 状态。

GRR 快速响应会将达到客户端限制的所有搜索设置为 PAUSED 状态。移除客户端限制后,您可以使用开始搜索操作来重启已暂停的搜索。

此操作不适用于 Google SecOps 实体。

操作输入

开始搜索操作需要以下参数:

参数 说明
Hunt ID

必填。

要开始的寻宝游戏的 ID。此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。

操作输出

开始搜索操作提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例展示了使用开始搜索操作时收到的 JSON 结果输出:

[{ "Hunt_ID": "HUNT_ID", "State": STARTED}]
输出消息

开始搜索操作可以返回以下输出消息:

输出消息 消息说明

Successfully started the following hunts: HUNT_ID_LIST.

Could not start the following hunts. HUNT_ID_LIST could not be found in GRR.

Could not stop the following hunts: HUNT_ID_LIST. Hunt can only be started from PAUSED state.

操作成功。
Error executing action "Start A Hunt". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

停止搜索

使用 Stop A Hunt 操作可防止新客户端安排任务,并在当前流程的状态发生变化时中断这些流程。

寻宝游戏一旦停止,便无法继续。此操作会删除所有正在进行中的当前结果,但不会影响已报告的结果。

此操作不适用于 Google SecOps 实体。

操作输入

停止搜索操作需要以下参数:

参数 说明
Hunt ID

必填。

要停止的搜索的 ID。此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。

操作输出

停止搜索操作会提供以下输出:

操作输出类型 可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
输出消息 可用
脚本结果 可用
JSON 结果

以下示例展示了使用停止搜索操作时收到的 JSON 结果输出:

[{ "Hunt_ID": "HUNT_ID", "State": STOPPED}]
输出消息

停止搜索操作可以返回以下输出消息:

输出消息 消息说明

Successfully stopped the following hunts: HUNT_ID_LIST.

Could not stop the following hunts. HUNT_ID_LIST could not be found in GRR.

Could not stop the following hunts: HUNT_ID_LIST. Hunt can only be stopped from STARTED or PAUSED states.

操作成功。
Error executing action "Stop A Hunt". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

脚本结果

下表列出了使用停止搜索操作时脚本结果输出的值:

脚本结果名称
is_success TrueFalse

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