top of page

Nmap vulns 漏洞管理呼叫函數語法:find 搜尋並回傳漏洞清單

NMAP(網路資產管理平台)

用於漏洞管理的功能包括:網路資產探索和監控、漏洞掃描、風險評估、漏洞管理、報告和警報、合規性、整合性。


find 語法


find (fid, selection_filter, FILTER, selection)

搜索並回傳一個漏洞清單


此函數將回傳一個包含已儲存在與 FILTER ID 相關聯的漏洞資料庫中,並滿足選擇篩選條件的漏洞,它需要 FILTER ID(就像 vulns.save_reports 函數回傳的那樣)和一個選擇篩選表格作為參數。


腳本必須首先呼叫 vulns.save_reports() 函數來設定漏洞資料庫。


這個函數不受 vulns.showall 腳本引數的影響,selection_filter 是一個可選的表格參數,包含可供選擇的欄位 (fields),用於選擇要回傳的漏洞紀錄,如果未設定 selection_filter,則將回傳所有漏洞紀錄。


參數


fid


selection_filter


FILTER:

由 vulns.save_reports() 回傳的 ID


selection

可供選擇的表格,用於選擇要列出的漏洞,選擇篩選的表格欄位包括:

  • state: 漏洞狀態。

  • risk_factor: 漏洞風險因素欄位,可以是以下值之一:" High "、" Medium " 或 " Low"。

  • hosts_filter: 用於過濾漏洞表格中主機表格的函數,會被應用於漏洞資料表中的每個主機資料;此函數必須回傳布林值,如果通過過濾則回傳 true (表示該主機符合你的過濾條件),否則回傳 false (表示該主機不符合過濾條件,將被排除在外);主機表格:host = {ip, targetname, bin_ip}。 這個函數的具體使用方式取決於你的需求,你可以使用不同的條件來過濾主機,例如:根據主機的 IP 位址、目標名稱、或其他屬性來進行過濾;你可以在這個函數中使用各種邏輯和條件來自訂過濾規則,以確保只有符合你需求的主機被列入最終的漏洞列表中。

  • ports_filter: 是一個自訂函數,用於過濾漏洞資料表中的網路埠資料;這個函數的主要作用是根據特定條件來判斷哪些網路埠應該包含在最終的漏洞列表中,哪些應該被排除;此函數必須回傳布林值,如果通過過濾則回傳 true,否則回傳 false;網路埠表格:port = {number, protocol, service, version}。 這個函數的具體實現方式取決於你的需求,你可以使用不同的條件來過濾網路埠,例如:根據網路埠號、協定類型、服務或版本等屬性來進行過濾;可以在這個函數中自訂各種邏輯和條件,以確保只有符合你需求的網路埠被包含在最終的漏洞列表中。

  • id_type: 漏洞 ID 類型(例如:'CVE'、'OSVDB' ...)。 漏洞 ID 類型指的是識別一個漏洞的特定標識類型。不同的漏洞資訊庫和漏洞識別系統使用不同的標識方法來標識漏洞,這些標識通常包含一個特定的類型和一個唯一的識別號碼;例如,'CVE' 代表 "Common Vulnerabilities and Exposures"(常見漏洞和曝露),這是一個用於標識漏洞的國際標準,每個 CVE 條目都有一個唯一的 CVE 號碼;另一個例子是 'OSVDB',代表 "Open Sourced Vulnerability Database"(開源漏洞資料庫),它也用於識別漏洞,但使用不同的號碼和格式。

  • id: 漏洞 ID,所有這些欄位都是可供選擇選的。


範例

-- All the following fields are optional.
local selection_filter = {
  state = vulns.STATE.VULN, -- number
  risk_factor = "High", -- string
  hosts_filter = function(vuln_table.host)
                 -- Function that returns a boolean
                 -- True if it passes the filter, otherwise false.
                 end,
                 -- vuln_table.host = {ip, targetname, bin_ip}
  ports_filter = function(vuln_table.port)
                 -- Function that returns a boolean
                 -- True if it passes the filter, otherwise false.
                 end,
                 -- vuln_table.port = {number, protocol, service
                 --                    version}
  id_type = 'CVE', -- Vulnerability type ID (string)
  id = 'CVE-XXXX-XXXX', -- CVE id (string)
}
local list = vulns.find(fid, selection_filter)

回傳值

成功時回傳漏洞資料表的列表,失敗時返回nil。


延伸閱讀

  • NetAlly 滲透測試及網路測試總覽 > CyberScope Nmap 滲透測試手持式網路分析儀,整合了 Nmap 功能,為站點存取層提供全面的網路安全風險評估、分析、和報告——包括所有的端點和網路探索、有線與無線網路安全、漏洞評估 (Nmap) 以及網段和配置驗證;IT 人員透過單一工具以及單一介面,即可快速且即時的掌握企業或組織的各種混合式網路環境 (有線、無線、PoE)、各種連網終端裝置的拓樸、架構、設置、網段、效能、直到網路安全評估。


歡迎 訂閱翔宇科技主題式電子報 >,您將可同步掌握最新的產業新訊以及技術文章。
bottom of page