將 VirusTotal 與 Google SecOps 整合

本文說明如何將 VirusTotal 與 Google Security Operations (Google SecOps) 整合。

整合版本:39.0

這項整合功能使用 VirusTotal API v2。

這項整合功能使用一或多個開放原始碼元件。 您可以從 Cloud Storage bucket 下載這個整合的完整原始碼壓縮副本。

事前準備

如要使用 VirusTotal 整合功能,請設定 API 金鑰。

如要設定 API 金鑰,請完成下列步驟:

  1. 登入 VirusTotal 入口網站。
  2. 在使用者名稱下方,按一下「API 金鑰」
  3. 複製產生的 API 金鑰,以便在整合參數中使用。
  4. 按一下 [儲存]

整合參數

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 TrueFalse

掃描雜湊

如果風險分數符合特定門檻,您可以使用「掃描雜湊」動作,透過 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 TrueFalse

掃描 IP

使用「掃描 IP」動作,收集 VirusTotal 最近在特定 IP 上發現的資訊。

這項動作會在 Google SecOps IP Address 實體上執行。

動作輸入內容

「掃描 IP」動作需要下列參數:

參數 說明
Threshold

選填。

將 IP 位址標示為可疑的門檻。

如果惡意引擎偵測結果達到或超過設定的門檻,這項動作會將 IP 位址標示為可疑。

預設值為 25

動作輸出內容

「掃描 IP」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件訊息牆表格 無法使用
實體擴充資料表 可用
深入分析 可用
JSON 結果 可用
指令碼結果 可用
實體擴充資料表

「掃描 IP」動作可擴充下列欄位:

補充資料欄位名稱 適用邏輯
Country 如果 JSON 結果中存在該值,則傳回該值。
Related Domains 如果 JSON 結果中存在該值,則傳回該值。
Last Scan Date 如果 JSON 結果中存在該值,則傳回該值。
verbose_msg 如果 JSON 結果中存在該值,則傳回該值。
Resolutions 如果 JSON 結果中存在該值,則傳回該值。
深入分析

「掃描 IP」動作可傳回下列洞察資料:

嚴重性 說明
Warn

這項動作會建立警告洞察,通知您經過擴充的 IP 位址具有惡意狀態。

只有在偵測到的引擎數量等於或超過掃描前設定的最低可疑門檻時,這項動作才會建立洞察資料。

洞察名稱 內文
Entity Insight
  • 國家/地區:country
  • 惡意參照網址範例:len(detected_referrer_samples)
  • 惡意下載的樣本: len(detected_downloaded_samples)
  • 惡意通訊範例: len(detected_communicating_samples)
  • 惡意網址:len(detected_urls)
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 TrueFalse

掃描網址

使用「掃描網址」動作,透過 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 TrueFalse

上傳及掃描檔案

使用「上傳及掃描檔案」動作,即可透過 VirusTotal 上傳及掃描檔案。

這項操作會對所有 Google SecOps 實體執行。

動作輸入內容

「上傳及掃描檔案」動作需要下列參數:

參數 說明
Threshold

必填。

VirusTotal 掃描器偵測到檔案有風險並觸發洞察資訊的最低次數。

預設值為 3

File Paths

必填。

以半形逗號分隔的路徑清單,用於上傳及掃描。

Linux Server Address

選填。

檔案所在的遠端 Linux 伺服器位址,例如 192.0.2.1

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 TrueFalse

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