VMware Carbon Black Endpoint Standard Live Response
集成版本:6.0
使用场景
对运行 CB Endpoint Standard 代理的主机执行实时调查和补救。
配置 VMware Carbon Black Endpoint Standard Live Response 以与 Google Security Operations 搭配使用
产品权限
Carbon Black Live Response 功能通过 API 密钥进行身份验证。用户可以在 Carbon Black Cloud 控制台中的“设置”>“API 密钥”下查看 API 密钥设置。
服务主机名
Carbon Black Cloud 有两个主机名:
https://defense-<environment>.conferdeploy.net
https://api-<environment>.conferdeploy.net
此外,我们还提供多种环境,例如(非完整列表):
- prod02
- prod04
- prod05
对于 Carbon Black Live Response API,将使用以下主机名:
https://defense-about:blank)<environment>.conferdeploy.net
API 密钥
API 密钥包含两部分:
- API Secret 密钥(之前称为“API 密钥”)。
- API ID(之前称为连接器 ID)。
身份验证通过 X-Auth-Token HTTP 标头传递给 API。
- 如需生成相应的标头,请将 API 密钥与 API ID 串联起来,并在两者之间添加正斜杠。
- 例如,如果 API Secret Key 为 ABCD,API ID 为 1234,则相应的 X-Auth-Token HTTP 标头将为:X-Auth-Token: ABCD/1234
所有 API 请求都必须使用 API 密钥和 API ID 进行身份验证。未经身份验证的请求会返回 HTTP 401 错误。
如何获取 API Secret 密钥和 API ID
- 登录您的 Carbon Black Cloud 组织。
- 前往“设置”>“API 密钥”。
- 点击“添加 API 密钥”。
- 选择“访问权限级别”=“实时响应”,配置其他参数。
- 获取您的 API 密钥和 API ID 对。
网络
函数 | 默认端口 | 方向 | 协议 |
---|---|---|---|
API | 多值 | 出站 | apikey |
CB Live Response v6 API 版本的产品权限
访问 Carbon Black Cloud API 所需的概念:
- 服务主机名
- API 密钥
- RBAC
- 组织密钥
服务主机名:
对于 CarbonBlack Live Response API,将使用以下主机名:
https://defense-<environment>.conferdeploy.net
API 密钥
Carbon Black Cloud API 和服务通过 API 密钥进行身份验证。用户可以在 Carbon Black Cloud 控制台中的“设置”>“API 密钥”下查看 API 密钥设置。
API 密钥包含两部分:
- API Secret 密钥(之前称为“API 密钥”)。
- API ID(之前称为连接器 ID)。
如何获取 API Secret 密钥和 API ID
- 登录您的 Carbon Black Cloud 组织。
- 前往“设置”>“API 密钥”。
- 点击“添加 API 密钥”。
- 配置名称、访问权限级别等
- 获取您的 API 密钥和 API ID 对。
这样一来,组织管理员就可以定义 API 密钥,并获取对 API Secret 密钥和 API ID 的访问权限,而这些信息是验证 API 请求所必需的。此外,出于安全考虑,管理员可以将此 API 密钥的使用范围限制为一组特定的 IP 地址。
组织密钥
除了 API 密钥之外,许多 Carbon Black Cloud API 或服务还需要在 API 请求路径中提供 org_key。这是为了支持管理多个组织的客户。您可以在 Carbon Black Cloud 控制台中的“设置”>“API 密钥”下找到您的 org_key。
为 CB Live Response Google SecOps 集成配置 API 访问权限
如需为 CB Live Response Google SecOps 集成配置 API 访问权限,您需要执行以下步骤:
- 登录 Carbon Black Cloud 控制台,然后前往设置 > API 访问权限。
- 在“API 访问权限”页面上,前往访问权限级别。
- 在“访问权限级别”页面上,点击 + 添加访问权限级别。
在打开的窗口中,为新的访问权限级别提供名称和说明,然后选择权限,如下面的屏幕截图所示:
返回到“API 访问权限”标签页。
点击 + 添加 API 密钥以创建新的 API 密钥。
在打开的标签页中,填写必填字段,然后选择您在第 4 步中配置的访问权限级别:
点击“保存”后,您将看到 API ID 和 API Secret 密钥。请保存这些值,您需要使用它们来配置集成。
保存 API ID 和 API 密钥后,CB Live Response v6 API 的 API 访问权限即已设置完毕。
在 Google SecOps 中配置 VMware Carbon Black Endpoint Standard Live Response 集成
有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成。
集成参数
使用以下参数配置集成:
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
实例名称 | 字符串 | 不适用 | 否 | 您打算为其配置集成的实例的名称。 |
说明 | 字符串 | 不适用 | 否 | 实例的说明。 |
API 根 | 字符串 | https://defense-{environment}.conferdeploy.net | 是 | 端点标准实时响应 API 根网址。 |
组织密钥 | 字符串 | 不适用 | 是 | VMware Carbon Black Cloud 组织密钥。 |
Carbon Black Cloud API ID | 字符串 | 不适用 | 是 | Vmware Carbon Black Cloud API ID(允许读取设备数据的自定义 API 密钥 ID)。 |
Carbon Black Cloud API 密钥 | 字符串 | 不适用 | 是 | VMware Carbon Black Cloud API Secret Key(允许读取设备数据的自定义 API 密钥 ID)。 |
实时响应 API ID | 字符串 | 不适用 | 是 | 端点标准 实时响应 API 密钥 API ID。 |
实时响应 API 密钥 | 密码 | 不适用 | 是 | 实时响应 API 密钥 API Secret 密钥。 |
远程运行 | 复选框 | 尚未核查 | 否 | 选中此字段,以便远程运行配置的集成。选中后,系统会显示用于选择远程用户(客服人员)的选项。 |
使用 Live Response V6 API | 复选框 | 尚未核查 | 否 | 如果启用,集成将使用 Live Response API 版本 6,该版本是 CB Cloud(平台)API 的一部分。 |
操作
Ping
说明
使用 Google Security Operations Marketplace 标签页中的集成配置页面上提供的参数,测试与 VMware Carbon Black Endpoint Standard Live Response 的连接。
参数
不适用
使用场景
此操作用于在 Google Security Operations Marketplace 标签页的集成配置页面上测试连接,可以作为手动操作执行,但不能在 playbook 中使用。
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
案例墙
结果类型 | 值 / 说明 | 类型 | ||
---|---|---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行:
|
常规 |
终止进程
说明
根据 Google SecOps 主机或 IP 实体终止主机上的进程。
参数
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
进程名称 | 字符串 | 不适用 | 否 | 要搜索 PID 的进程名称。进程名称不区分大小写。 |
检查活跃会话的次数 | 整数 | 20 | 是 | 操作应尝试多少次才能获取实体的有效会话。每 2 秒检查一次。 |
使用场景
终止受影响设备上的恶意进程。
运行于
此操作适用于以下实体:
- IP 地址
- 主机名
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
操作应返回 JSON 结果。
操作应返回有关已执行的终止进程任务的信息,并且这些结果应根据操作所针对的实体进行分组,以便稍后与表达式构建器一起使用。请参阅 JSON 示例以供参考。
{
"entity1":[
{
"obj": {
"name": "kill",
"object": 2224
},
"id": 1,
"name": "kill",
"username": null,
"creation_time": 1602161475,
"completion_time": 1602161475,
"result_code": 0,
"result_type": "WinHresult",
"result_desc": "",
"status": "complete"
}]
}
列出进程
说明
根据提供的 Google SecOps 主机或 IP 实体列出在端点上运行的进程。
参数
参数显示名称 | 类型 | 默认值 | 为必需参数 | 说明 |
---|---|---|---|---|
进程名称 | 字符串 | 不适用 | 否 | 要在主机上搜索的进程名称。进程名称不区分大小写。 |
要返回的记录数 | 整数 | 25 | 否 | 每个实体操作应返回的记录数。 |
检查活跃会话的次数 | 整数 | 20 | 是 | 操作应尝试多少次才能获取实体的有效会话。每 2 秒检查一次。 |
使用场景
从特定主机获取进程列表以供调查。
运行于
此操作适用于以下实体:
- IP 地址
- 主机名
操作执行结果
实体扩充
扩充项字段名称 | 逻辑 - 适用情形 |
---|---|
cb_defense_deviceId | 不适用 |
cb_defense_policy | 不适用 |
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
操作应返回 JSON 结果。
操作应返回有关进程的信息(来自 get 命令结果),并且这些结果应根据操作运行的实体进行分组,以便稍后与表达式构建器一起使用。请参阅 JSON 示例以供参考。
{
"entity1":[
{
"pid": 4,
"create_time": 132463818889511,
"path": "SYSTEM",
"command_line": "",
"sid": "S-1-5-18",
"username": "NT AUTHORITY\\SYSTEM",
"parent": 0,
"parent_create_time": 0
}]
}
下载文件
说明
从运行 VMware CB Cloud Agent 的主机下载文件,该主机基于 Google SecOps 主机或 IP 实体。
参数
参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
---|---|---|---|---|
文件名 | 字符串 | 不适用 | 否 | 指定要下载的文件名。文件名不区分大小写。 |
远程目录路径 | 字符串 | 不适用 | 是 | 指定操作应采用的远程目录路径来下载文件。示例:C:\\TMP\\ |
本地目录路径 | 字符串 | 不适用 | 是 | 指定操作应将文件保存到的本地目录路径。示例:/tmp/ |
检查活跃会话的次数 | 整数 | 20 | 是 | 操作应尝试多少次才能获取实体的有效会话。每 2 秒检查一次。 |
运行于
此操作适用于以下实体:
- IP 地址
- 主机
- 文件(可选,如果提供)
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
{
"values": [],
"file_details": {
"offset": 0,
"count": 0,
"file_id": "55173d88-b4a8-4410-870c-8d3a0acf1cc9"
},
"id": 1,
"name": "get file",
"result_code": 0,
"result_type": "WinHresult",
"result_desc": "",
"status": "complete",
"sub_keys": [],
"files": [],
"input": {
"name": "get file",
"object": "C:\\TMP\\127.0.0.1.txt"
},
"create_time": "2021-06-16T11:46:41Z",
"finish_time": "2021-06-16T11:46:42Z"
}
列出文件
说明
根据 Google SecOps 主机或 IP 实体列出运行 VMware CB Cloud Agent 的主机上的文件。
参数
参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
---|---|---|---|---|
远程目录路径 | 字符串 | 不适用 | 是 | 指定操作应列出的目标目录路径。示例:C:\\TMP\\ 或 /tmp/ |
要返回的行数上限 | 整数 | 50 | 否 | 指定操作应返回多少行。 |
从指定行开始 | 整数 | 0 | 否 | 指定应从哪个行开始返回数据。 |
检查活跃会话的次数 | 整数 | 20 | 是 | 操作应尝试多少次才能获取实体的有效会话。每 2 秒检查一次。 |
运行于
此操作适用于以下实体:
- IP 地址
- 主机
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
{
"values": [],
"id": 0,
"name": "directory list",
"result_code": 0,
"result_type": "WinHresult",
"result_desc": "",
"status": "complete",
"sub_keys": [],
"files": [
{
"size": 0,
"attributes": [
"DIRECTORY"
],
"filename": ".",
"alternate_name": "",
"create_time": "2021-01-27T19:06:19Z",
"last_access_time": "2021-06-16T07:51:39Z",
"last_write_time": "2021-06-16T07:51:40Z"
},
{
"size": 0,
"attributes": [
"DIRECTORY"
],
"filename": "..",
"alternate_name": "",
"create_time": "2021-01-27T19:06:19Z",
"last_access_time": "2021-06-16T07:51:39Z",
"last_write_time": "2021-06-16T07:51:40Z"
},
{
"size": 341,
"attributes": [
"ARCHIVE"
],
"filename": "127.0.0.1.txt",
"alternate_name": "127001~1.TXT",
"create_time": "2021-01-27T19:18:44Z",
"last_access_time": "2021-03-18T12:34:04Z",
"last_write_time": "2021-01-27T19:03:27Z"
},
放置文件
说明
将文件放置在基于 Google SecOps 主机或 IP 实体的运行 VMware CB Cloud Agent 的主机上。
参数
参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
---|---|---|---|---|
文件名 | 字符串 | 不适用 | 否 | 指定要上传的文件名。文件名不区分大小写。 |
源目录路径 | 字符串 | 不适用 | 是 | 指定操作应采用的源目录路径,以获取要上传的文件。示例:/tmp/ |
目标目录路径 | 字符串 | 不适用 | 是 | 指定操作应将文件上传到的目标目录路径。示例:C:\\TMP\\ |
检查活跃会话的次数 | 整数 | 20 | 是 | 操作应尝试多少次才能获取实体的有效会话。每 2 秒检查一次。 |
运行于
此操作适用于以下实体:
- IP 地址
- 主机
- 文件(可选,如果提供)
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
{
"values": [],
"id": 0,
"name": "put file",
"result_code": 0,
"result_type": "WinHresult",
"result_desc": "",
"status": "complete",
"sub_keys": [],
"files": [],
"input": {
"chunkNumber": 0,
"file_id": "a3623dc4-a1cc-4d29-8cde-2d36d605b1a5",
"name": "put file",
"object": "C:\\TMP\\test_file.txt"
},
"create_time": "2021-06-16T07:51:40Z",
"finish_time": "2021-06-16T07:51:41Z"
}
执行文件
说明
基于 Google SecOps 主机或 IP 实体,在运行 VMware CB Cloud Agent 的主机上执行文件。
参数
参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
---|---|---|---|---|
文件名 | 字符串 | 不适用 | 否 | 指定要执行的文件名。文件名不区分大小写。 |
远程目录路径 | 字符串 | 不适用 | 是 | 指定要执行的文件的远程目录路径。示例:C:\\TMP\\ |
远程主机上的输出日志文件 | 字符串 | 不适用 | 否 | 指定输出日志文件操作应将重定向的输出保存到何处。示例:C:\\TMP\\cmdoutput.log |
要传递给文件的命令实参 | 字符串 | 不适用 | 否 | 指定要传递的命令实参,以执行相应文件。 例如,我们在此处指定了“/C whoami”,以使用 cmd 执行 whoami 命令:C:\Windows\system32\cmd.exe /C whoami |
等待结果 | 布尔值 | 未勾选的复选框 | 否 | 如果启用,操作将等待命令完成。 |
检查活跃会话的次数 | 整数 | 20 | 是 | 操作应尝试多少次才能获取实体的有效会话。每 2 秒检查一次。 |
运行于
此操作适用于以下实体:
- IP 地址
- 主机
- 文件(可选,如果提供)
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
{
"values": [],
"process_details": {
"pid": 0,
"return_code": -1
},
"id": 0,
"name": "create process",
"result_code": 0,
"result_desc": "",
"status": "pending",
"sub_keys": [],
"files": [],
"input": {
"wait": false,
"name": "create process",
"object": "C:\\Windows\\system32\\cmd.exe /C whoami"
},
"create_time": "2021-06-16T12:14:25Z",
"finish_time": "2021-06-16T12:14:25.690Z"
}
创建内存转储
说明
基于 Google SecOps 主机或 IP 实体,在运行 VMware CB Cloud Agent 的主机上创建内存转储。
此外,请注意,如果为创建的内存转储提供了无效的远程目录路径,VMware CB API 不会提供错误消息。
参数
参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
---|---|---|---|---|
文件名 | 字符串 | 不适用 | 否 | 指定用于创建内存转储的文件名。文件名不区分大小写。 |
远程目录路径 | 字符串 | 不适用 | 是 | 指定用于存储内存转储的目录文件路径。示例:C:\\TMP\\ |
检查活跃会话的次数 | 整数 | 20 | 是 | 操作应尝试多少次才能获取实体的有效会话。每 2 秒检查一次。 |
运行于
此操作适用于以下实体:
- IP 地址
- 主机
- 文件(可选,如果提供)
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
{
"values": [],
"mem_dump": {
"compressing": false,
"complete": true,
"dumping": false,
"return_code": 1627,
"percentdone": 0
},
"id": 0,
"name": "memdump",
"result_code": 0,
"result_type": "WinHresult",
"result_desc": "",
"status": "complete",
"sub_keys": [],
"files": [],
"input": {
"name": "memdump",
"object": "C:\\TMP\\cb-session-dump2.dmp"
},
"create_time": "2021-06-16T13:06:26Z",
"finish_time": "+53427-09-21T04:18:52Z"
}
删除文件
说明
根据 Google SecOps 主机或 IP 实体,从运行 VMware CB Cloud Agent 的主机中删除文件。
参数
参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
---|---|---|---|---|
文件名 | 字符串 | 不适用 | 否 | 指定要删除的文件名。文件名不区分大小写。 |
远程目录路径 | 字符串 | 不适用 | 是 | 指定要删除的文件的远程目录路径。示例:C:\\TMP\\ |
检查活跃会话的次数 | 整数 | 20 | 是 | 操作应尝试多少次才能获取实体的有效会话。每 2 秒检查一次。 |
运行于
此操作适用于以下实体:
- IP 地址
- 主机
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
{
"values": [],
"id": 0,
"name": "delete file",
"result_code": 0,
"result_desc": "",
"status": "pending",
"sub_keys": [],
"files": [],
"input": {
"name": "delete file",
"object": "C:\\TMP\\test_file.txt"
},
"create_time": "2021-06-16T13:43:45Z",
"finish_time": "2021-06-16T13:43:45.796Z"
}
列出 Cloud Storage 中的文件
说明
根据 Google SecOps 主机或 IP 实体,列出 VMware Carbon Black Cloud 文件存储中现有实时响应会话的文件。
参数
参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
---|---|---|---|---|
要返回的行数上限 | 整数 | 50 | 否 | 指定操作应返回多少行。 |
从指定行开始 | 整数 | 0 | 否 | 指定应从哪个行开始返回数据。 |
检查活跃会话的次数 | 整数 | 20 | 是 | 操作应尝试多少次才能获取实体的有效会话。每 2 秒检查一次。 |
运行于
此操作适用于以下实体:
- IP 地址
- 主机
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
[
{
"id": "97200931-cca6-4eed-8952-c47d529de103",
"size": 32,
"file_name": "test_file.txt",
"size_uploaded": 0,
"upload_url": null
}
]
从 Cloud Storage 中删除文件
说明
根据 Google SecOps 主机或 IP 实体,从 VMware Carbon Black Cloud 文件存储中删除现有实时响应会话的文件。
参数
参数显示名称 | 类型 | 默认值 | 是必填字段 | 说明 |
---|---|---|---|---|
文件名 | 字符串 | 不适用 | 否 | 指定要删除的文件名。文件名不区分大小写。 |
检查活跃会话的次数 | 整数 | 20 | 是 | 操作应尝试多少次才能获取实体的有效会话。每 2 秒检查一次。 |
运行于
此操作适用于以下实体:
- IP 地址
- 主机
- 文件(可选,如果提供)
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。