VMware Carbon Black Endpoint Standard Live Response

本文說明如何將 Carbon Black Endpoint Standard Live Response 與 Google Security Operations 整合。

用途

對執行 CB Endpoint Standard 代理程式的主機進行即時調查和修復。

設定 VMware Carbon Black Endpoint Standard Live Response,以便與 Google Security Operations 搭配使用

產品權限

Carbon Black Live Response 功能會透過 API 金鑰進行驗證。使用者可以在 Carbon Black Cloud 控制台的「Settings」>「API Keys」下方查看 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 密鑰 (先前稱為 API 金鑰)。
  • API ID (先前稱為連接器 ID)。

驗證資訊會透過 X-Auth-Token HTTP 標頭傳遞至 API。

  1. 如要產生適當的標頭,請將 API 密鑰與 API ID 串連,並在兩者之間加上正斜線。
  2. 舉例來說,如果 API 密鑰是 ABCD,API ID 是 1234,則對應的 X-Auth-Token HTTP 標頭會是:X-Auth-Token: ABCD/1234

所有 API 要求都必須使用 API 密鑰和 API ID 進行驗證。未經驗證的要求會傳回 HTTP 401 錯誤。

如何取得 API 密鑰和 API ID

  1. 登入 Carbon Black Cloud 機構。
  2. 依序前往「設定」>「API 金鑰」。
  3. 按一下「新增 API 金鑰」。
  4. 選取「存取層級」=「即時回應」,設定其他參數。
  5. 取得 API 密鑰和 API ID。

網路

函式 預設通訊埠 方向 通訊協定
API 多重值 傳出 apikey

CB Live Response v6 API 版本的產品權限

存取 Carbon Black Cloud API 所需的概念:

  1. 服務主機名稱
  2. API 金鑰
  3. RBAC
  4. 組織金鑰

服務主機名稱:

CarbonBlack Live Response API 會使用下列主機名稱: https://defense-<environment>.conferdeploy.net

API 金鑰

Carbon Black Cloud API 和服務會透過 API 金鑰進行驗證。使用者可以在 Carbon Black Cloud 控制台的「Settings」>「API Keys」下方查看 API 金鑰設定。

API 金鑰包含兩個部分:

  • API 密鑰 (先前稱為 API 金鑰)。
  • API ID (先前稱為連接器 ID)。

如何取得 API 密鑰和 API ID

  1. 登入 Carbon Black Cloud 機構。
  2. 依序前往「設定」>「API 金鑰」。
  3. 按一下「新增 API 金鑰」。
  4. 設定名稱、存取層級等。
  5. 取得 API 密鑰和 API ID。

組織管理員可以定義 API 金鑰,並取得 API 密鑰和 API ID,用於驗證 API 要求。此外,基於安全考量,管理員可以限制只有特定 IP 位址能使用這組 API 金鑰。

組織金鑰

除了 API 金鑰外,許多 Carbon Black Cloud API 或服務都需要在 API 要求路徑中提供 org_key。這是為了支援管理多個機構的客戶。您可以在 Carbon Black Cloud 控制台的「Settings」(設定) >「API Keys」(API 金鑰) 下方找到 org_key。

設定 CB Live Response Google SecOps 整合的 API 存取權

如要設定 CB Live Response Google SecOps 整合功能的 API 存取權,請按照下列步驟操作:

  1. 登入 Carbon Black Cloud 控制台,依序前往「Settings」>「API Access」。
  2. 在「API 存取權」頁面,前往「存取層級」。
  3. 在「存取層級」頁面,按一下「+ 新增存取層級」。
  4. 在開啟的視窗中,輸入新存取層級的名稱和說明,然後選取權限,如下方螢幕截圖所示:

    必要權限清單

  5. 返回「API 存取權」分頁。

  6. 按一下「+ 新增 API 金鑰」,建立新的 API 金鑰。

  7. 在開啟的分頁中填寫必填欄位,然後選取您在步驟 4 設定的存取層級:

    編輯 API 金鑰設定

  8. 點選「儲存」後,系統會顯示 API ID 和 API 密鑰。 請儲存這些值,設定整合時會用到。

  9. 儲存 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 是 Endpoint Standard Live Response 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 密鑰 (可讀取裝置資料的自訂 API 金鑰 ID)。
Live Response API ID 字串 不適用 是

Endpoint Standard

Live Response API 金鑰 API ID。

Live Response API 密鑰 密碼 不適用 是 Live Response API 金鑰 API 密鑰。
遠端執行 核取方塊 已取消勾選 否 勾選這個欄位,即可從遠端執行設定的整合項目。勾選後,系統會顯示選取遠端使用者 (代理) 的選項。
使用 Live Response V6 API 核取方塊 已取消勾選 否 啟用後,整合功能會使用 Live Response API 第 6 版,這是 CB Cloud (平台) API 的一部分。

動作

乒乓

說明

在 Google SecOps Content Hub 頁面的整合設定頁面,使用提供的參數,測試與 VMware Carbon Black Endpoint Standard Live Response 的連線能力。

參數

不適用

用途

這項動作可用於在 Google SecOps Content Hub 頁面的整合設定頁面測試連線能力,並可做為人工判決處罰執行,不適用於教戰手冊。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼執行結果名稱 價值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • if successful: print "Successfully connected to the VMware Carbon Black Endpoint Standard Live Response service with the provided connection parameters!"

動作應失敗並停止執行應對手冊:

  • 如果發生重大錯誤,例如憑證錯誤或連線中斷:列印「無法連線至 VMware Carbon Black Endpoint Standard Live Response 服務!錯誤為 {0}".format(exception.stacktrace)
一般

終止程序

說明

根據 Google SecOps 主機或 IP 實體,終止主機上的程序。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
程序名稱 字串 不適用 否 要搜尋 PID 的程序名稱。程序名稱不區分大小寫。
檢查活動時段 x 次 整數 20 是 動作應嘗試多少次,才能取得實體的有效工作階段。每 2 秒檢查一次。

用途

終止受影響裝置上的惡意程序。

執行日期

這項動作會對下列實體執行:

  1. IP 位址
  2. 主機名稱

動作執行結果

指令碼執行結果
指令碼執行結果名稱 價值選項 範例
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 否 每個實體動作應傳回的記錄數量。
檢查活動時段 x 次 整數 20 是 動作應嘗試多少次,才能取得實體的有效工作階段。每 2 秒檢查一次。

用途

從特定主機取得程序清單,以便調查。

執行日期

這項動作會對下列實體執行:

  1. IP 位址
  2. 主機名稱

動作執行結果

實體資料充實
補充資料欄位名稱 邏輯 - 套用時機
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
  }]
}

下載檔案

說明

根據 Google SecOps 主機或 IP 實體,從執行 VMware CB Cloud Agent 的主機下載檔案。

參數

參數顯示名稱 類型 預設值 是否為必要 說明
檔案名稱 字串 不適用 否 指定要下載的檔案名稱。檔案名稱不區分大小寫。
遠端目錄路徑 字串 不適用 是 指定動作應採取的遠端目錄路徑,以便下載檔案。範例:C:\\TMP\\
本機目錄路徑 字串 不適用 是 指定動作應將檔案儲存至哪個本機目錄路徑。範例:/tmp/
檢查活動時段 x 次 整數 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 否 指定動作應從哪一列開始傳回資料。
檢查活動時段 x 次 整數 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\\
檢查活動時段 x 次 整數 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

等待結果 布林值 未勾選核取方塊 否 如果啟用,動作會等待指令完成。
檢查活動時段 x 次 整數 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 的主機上建立 memdump。

此外,請注意,如果為建立的記憶體傾印提供無效的遠端目錄路徑,VMware CB API 不會提供錯誤訊息。

參數

參數顯示名稱 類型 預設值 是否為必要 說明
檔案名稱 字串 不適用 否 指定 memdump 建立作業的檔案名稱。檔案名稱不區分大小寫。
遠端目錄路徑 字串 不適用 是 指定要儲存 memdump 的目錄檔案路徑。範例:C:\\TMP\\
檢查活動時段 x 次 整數 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\\
檢查活動時段 x 次 整數 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 否 指定動作應從哪一列開始傳回資料。
檢查活動時段 x 次 整數 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 檔案儲存庫中,刪除現有即時回應工作階段的檔案。

參數

參數顯示名稱 類型 預設值 是否為必要 說明
檔案名稱 字串 不適用 否 指定要刪除的檔案名稱。檔案名稱不區分大小寫。
檢查活動時段 x 次 整數 20 是 動作應嘗試多少次,才能取得實體的有效工作階段。每 2 秒檢查一次。

執行日期

這項動作會對下列實體執行:

  • IP 位址
  • 主機
  • 檔案 (選用,如有提供)

動作執行結果

指令碼執行結果
指令碼執行結果名稱 價值選項 範例
is_success True/False is_success:False

還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。