將 APIVoid 與 Google SecOps 整合
本文說明如何將 APIVoid 與 Google Security Operations (Google SecOps) 整合。
整合版本:12.0
事前準備
在 Google SecOps 中設定 APIVoid 整合功能 (適用於第 2 版) 之前,請確認您具備下列條件:
APIVoid v2 帳戶:有效帳戶,可存取 v2 API 服務。
APIVoid v2 API 金鑰:從 APIVoid 使用者資訊主頁專為 v2 API 產生的新 API 金鑰。
更新的 API 端點:熟悉您打算使用的特定 APIVoid 服務 (例如 IP 信譽 API、網域信譽 API) 的更新版 v2 API 端點網址。
產生 APIVoid v2 API 金鑰
如要產生 APIVoid v2 API 金鑰,請完成下列步驟:
登入 APIVoid 使用者資訊主頁。
前往「API 金鑰」部分。(位置可能因資訊主頁更新而異)。
產生新的 API 金鑰。請立即複製並妥善儲存金鑰。這組代碼可能只會顯示一次。
網路
函式 | 預設通訊埠 | 方向 | 通訊協定 |
---|---|---|---|
API | 多個值 | 傳出 | apikey |
整合參數
請使用下列參數設定整合:
參數名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
---|---|---|---|---|
執行個體名稱 | 字串 | 不適用 | 否 | 您要設定整合的執行個體名稱。 |
說明 | 字串 | 不適用 | 否 | 執行個體的說明。 |
API 根目錄 | 字串 | https://endpoint.apivoid.com | 是 | APIVoid 執行個體的位址。 |
API 金鑰 | 密碼 | 不適用 | 是 | 在 APIVoid 控制台中產生的 API 金鑰。 |
驗證 SSL | 核取方塊 | 已取消勾選 | 否 | 如果您的 APIVoid 連線需要 SSL 驗證,請勾選這個核取方塊。 |
遠端執行 | 核取方塊 | 已取消勾選 | 否 | 勾選這個欄位,即可遠端執行設定的整合項目。勾選後,系統會顯示選取遠端使用者 (服務專員) 的選項。 |
如需在 Google SecOps 中設定整合功能的操作說明,請參閱「設定整合功能」。
如有需要,您可以在稍後階段進行變更。設定整合執行個體後,您就可以在劇本中使用該執行個體。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。
動作
如要進一步瞭解動作,請參閱「 從工作台回覆待處理動作」和「執行手動動作」。
取得網域信譽
如果網域遭到熱門且值得信賴的網域封鎖清單服務 (例如 URLVir、ThreatLog、OpenPhish、Spam404、PhishTank、ZeuS Tracker 等) 排除,系統會檢查網域信譽。多個網域封鎖清單服務會找出可能涉及惡意軟體散布、網路釣魚事件和虛假網路商店的惡意和詐欺網站。
參數
參數名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
---|---|---|---|---|
門檻 | 字串 | 0 | 是 | 網域風險門檻。門檻必須是數值。範例:3 |
建立洞察資料 | 核取方塊 | 已勾選 | 是 | 指定動作是否應建立洞察資料。 |
用途
網域信譽 API 的其中一個用途是檢查用戶端的網站是否遭到排除、檢查使用者在應用程式中提交的網址,或是識別可能有害和不安全的網站。
執行日期
這項動作會對下列實體執行:
- 主機名稱
- 網址
動作結果
實體充實
如果負面引擎數量等於或高於指定門檻,請將實體標示為可疑。
補充資料欄位名稱 | 邏輯 - 應用時機 |
---|---|
alexa_top_100k | 如果 JSON 結果中存在該值,則傳回該值 |
domain_length | 如果 JSON 結果中存在該值,則傳回該值 |
alexa_top_10k | 如果 JSON 結果中存在該值,則傳回該值 |
黑名單 | 如果 JSON 結果中存在該值,則傳回該值 |
伺服器 | 如果 JSON 結果中存在該值,則傳回該值 |
主機 | 如果 JSON 結果中存在該值,則傳回該值 |
most_abused_tld | 如果 JSON 結果中存在該值,則傳回該值 |
alexa_top_250k | 如果 JSON 結果中存在該值,則傳回該值 |
深入分析
嚴重性 | 說明 |
---|---|
警告 | 系統會建立警示洞察資訊,通知您經過擴充的實體是否為惡意實體。當偵測到的引擎數量等於或超過掃描前設定的最低可疑門檻時,系統就會建立該檔案。 |
指令碼結果
指令碼結果名稱 | 值選項 | 範例 |
---|---|---|
成功 | True/False | success:False |
JSON 結果
[
{
"EntityResult": {
"alexa_top_100k": false,
"domain_length": 17,
"alexa_top_10k": false,
"blacklists": {
"scantime": "0.07",
"detection_rate": "0%",
"detections": 0,
"engines_count": 29,
"engines": [{
"engine": "ThreatLog",
"detected": false,
"confidence": "high",
"reference": "http://www.threatlog.com/"
}, {
"engine": "Threat Sourcing",
"detected": false,
"confidence": "high",
"reference": "https://www.threatsourcing.com/"
}, {
"engine": "URLVir",
"detected": false,
"confidence": "high",
"reference": "http://www.urlvir.com/"
}]},
"server": {
"region_name": null,
"reverse_dns": " ",
"ip": " ",
"isp": null,
"continent_code": null,
"latitude": null,
"city_name": null,
"longitude": null,
"country_code": null,
"country_name": null,
"continent_name": null
},
"host": "example.com",
"most_abused_tld": false,
"alexa_top_250k": false
},
"Entity": "example.com"
}, {
"EntityResult": {
"alexa_top_100k": false,
"domain_length": 9,
"alexa_top_10k": false,
"blacklists": {
"scantime": "0.03",
"detection_rate": "0%",
"detections": 0,
"engines_count": 29,
"engines": [{
"engine": "ThreatLog",
"detected": false,
"confidence": "high",
"reference": "http://www.threatlog.com/"
}, {
"engine": "Threat Sourcing",
"detected": false,
"confidence": "high",
"reference": "https://www.threatsourcing.com/"
}, {
"engine": "URLVir",
"detected": false,
"confidence": "high",
"reference": "http://www.urlvir.com/"
}]},
"server": {
"region_name": null,
"reverse_dns": " ",
"ip": " ",
"isp": null,
"continent_code": null,
"latitude": null,
"city_name": null,
"longitude": null,
"country_code": null,
"country_name": null,
"continent_name": null
},
"host": "192.0.2.1",
"most_abused_tld": false,
"alexa_top_250k": false
},
"Entity": "192.0.2.1"
}
]
取得 IP 信譽
IP Reputation API 會偵測可能用於垃圾內容、網站攻擊或詐欺活動的惡意 IP 位址。
參數
參數 | 類型 | 預設值 | 為必填項目 | 說明 |
---|---|---|---|---|
門檻 | 字串 | 不適用 | 是 | IP 風險門檻。門檻必須是數值。示例:3. |
建立洞察資料 | 核取方塊 | 已勾選 | 是 | 指定動作是否應建立洞察資料。 |
執行日期
這項操作會對 IP 位址實體執行。
動作結果
實體充實
如果負面引擎數量等於或高於指定門檻,請將實體標示為可疑。
補充資料欄位名稱 | 邏輯 - 應用時機 |
---|---|
資訊 | 如果 JSON 結果中存在該值,則傳回該值 |
黑名單 | 如果 JSON 結果中存在該值,則傳回該值 |
匿名性 | 如果 JSON 結果中存在該值,則傳回該值 |
ip | 如果 JSON 結果中存在該值,則傳回該值 |
深入分析
嚴重性 | 說明 |
---|---|
警告 | 系統會建立警告深入分析,通知您經過擴充的雜湊值是否為惡意。當偵測到的引擎數量等於或超過掃描前設定的最低可疑門檻時,系統就會建立洞察資料。 |
指令碼結果
指令碼結果名稱 | 值選項 | 範例 |
---|---|---|
成功 | True/False | success:False |
JSON 結果
[
{
"EntityResult": {
"information": {
"is_proxy": false,
"is_vpn": false,
"region_name": "Zhejiang",
"is_webproxy": false,
"latitude": 28.680280685424805,
"isp": "ChinaNet Zhejiang Province Network",
"continent_code": "AS",
"is_tor": false,
"reverse_dns": " ",
"detections": 18,
"engines_count": 76,
"longitude": 121.44277954101562,
"city_name": "Jiaojiang",
"country_name": "China",
"continent_name": "Asia",
"detection_rate": "24%",
"country_code": "CN",
"is_hosting": false
},
"blacklists": {
"scantime": "0.57",
"detection_rate":
"24%",
"detections": 18,
"engines_count": 76,
"engines": [{
"engine": "PlonkatronixBL",
"detected": false,
"reference": "http://bl.plonkatronix.com/"
}, {
"engine": "Engine",
"detected": true,
"reference": "https://home.nuug.no/~engine/"
}, {"engine": "Malc0de",
"detected": false,
"reference": "http://malc0de.com/database/index.php"
}]},
"anonymity": {
"is_tor": false,
"is_proxy": false,
"is_vpn": false,
"is_webproxy": false,
"is_hosting": false
},
"ip": "192.0.2.1"
},
"Entity": "192.0.2.1"
}
]
取得網址信譽
取得網址的安全信譽和風險分數。
參數
參數名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
---|---|---|---|---|
門檻 | 整數 | 不適用 | 是 | 網址風險門檻。門檻必須是數值。範例:3 |
用途
分析師可以擷取網址信譽,做法與擷取網域或 IP 位址信譽類似。
執行日期
這項動作會對網址實體執行。
動作結果
實體充實
如果負面引擎的數量等於或高於指定門檻,請將實體標示為可疑。if data.get("report", {}).get("risk_score", {}).get("result") > threshold
補充資料欄位名稱 | 邏輯 - 應用時機 |
---|---|
domain_blacklist | 如果 JSON 結果中存在該值,則傳回該值 |
html_forms | 如果 JSON 結果中存在該值,則傳回該值 |
server_details | 如果 JSON 結果中存在該值,則傳回該值 |
response_headers | 如果 JSON 結果中存在該值,則傳回該值 |
重新導向 | 如果 JSON 結果中存在該值,則傳回該值 |
file_type | 如果 JSON 結果中存在該值,則傳回該值 |
risk_score | 如果 JSON 結果中存在該值,則傳回該值 |
security_checks | 如果 JSON 結果中存在該值,則傳回該值 |
geo_location | 如果 JSON 結果中存在該值,則傳回該值 |
url_parts | 如果 JSON 結果中存在該值,則傳回該值 |
site_category | 如果 JSON 結果中存在該值,則傳回該值 |
web_page | 如果 JSON 結果中存在該值,則傳回該值 |
dns_records | 如果 JSON 結果中存在該值,則傳回該值 |
指令碼結果
指令碼結果名稱 | 值選項 | 範例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 結果
[
{
"EntityResult": {
"domain_blacklist": {
"detections": 0,
"engines": [{
"detected": false,
"name": "SpamhausDBL", "reference": "https://www.spamhaus.org/lookup/"
}, {
"detected": false,
"name": "ThreatLog",
"reference": "http://www.threatlog.com/"
}, {
"detected": false,
"name": "OpenPhish",
"reference": "http://www.openphish.com/"
}, {
"detected": false,
"name": "PhishTank",
"reference": "http://www.phishtank.com/"
}, {
"detected": false,
"name": "Phishing.Database",
"reference": "https://github.com/mitchellkrogza/Phishing.Database"
}, {
"detected": false,
"name": "PhishStats",
"reference": "https://phishstats.info/"
}, {
"detected": false,
"name": "URLVir",
"reference": "http://www.urlvir.com/"
}, {
"detected": false,
"name": "URLhaus",
"reference": "https://urlhaus.abuse.ch/"
}, {
"detected": false,
"name": "RPiList Not Serious",
"reference": "https://github.com/RPiList/specials"
}, {
"detected": false,
"name": "precisionsec",
"reference": "https://precisionsec.com/"
}, {
"detected": false,
"name": "AntiSocial Blacklist",
"reference": "https://theantisocialengineer.com/"
}, {
"detected": false,
"name": "PhishFeed",
"reference": "https://phishfeed.com/"
}, {
"detected": false,
"name": "Spam404",
"reference": "https://www.spam404.com/"
}]},
"html_forms": {
"number_of_total_input_fields": 0,
"email_field_present": false,
"number_of_total_forms": 0,
"password_field_present": false,
"two_text_inputs_in_a_form": false,
"credit_card_field_present": false
},
"server_details": {
"continent_name": "Asia",
"hostname": "example.com",
"region_name": "Seoul-teukbyeolsi",
"ip": "192.0.2.141",
"isp": "Example Corporation",
"continent_code": "AS",
"country_name": "Korea (Republic of)",
"city_name": "Seoul",
"longitude": 126.97782897949219,
"country_code": "KR",
"latitude": 37.568260192871094
},
"response_headers": {
"status": "HTTP/1.1 404 Not Found",
"content-length": "177",
"code": 404,
"server": "nginx/1.4.6 (Ubuntu)",
"connection": "keep-alive",
"date": "Wed, 15 Jul 2020 08:21:54 GMT",
"content-type": "text/html"
},
"redirection": {
"url": null,
"found": false,
"external": false
},
"file_type": {
"headers": "HTML",
"extension": "HTML",
"signature": " "
},
"risk_score": {
"result": 10
},
"security_checks": {
"is_suspended_page": false,
"is_defaced_heuristic": false,
"is_windows_exe_file": false,
"is_credit_card_field": false,
"is_windows_exe_file_on_free_hosting": false,
"is_masked_linux_elf_file": false,
"is_exe_on_directory_listing": false,
"is_php_on_directory_listing": false,
"is_masked_windows_exe_file": false,
"is_sinkholed_domain": false,
"is_robots_noindex": false,
"is_windows_exe_file_on_free_dynamic_dns": false,
"is_doc_on_directory_listing": false,
"is_non_standard_port": false,
"is_linux_elf_file_on_free_dynamic_dns": false,
"is_suspicious_domain": false, "is_suspicious_url_pattern": false,
"is_china_country": false,
"is_risky_geo_location": false,
"is_pdf_on_directory_listing": false,
"is_valid_https": false,
"is_external_redirect": false, "is_windows_exe_file_on_ipv4": false,
"is_phishing_heuristic": false,
"is_linux_elf_file_on_ipv4": false,
"is_email_address_on_url_query": false,
"is_uncommon_clickable_url": false,
"is_most_abused_tld": false,
"is_domain_blacklisted": false,
"is_host_an_ipv4": false,
"is_linux_elf_file_on_free_hosting": false,
"is_zip_on_directory_listing": false,
"is_password_field": false,
"is_linux_elf_file": false,
"is_empty_page_title": false,
"is_directory_listing": false,
"is_masked_file": false,
"is_suspicious_file_extension": false,
"is_suspicious_content": false
},
"geo_location": {
"countries": ["KR"]
},
"url_parts": {
"host_nowww": "example.com",
"host": "www.example.com",
"path": "/dynamic/example.html",
"query": null,
"scheme": "http",
"port": 80},
"site_category": {
"is_vpn_provider": false,
"is_url_shortener": false,
"is_anonymizer": false,
"is_torrent": false,
"is_free_dynamic_dns": false,
"is_free_hosting": false
},
"web_page": {
"keywords": "",
"description": "",
"title": "404 Not Found"
},
"dns_records": {
"ns": {
"records": [{
"country_name": "Korea (Republic of)",
"ip": "192.0.2.95",
"isp": "Example Corporation",
"target": "example.com",
"country_code": "KR"
}, {
"country_name": "Korea (Republic of)",
"ip": "192.0.2.26",
"isp": "LX",
"target": "example.com",
"country_code": "KR"
}]},
"mx": {
"records": []
}}},
"Entity": "www.example.com:80/dynamic/example.html"
}
]
案件總覽
結果類型 | 說明 | 類型 |
---|---|---|
輸出訊息* |
|
一般 |
CSV 案件總覽 | 如有可用資料,請建立新的實體 CSV 表格:
|
一般 |
擴充 | 如有可用資料,請新增下列項目做為實體擴充功能 (別忘了加上「APIVoid」前置字元):
|
實體 |
取得螢幕截圖
擷取任何網站或網址的高畫質螢幕截圖。
參數
不適用
用途
分析師可以 PNG 或 JPG 圖片格式,擷取任何網站或網址的高畫質螢幕截圖。
執行日期
這項動作會對使用者實體執行。
動作結果
實體充實
如果負面引擎的數量等於或高於指定門檻,則將實體標示為可疑。is_suspicious:如果 data.get("score") > threshold
補充資料欄位名稱 | 邏輯 - 應用時機 |
---|---|
網域 | 如果 JSON 結果中存在該值,則傳回該值 |
should_block | 如果 JSON 結果中存在該值,則傳回該值 |
分數 | 如果 JSON 結果中存在該值,則傳回該值 |
可拋棄式 | 如果 JSON 結果中存在該值,則傳回該值 |
has_mx_records | 如果 JSON 結果中存在該值,則傳回該值 |
has_spf_records | 如果 JSON 結果中存在該值,則傳回該值 |
指令碼結果
指令碼結果名稱 | 值選項 | 範例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 結果
[
{
"EntityResult": {
"domain": "example.com",
"valid_tld": true,
"email": "user@example.co",
"role_address": false,
"should_block": false,
"risky_tld": false,
"dirty_words_username": false,
"suspicious_domain": false,
"score": 100,
"educational_domain": false,
"dirty_words_domain": false,
"did_you_mean": " ",
"username": "user",
"valid_format": true,
"is_spoofable ": false,
"disposable": false,
"government_domain": false,
"has_spf_records": true,
"domain_popular": false,
"has_mx_records": true,
"china_free_email": false,
"free_email": false,
"russian_free_email": false,
"police_domain": false,
"dmarc_enforced": false,
"suspicious_username": false
},
"Entity": "USER@EXAMPLE.COM"
}
]
案件總覽
結果類型 | 說明 | 類型 |
---|---|---|
輸出訊息* |
|
一般 |
附件 | 如有可用資料,請建立新的檔案物件:
|
一般 |
乒乓
測試連線。
參數
不適用
執行日期
這項操作會對所有實體執行。
動作結果
指令碼結果
指令碼結果名稱 | 值選項 | 範例 |
---|---|---|
成功 | True/False | success:False |
驗證電子郵件
檢查電子郵件是否為拋棄式地址、是否有 MX 記錄等。
參數
參數名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
---|---|---|---|---|
門檻 | 整數 | 不適用 | 是 | 電子郵件風險門檻。門檻必須是數值。 範例:3 |
用途
分析師可以檢查電子郵件是否為拋棄式,並取得 MX 記錄等資訊。
執行日期
這項動作會對使用者實體執行。
動作結果
實體充實
如果負面引擎的數量等於或高於指定門檻,則將實體標示為可疑。is_suspicious:如果 data.get("score") > threshold
補充資料欄位名稱 | 邏輯 - 應用時機 |
---|---|
網域 | 如果 JSON 結果中存在該值,則傳回該值 |
should_block | 如果 JSON 結果中存在該值,則傳回該值 |
分數 | 如果 JSON 結果中存在該值,則傳回該值 |
可拋棄式 | 如果 JSON 結果中存在該值,則傳回該值 |
has_mx_records | 如果 JSON 結果中存在該值,則傳回該值 |
has_spf_records | 如果 JSON 結果中存在該值,則傳回該值 |
指令碼結果
指令碼結果名稱 | 值選項 | 範例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 結果
[
{
"EntityResult": {
"domain": "example.com",
"valid_tld": true,
"email": "user@example.com",
"role_address": false,
"should_block": false,
"risky_tld": false,
"dirty_words_username": false,
"suspicious_domain": false,
"score": 100,
"educational_domain": false,
"dirty_words_domain": false,
"did_you_mean": " ",
"username": "user",
"valid_format": true,
"is_spoofable ": false,
"disposable": false,
"government_domain": false,
"has_spf_records": true,
"domain_popular": false,
"has_mx_records": true,
"china_free_email": false,
"free_email": false,
"russian_free_email": false,
"police_domain": false,
"dmarc_enforced": false,
"suspicious_username": false
},
"Entity": "USER@EXAMPLE.COm"
}
]
案件總覽
結果類型 | 說明 | 類型 |
---|---|---|
輸出訊息* |
|
一般 |
CSV 案件總覽 | CSV 內容:實體資料(如下方範例) | 一般 |
擴充 | 如有可用資料,請新增下列項目做為實體擴充功能 (別忘了加上「APIVoid」前置字元):
|
實體 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。