將 VirusTotal 與 Google SecOps 整合
本文說明如何將 VirusTotal 與 Google Security Operations (Google SecOps) 整合。
整合版本:39.0
這項整合功能使用 VirusTotal API v2。
這項整合功能使用一或多個開放原始碼元件。 您可以從 Cloud Storage bucket 下載這個整合的完整原始碼壓縮副本。
事前準備
如要使用 VirusTotal 整合功能,請設定 API 金鑰。
如要設定 API 金鑰,請完成下列步驟:
- 登入 VirusTotal 入口網站。
- 在使用者名稱下方,按一下「API 金鑰」。
- 複製產生的 API 金鑰,以便在整合參數中使用。
- 按一下 [儲存]。
整合參數
VirusTotal 整合需要下列參數:
參數 | 說明 |
---|---|
Api Key |
必填。 存取 VirusTotal 的 API 金鑰。 |
Verify SSL |
選填。 如果選取這個選項,整合服務會在連線至 VirusTotal 時驗證 SSL 憑證。 預設為未選取。 |
如需在 Google SecOps 中設定整合功能的操作說明,請參閱「設定整合功能」。
如有需要,您可以在稍後階段進行變更。設定整合執行個體後,您就可以在劇本中使用該執行個體。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。
動作
如要進一步瞭解動作,請參閱「回覆『你的工作台』中的待處理動作」和「執行手動動作」。
取得網域報表
使用「Get Domain Report」(取得網域報表) 動作,從 VirusTotal 擷取所提供實體的網域報表,並在 Google SecOps 平台中擴充這些實體。
這項動作會在下列 Google SecOps 實體上執行:
User
Hostname
動作輸入內容
無
動作輸出內容
「取得網域報表」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
實體擴充資料表 | 可用 |
JSON 結果 | 可用 |
指令碼結果 | 可用 |
實體擴充資料表
「取得網域報告」動作可擴充下列欄位:
補充資料欄位名稱 | 適用邏輯 |
---|---|
Forcepoint ThreatSeeker category |
如果 JSON 結果中存在該值,則傳回該值。 |
BitDefender domain info |
如果 JSON 結果中存在該值,則傳回該值。 |
Categories |
如果 JSON 結果中存在該值,則傳回該值。 |
BitDefender Category |
如果 JSON 結果中存在該值,則傳回該值。 |
Alexa Category |
如果 JSON 結果中存在該值,則傳回該值。 |
Alexa domain info |
如果 JSON 結果中存在該值,則傳回該值。 |
Websense ThreatSeeker category |
如果 JSON 結果中存在該值,則傳回該值。 |
TrendMicro category |
如果 JSON 結果中存在該值,則傳回該值。 |
Opera domain info |
如果 JSON 結果中存在該值,則傳回該值。 |
Webutation domain info |
如果 JSON 結果中存在該值,則傳回該值。 |
verbose_msg |
如果 JSON 結果中存在該值,則傳回該值。 |
whois |
如果 JSON 結果中存在該值,則傳回該值。 |
JSON 結果
下列範例顯示使用「取得網域報告」動作時收到的 JSON 結果輸出內容:
[
{
"EntityResult": {
"detected_downloaded_samples": [],
"undetected_downloaded_samples": [{
"date": "2018-08-08 22:48:28",
"positives": 0,
"sha256": "ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629",
"total": 59
}],
"resolutions": [{
"last_resolved": "2019-01-13 03:31:09",
"ip_address": "192.0.2.1"
}],
"Opera domain info": "The URL domain/host was seen to host badware at some point in time",
"domain_siblings": [],
"BitDefender domain info": "This URL domain/host was seen to host badware at some point in time",
"whois": "Domain Name: EXAMPLE.CO.IN, nUpdated Date: 2018-05-22T09:30:37Z, nCreation Date: 2003-06-23T14:02:33Z, nRegistry Expiry Date: 2019-06-23T14:02:33Z, nDomain Status: clientDeleteProhibited, nDomain Status: clientTransferProhibited, nDomain Status: clientUpdateProhibited, nRegistrant Country: US, nName Server: NS1.EXAMPLE.COM, nName Server: NS2.EXAMPLE.COM, nName Server: NS3.EXAMPLE.COM, nName Server: NS4.EXAMPLE.COM, nDNSSEC: unsigned",
"Alexa domain info": "example.co.in is one of the top 100 sites in the world and is in the Search_Engines category",
"verbose_msg": "Domain found in dataset",
"BitDefender category": "searchengines",
"undetected_referrer_samples": [{
"date": "2019-02-05 13:20:39",
"positives": 0,
"sha256": "3baf9f2a2d2b152193d2af602378b71e40d381e835b0aa3111851b2f29e64f38",
"total": 71
}],
"whois_timestamp": 1548379042,
"WOT domain info": {
"Vendor reliability": "Excellent",
"Child safety": "Excellent",
"Trustworthiness": "Excellent",
"Privacy": "Excellent"
},
"detected_referrer_samples": [{
"date": "2019-02-05 01:11:35",
"positives": 1,
"sha256": "097ea19b440441248b157698e2b23555cdf6117491b5f49f7ec8e492550cb02c",
"total": 70
}],
"Forcepoint ThreatSeeker category": "search engines and portals",
"Alexa category": "search_engines",
"detected_communicating_samples": [{
"date": "2019-01-28 23:58:13",
"positives": 30,
"sha256": "e65faa1283f8941d98dc23ff6822be228a24cb4489a5e5b01aeee749bf851658",
"total": 70
}],
"TrendMicro category": "search engines portals",
"categories": [
"searchengines", "search engines and portals"
],
"undetected_urls": [[
"http://example.co.in/example", "daed97b2c77f0f72c9e4ee45506e3e1bc4e34d7b8846246877a02779bb85dd5b", 0, 70, "2019-02-04 14:58:23"
]],
"response_code": 1,
"Webutation domain info": {
"Safety score": 100,
"Adult content": "no",
"Verdict": "safe"
},
"subdomains": [
"www.example.co.in"
],
"Websense ThreatSeeker category": "search engines and portals",
"detected_urls": [{
"url": "http://example.co.in/urlURL",
"positives": 2,
"total": 66,
"scan_date": "2018-01-13 00:38:35"
}],
"Alexa rank": 100,
"undetected_communicating_samples": [{
"date": "2018-11-17 03:19:28",
"positives": 0,
"sha256": "e2a6ab7d594490c62bd3bb508dc38d7191ad48977da4d8dcce08dcb8af0070e9",
"total": 68
}],
"pcaps": [
"97e4a17068ce3ed01ed1c25c3d263fc0145e5ecc53b7db6f2ba84496b53d4a65"
]},
"Entity": "example.co.in"
}
]
指令碼結果
下表列出使用「取得網域報表」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
掃描雜湊
如果風險分數符合特定門檻,您可以使用「掃描雜湊」動作,透過 VirusTotal 掃描檔案雜湊、將實體標示為可疑,並顯示深入分析。
這項動作會在 Google SecOps Filehash
實體上執行。
動作輸入內容
「掃描雜湊」動作需要下列參數:
參數 | 說明 |
---|---|
Threshold |
必填。 將偵測結果標示為可疑的門檻。 如果惡意引擎偵測結果達到或超過設定的門檻,動作會將實體標示為可疑。 |
Rescan after days |
選填。 在最近一次掃描實體後,重新掃描實體的天數。 |
動作輸出內容
「掃描雜湊」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
實體擴充資料表 | 可用 |
深入分析 | 可用 |
JSON 結果 | 可用 |
指令碼結果 | 可用 |
實體擴充資料表
「掃描雜湊」動作可擴充下列欄位:
補充資料欄位名稱 | 適用邏輯 |
---|---|
permalink |
如果 JSON 結果中存在該值,則傳回該值。 |
sha1 |
如果 JSON 結果中存在該值,則傳回該值。 |
resource |
如果 JSON 結果中存在該值,則傳回該值。 |
Scan date |
如果 JSON 結果中存在該值,則傳回該值。 |
Scan ID |
如果 JSON 結果中存在該值,則傳回該值。 |
verbose_msg |
如果 JSON 結果中存在該值,則傳回該值。 |
total |
如果 JSON 結果中存在該值,則傳回該值。 |
positives |
如果 JSON 結果中存在該值,則傳回該值。 |
sha256 |
如果 JSON 結果中存在該值,則傳回該值。 |
md5 |
如果 JSON 結果中存在該值,則傳回該值。 |
Detecting Engines |
如果 JSON 結果中存在該值,則傳回該值。 |
深入分析
「掃描雜湊」動作可傳回下列洞察資料:
嚴重性 | 說明 |
---|---|
Warn |
這項動作會建立警告深入分析,通知您經過擴充的雜湊值是否為惡意。 只有在偵測到的引擎數量等於或超過掃描前設定的最低可疑門檻時,這項動作才會建立洞察資料。 |
JSON 結果
以下範例顯示使用「掃描雜湊」動作時收到的 JSON 結果輸出內容:
[
{
"EntityResult": {
"permalink": "https://www.virustotal.com/file/HASH/analysis/ANALYSIS_ID/",
"sha1": "3395856ce81f2b7382dee72602f798b642f14140",
"resource": "HASH",
"response_code": 1,
"scan_date": "2019-02-05 15:41:52",
"scan_id": "HASH-ANALYSIS_ID",
"verbose_msg": "Scan finished, information embedded",
"total": 60,
"positives": 54,
"sha256": "HASH",
"md5": "44d88612fea8a8f36de82e1278abb02f",
"scans": {
"Bkav": {
"detected": true,
"version": "192.0.2.1",
"result": "Trojan",
"update": "20190201"
},
"MicroWorld-eScan": {
"detected": true,
"version": "14.0.297.0",
"result": "Test-File",
"update": "20190205"
}}},
"Entity": "HASH"
}
]
指令碼結果
下表列出使用「掃描雜湊」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_risky |
True 或False |
掃描 IP
使用「掃描 IP」動作,收集 VirusTotal 最近在特定 IP 上發現的資訊。
這項動作會在 Google SecOps IP Address
實體上執行。
動作輸入內容
「掃描 IP」動作需要下列參數:
參數 | 說明 |
---|---|
Threshold |
選填。 將 IP 位址標示為可疑的門檻。 如果惡意引擎偵測結果達到或超過設定的門檻,這項動作會將 IP 位址標示為可疑。 預設值為 |
動作輸出內容
「掃描 IP」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
實體擴充資料表 | 可用 |
深入分析 | 可用 |
JSON 結果 | 可用 |
指令碼結果 | 可用 |
實體擴充資料表
「掃描 IP」動作可擴充下列欄位:
補充資料欄位名稱 | 適用邏輯 |
---|---|
Country |
如果 JSON 結果中存在該值,則傳回該值。 |
Related Domains |
如果 JSON 結果中存在該值,則傳回該值。 |
Last Scan Date |
如果 JSON 結果中存在該值,則傳回該值。 |
verbose_msg |
如果 JSON 結果中存在該值,則傳回該值。 |
Resolutions |
如果 JSON 結果中存在該值,則傳回該值。 |
深入分析
「掃描 IP」動作可傳回下列洞察資料:
嚴重性 | 說明 |
---|---|
Warn |
這項動作會建立警告洞察,通知您經過擴充的 IP 位址具有惡意狀態。 只有在偵測到的引擎數量等於或超過掃描前設定的最低可疑門檻時,這項動作才會建立洞察資料。 |
洞察名稱 | 內文 |
---|---|
Entity Insight |
|
JSON 結果
以下範例顯示使用「掃描 IP」動作時收到的 JSON 結果輸出內容:
[
{
"EntityResult": {
"asn": 4436,
"undetected_urls": [[
"http://example.com", "2ed06796f95e7c1xxxxxbd68d81754acf535c999e901bfe2cf9c45612396f66", 0, 66, "2022-11-23 06:51:49"
]],
"undetected_downloaded_samples": [{
"date": "2018-07-09 07:53:30",
"positives": 0,
"sha256": "6a0bf66ddc73d7e64eb2ff0dd3512c5378c0c63c2ad4e13c0e1429fe",
"total": 60
}],
"country": "country",
"response_code": 1,
"as_owner": "Example, Inc.",
"verbose_msg": "IP address in dataset",
"detected_downloaded_samples": [{
"date": "2023-05-20 08:38:00",
"positives": 6,
"sha256": "9cf5c07c99c3342d83b241c25850da0bf231ee150cb962cab1e8399cb",
"total": 57
}],
"resolutions": [{
"last_resolved": "2023-05-13 00:00:00",
"hostname": "40515350444dff68-2f7735d5ad283fa41a203a082d9a8f25.example.com"
}],
"detected_urls": [{
"url": "http://example.com",
"positives": 2,
"total": 67,
"scan_date": "2023-05-20 07:16:45"
}]},
"Entity": "192.0.2.1"
}
]
指令碼結果
下表列出使用「掃描 IP」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
掃描網址
使用「掃描網址」動作,透過 VirusTotal 掃描網址。
這項動作會在 Google SecOps URL
實體上執行。
動作輸入內容
「掃描網址」動作需要下列參數:
參數 | 說明 |
---|---|
Threshold |
必填。 將偵測結果標示為可疑的門檻。 如果惡意引擎偵測結果達到或超過設定的門檻,動作會將實體標示為可疑。 |
Rescan after days |
選填。 在最近一次掃描實體後,重新掃描實體的天數。 |
動作輸出內容
「掃描網址」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
實體擴充資料表 | 可用 |
深入分析 | 可用 |
JSON 結果 | 可用 |
指令碼結果 | 可用 |
實體擴充資料表
「掃描網址」動作可擴充下列欄位:
補充資料欄位名稱 | 適用邏輯 |
---|---|
Scan date |
如果 JSON 結果中存在該值,則傳回該值。 |
Scan ID |
如果 JSON 結果中存在該值,則傳回該值。 |
risk_score |
如果 JSON 結果中存在該值,則傳回該值。 |
Total |
如果 JSON 結果中存在該值,則傳回該值。 |
Online Link |
如果 JSON 結果中存在該值,則傳回該值。 |
Scanned Url |
如果 JSON 結果中存在該值,則傳回該值。 |
resource |
如果 JSON 結果中存在該值,則傳回該值。 |
Detecting Engines |
如果 JSON 結果中存在該值,則傳回該值。 |
Risk Score |
如果 JSON 結果中存在該值,則傳回該值。 |
Last Scan Date |
如果 JSON 結果中存在該值,則傳回該值。 |
verbose_msg |
如果 JSON 結果中存在該值,則傳回該值。 |
File Scan ID |
如果 JSON 結果中存在該值,則傳回該值。 |
深入分析
「掃描網址」動作可傳回下列洞察資料:
嚴重性 | 說明 |
---|---|
Warn |
這項動作會建立警告洞察資料,通知您經過擴充的網址含有惡意內容。 只有在偵測到的引擎數量等於或超過掃描前設定的最低可疑門檻時,這項動作才會建立洞察資料。 |
JSON 結果
下列範例顯示使用「掃描網址」動作時收到的 JSON 結果輸出內容:
[
{
"EntityResult": {
"permalink": "https://www.virustotal.com/url/URL_HASH/analysis/ANALYSIS_ID/",
"resource": "http://example.php",
"url": "http://example.php",
"response_code": 1,
"scan_date": "2019-02-04 05:28:54",
"scan_id": "URL_HASH-ANALYSIS_ID",
"verbose_msg": "Scan finished, scan information embedded in this object",
"filescan_id": null,
"positives": 5,
"total": 67,
"scans": {
"CLEAN MX": {
"detected": false,
"result": "clean site"
},
"DNS8": {
"detected": false,
"result": "clean site"
}}},
"Entity": "http://example.php"
}
]
指令碼結果
下表列出使用「掃描網址」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_risky |
True 或False |
上傳及掃描檔案
使用「上傳及掃描檔案」動作,即可透過 VirusTotal 上傳及掃描檔案。
這項操作會對所有 Google SecOps 實體執行。
動作輸入內容
「上傳及掃描檔案」動作需要下列參數:
參數 | 說明 |
---|---|
Threshold |
必填。 VirusTotal 掃描器偵測到檔案有風險並觸發洞察資訊的最低次數。 預設值為 |
File Paths |
必填。 以半形逗號分隔的路徑清單,用於上傳及掃描。 |
Linux Server Address |
選填。 檔案所在的遠端 Linux 伺服器位址,例如 |
Linux User |
選填。 用於在遠端 Linux 伺服器上進行驗證的使用者名稱。 |
Linux Password |
選填。 用於在遠端 Linux 伺服器進行驗證的密碼。 |
動作輸出內容
「上傳及掃描檔案」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
實體擴充資料表 | 可用 |
深入分析 | 可用 |
JSON 結果 | 可用 |
指令碼結果 | 可用 |
實體擴充資料表
「上傳及掃描檔案」動作可填入下列欄位:
補充資料欄位名稱 | 適用邏輯 |
---|---|
resource |
如果 JSON 結果中存在該值,則傳回該值。 |
Scan date |
如果 JSON 結果中存在該值,則傳回該值。 |
Scan ID |
如果 JSON 結果中存在該值,則傳回該值。 |
permalink |
如果 JSON 結果中存在該值,則傳回該值。 |
Total |
如果 JSON 結果中存在該值,則傳回該值。 |
Md5 |
如果 JSON 結果中存在該值,則傳回該值。 |
Sha1 |
如果 JSON 結果中存在該值,則傳回該值。 |
Sha256 |
如果 JSON 結果中存在該值,則傳回該值。 |
positives |
如果 JSON 結果中存在該值,則傳回該值。 |
total |
如果 JSON 結果中存在該值,則傳回該值。 |
Detecting Engines |
如果 JSON 結果中存在該值,則傳回該值。 |
verbose_msg |
如果 JSON 結果中存在該值,則傳回該值。 |
深入分析
「上傳及掃描檔案」動作可傳回下列洞察資訊:
嚴重性 | 說明 |
---|---|
Warn |
這項動作會建立警告深入分析,通知經過擴增的檔案含有惡意內容。 只有在偵測到的引擎數量等於或超過掃描前設定的最低可疑門檻時,這項動作才會建立洞察資料。 |
JSON 結果
以下範例顯示使用「上傳及掃描檔案」動作時收到的 JSON 結果輸出內容:
{
"file_path": {
"scan_id": "FILE_ID-ANALYSIS_ID",
"sha1": "ec44b2af88e602e3981db0b218ecb5d59dc0dfec",
"resource": "FILE_ID-ANALYSIS_ID",
"response_code": 1,
"scan_date": "2019-02-05 15:55:50",
"permalink": "https://www.virustotal.com/file/FILE_ID/analysis/ANALYSIS_ID/",
"verbose_msg": "Scan finished, information embedded",
"total": 58,
"positives": 0,
"sha256": "FILE_ID",
"md5": "848d57fbd8e29afa08bd3f58dd30f902",
"scans": {
"Bkav": {
"detected": false,
"version": "192.0.2.1",
"result": null,
"update": "20190201"
},
"MicroWorld-eScan": {
"detected": false,
"version": "14.0.297.0",
"result": null,
"update": "20190205"
}
}
}
}
指令碼結果
下表列出使用「上傳及掃描檔案」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_risky |
True 或False |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。