將 GRR Rapid Response 與 Google SecOps 整合
本文說明如何設定 GRR Rapid Response,並與 Google Security Operations (Google SecOps) 整合。
整合版本:8.0
整合參數
整合 GRR 快速回應功能時,需要下列參數:
參數 | 說明 |
---|---|
API Root |
必填。 伺服器網址。 預設值為 |
Username |
必填。 GRR 快速回應伺服器使用者名稱。 |
Password |
必填。 GRR Rapid Response 伺服器密碼。 |
Verify SSL |
選填。 如果選取這個選項,整合服務會在連線至 GRR Rapid Response 伺服器時驗證 SSL 憑證。 預設為未選取。 |
如需在 Google SecOps 中設定整合功能的操作說明,請參閱「設定整合功能」。
如有需要,您可以在稍後階段進行變更。設定整合執行個體後,您就可以在劇本中使用該執行個體。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。
動作
如要進一步瞭解動作,請參閱「 從工作台回覆待處理動作」和「執行手動動作」。
取得用戶端詳細資料
使用「取得客戶詳細資料」動作,取得客戶完整詳細資料。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「取得用戶端詳細資料」動作需要下列參數:
參數 | 說明 |
---|---|
Client ID |
必填。 用戶端的 ID。這個參數接受以逗號分隔的多個值。 |
動作輸出內容
「取得用戶端詳細資料」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 可用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
案件訊息牆表格
「取得用戶端詳細資料」動作可產生下表:
資料表名稱:GRR Clients Details
資料表欄:
- 用戶端 ID
- 主機
- OS 版本
- 標籤
- 記憶體大小
- 用戶端版本
- 首次出現
- 上次查看時間
- 作業系統安裝日期
JSON 結果
以下範例顯示使用「Get Client Details」(取得用戶端詳細資料) 動作時收到的 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"
}
]
輸出訊息
「取得用戶端詳細資料」動作可傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Get Client Details". Reason: ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「取得用戶端詳細資料」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
取得搜尋詳細資料
使用「Get Hunt Details」動作擷取搜尋詳細資料。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「Get Hunt Details」動作需要下列參數:
參數 | 說明 |
---|---|
Hunt ID |
必填。 要擷取的搜尋 ID。這個參數接受以逗號分隔的多個值。 |
動作輸出內容
「Get Hunt Details」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 可用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
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": " "
}
]
輸出訊息
「Get Hunt Details」(取得搜尋詳細資料) 動作可傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Get Hunt Details". Reason: ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「Get Hunt Details」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
列出用戶端
使用「列出客戶」動作搜尋客戶並與他們互動。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「列出用戶端」動作需要下列參數:
參數 | 說明 |
---|---|
Offset |
選填。 搜尋用戶端的起點 (位移)。 |
Max Results To Return |
選填。 每個回應中傳回的用戶端數量上限。 預設值為 |
動作輸出內容
「列出用戶端」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 可用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
案件訊息牆表格
「列出用戶端」動作可產生下表:
表格名稱:GRR Clients
資料表欄:
- 用戶端 ID
- 主機
- OS 版本
- 首次出現
- 用戶端版本
- 標籤
- 上次確認身體狀況
- 作業系統安裝日期
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": []
}]
輸出訊息
「列出用戶端」動作可以傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "List Clients". Reason: ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「列出用戶端」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
列出搜尋作業
使用「List Hunts」動作,擷取所有可用搜尋的相關資訊。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「列出搜尋活動」動作需要下列參數:
參數 | 說明 |
---|---|
Creator |
選填。 建立尋寶遊戲的使用者。 |
Offset |
選填。 搜尋狩獵活動的起點 (位移)。 |
Max Results To Return |
選填。 每個回應中傳回的搜尋次數上限。 預設值為 |
動作輸出內容
「列出搜尋」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 可用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
案件訊息牆表格
「列出搜尋活動」動作可產生下表:
表格名稱:Hunts
資料表欄:
- 搜尋 ID
- 狀態
- 建立時間
- 開始時間
- 時間長度
- 用戶端限制
- 到期時間
- 建立者
- 說明
JSON 結果
以下範例顯示使用「列出搜尋」動作時收到的 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",
}
]
輸出訊息
「列出搜尋」動作可以傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "List Hunts". Reason: ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「列出搜尋活動」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
列出已啟動的流程
使用「列出啟動的流程」動作,列出在指定用戶端啟動的流程。
這項動作會在下列 Google SecOps 實體上執行:
IP Address
Hostname
動作輸入內容
「列出已啟動的流程」動作需要下列參數:
參數 | 說明 |
---|---|
Offset |
選填。 要搜尋流程的起點 (位移)。 |
Max Results To Return |
選填。 每個回應中要傳回的流程數量上限。 預設值為 |
動作輸出內容
「列出已啟動的流程」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 可用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
案件訊息牆表格
「列出已啟動的流程」動作可以產生下表:
資料表名稱:GRR Launch Flows
資料表欄:
- 流程名稱
- 流程 ID
- 狀態
- 建立時間
- 上次使用時間
- 建立者
JSON 結果
以下範例顯示使用「列出已啟動的流程」動作時收到的 JSON 結果輸出內容:
{
"Creator": "admin",
"NestedFlow": [],
"LastActiveAt": 1535900632278975,
"Args": {
"ARGUMENTS"
},
"State": "TERMINATED",
"StartedAt": 1535900542745106,
"Flow_ID": "FLOW_ID",
"Flow_Name": "FLOW_NAME"
}
輸出訊息
「列出已啟動的流程」動作可傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "List Launched Flows". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「列出已啟動的流程」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
乒乓
使用 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 |
True 或False |
開始搜尋
使用「Start A Hunt」動作,開始新建立的搜尋作業。根據預設,GRR 快速回應會為所有新搜尋指派 PAUSED
狀態。
GRR 快速回應會將達到用戶端上限的所有搜尋設定為 PAUSED
狀態。移除用戶端限制後,您可以使用「開始搜尋」動作,重新啟動已暫停的搜尋。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「開始搜尋」動作需要下列參數:
參數 | 說明 |
---|---|
Hunt ID |
必填。 要啟動的搜尋活動 ID。這個參數接受以逗號分隔的多個值。 |
動作輸出內容
「開始搜尋」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
JSON 結果
以下範例顯示使用「開始搜尋」動作時收到的 JSON 結果輸出內容:
[{ "Hunt_ID": "HUNT_ID", "State": STARTED}]
輸出訊息
「開始搜尋」動作可能會傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Start A Hunt". Reason: ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
停止搜尋
使用「停止搜尋」動作,防止新用戶排定行程,並在狀態變更時中斷目前的流程。
停止搜尋後就無法繼續。這項動作會刪除所有進行中的結果,但不會影響已回報的結果。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
「停止搜尋」動作需要下列參數:
參數 | 說明 |
---|---|
Hunt ID |
必填。 要停止的搜尋 ID。這個參數接受以逗號分隔的多個值。 |
動作輸出內容
「停止搜尋」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
JSON 結果
以下範例顯示使用「停止搜尋」動作時收到的 JSON 結果輸出內容:
[{ "Hunt_ID": "HUNT_ID", "State": STOPPED}]
輸出訊息
「停止搜尋」動作可能會傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Stop A Hunt". Reason: ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「停止搜尋」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。