將 Nmap 與 Google SecOps 整合
本文說明如何將 Nmap 與 Google Security Operations 整合。
整合版本:1.0
整合參數
Nmap 整合不需要任何參數。
動作
如要進一步瞭解動作,請參閱「 從工作台回覆待處理動作」和「執行手動動作」。
乒乓
使用「Ping」動作測試與 Nmap 的連線。
這項操作不會在 Google SecOps 實體上執行。
動作輸入內容
無
動作輸出內容
「Ping」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 無法使用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
輸出訊息
「Ping」動作可能會傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Failed to connect to the Nmap server!
Error is ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「Ping」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
掃描實體
使用「掃描實體」動作,透過 Nmap 掃描 Google SecOps 實體。
這項動作會在下列 Google SecOps 實體上執行:
IP Address
Hostname
Domain
動作輸入內容
「掃描實體」動作需要下列參數:
參數 | 說明 |
---|---|
IP Address |
選填。 要掃描的 IP 位址。 這些 IP 位址會與實體一併處理。 |
Hostname |
選填。 要掃描的主機名稱。 這些主機名稱會與實體一併處理。 |
Options |
必填。 指定 Nmap 掃描參數。 預設值為 這些選項會啟動 TCP 連線掃描 ( |
動作輸出內容
「掃描實體」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 可用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
實體擴充資料表
「掃描實體」動作支援下列實體擴充功能:
補充資料欄位 | 來源 (JSON 金鑰) | 邏輯 |
---|---|---|
NMAP_state |
status_state |
(如有) |
NMAP_related_addresses_{addrtype} |
請為每個 addrtype 提供以逗號分隔的 {addr} 值清單。 |
(如有) |
NMAP_related_hostnames |
hostnames.name |
(如有) |
NMAP_port_{ports.portid} |
這個項目會為偵測到的每個通訊埠動態建立欄位,顯示通訊埠的狀態 (例如開啟或關閉) 和執行的服務。 |
(如有) |
NMAP_os_matches |
「{os.osmatches.name} 」的 CSV 檔案 |
(如有) |
NMAP_last_boot |
{uptime.lastboot} |
(如有) |
JSON 結果
以下範例顯示使用「掃描實體」動作時收到的 JSON 結果輸出內容:
[
{
"Entity": "50.116.62.192",
"EntityResult": {
"status": {
"state": "up",
"reason": "syn-ack",
"reason_ttl": "0"
},
"addresses": [
{
"addr": "50.116.62.192",
"addrtype": "ipv4"
}
],
"hostnames": [
{
"name": "k3s-agent1.hegedus.wtf",
"type": "PTR"
}
],
"ports": {
"extraports": [
{
"state": "closed",
"count": "996",
"reasons": [
{
"reason": "conn-refused",
"count": "996"
}
]
}
],
"ports": [
{
"protocol": "tcp",
"portid": "80",
"status": {state.state},
"service_name": {service.name},
"state": {
"state": "open",
"reason": "syn-ack",
"reason_ttl": "0"
},
"service": {
"name": "http",
"servicefp": "SF-Por\r\\n400\\x20Bad\\x20Request\");",
"method": "table",
"conf": "3"
}
},
{
"protocol": "tcp",
"portid": "443",
"state": {
"state": "open",
"reason": "syn-ack",
"reason_ttl": "0"
},
"service": {
"name": "https",
"servicefp":
"SF-Port443-TCP:V=6.40%I=7%D=5/23%Time=68305D69%P=x86_64-redhat-linux-gnu%r(HTTPOptions,B0,\"HTTP/1\\.0\\x20404\\x20Not\\x20Found\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nX-Content-Type-Options:\\x20nosniff\\r\\nDate:\\x20Fri,\\x2023\\x20May\\x202025\\x2011:35:05\\x20GMT\\r\\nContent-Length:\\x2019\\r\\n\\r\\n404\\x20page\\x20not\\x20found\\n\")%r(SSLSessionReq,7,\"\\x15\\x03\\x01\\0\\x02\\x02F\")%r(SSLv23SessionReq,7,\"\\x15\\x03\\x01\\0\\x02\\x02F\")%r(GenericLines,67,\"HTTP/1\\.1\\x20400\\x20Bad\\x20Request\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nConnection:\\x20close\\r\\n\\r\\n400\\x20Bad\\x20Request\")%r(GetRequest,B0,\"HTTP/1\\.0\\x20404\\x20Not\\x20Found\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nX-Content-Type-Options:\\x20nosniff\\r\\nDate:\\x20Fri,\\x2023\\x20May\\x202025\\x2011:35:16\\x20GMT\\r\\nContent-Length:\\x2019\\r\\n\\r\\n404\\x20page\\x20not\\x20found\\n\")%r(RTSPRequest,67,\"HTTP/1\\.1\\x20400\\x20Bad\\x20Request\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nConnection:\\x20close\\r\\n\\r\\n400\\x20Bad\\x20Request\")%r(RPCCheck,7,\"\\x15\\x03\\x01\\0\\x02\\x02F\")%r(Help,67,\"HTTP/1\\.1\\x20400\\x20Bad\\x20Request\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nConnection:\\x20close\\r\\n\\r\\n400\\x20Bad\\x20Request\")%r(Kerberos,67,\"HTTP/1\\.1\\x20400\\x20Bad\\x20Request\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nConnection:\\x20close\\r\\n\\r\\n400\\x20Bad\\x20Request\")%r(FourOhFourRequest,B0,\"HTTP/1\\.0\\x20404\\x20Not\\x20Found\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nX-Content-Type-Options:\\x20nosniff\\r\\nDate:\\x20Fri,\\x2023\\x20May\\x202025\\x2011:35:32\\x20GMT\\r\\nContent-Length:\\x2019\\r\\n\\r\\n404\\x20page\\x20not\\x20found\\n\")%r(LPDString,67,\"HTTP/1\\.1\\x20400\\x20Bad\\x20Request\\r\\nContent-Type:\\x20text/plain;\\x20charset=utf-8\\r\\nConnection:\\x20close\\r\\n\\r\\n400\\x20Bad\\x20Request\")%r(SIPOptions,67,\"HTTP/1\\.1\\x20400\\x20Bad\\x20Request\\r\\nContent-Type:\\x20text/plain;\\x
20charset=utf-8\\r\\nConnection:\\x20close\\r\\n\\r\\n400\\x20Bad\\x20Request\");",
"method": "table",
"conf": "3"
}
},
{
"protocol": "tcp",
"portid": "2222",
"state": {
"state": "open",
"reason": "syn-ack",
"reason_ttl": "0"
},
"service": {
"name": "ssh",
"product": "OpenSSH",
"version": "8.4p1 Debian 5",
"extrainfo": "protocol 2.0",
"ostype": "Linux",
"method": "probed",
"conf": "10",
"cpes": [
"cpe:/a:openbsd:openssh:8.4p1",
"cpe:/o:linux:linux_kernel"
]
}
},
{
"protocol": "tcp",
"portid": "9100",
"state": {
"state": "open",
"reason": "syn-ack",
"reason_ttl": "0"
},
"service": {
"name": "jetdirect",
"method": "table",
"conf": "3"
}
}
]
}
}
}
]
輸出訊息
「掃描實體」動作可傳回下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Scan Entities". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表列出使用「掃描實體」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。