top of page

【Tech Tip】介紹 CyberScope 上的 Nmap 腳本引擎 (NSE)

在我們之前的文章中,我們討論了漏洞評估以及進行漏洞評的重要性;其中進行漏洞評估時的一個重點是,確定不同的Nmap命令參數;讓我們來看看NMAP腳本引擎(NSE)是什麼,以及我們如何在CyberScope手持式網路安全測試儀上使用它,在我們接下來的文章中,我們將透過撰寫一些自定義腳本,來進一步拓展這個主題!我已經使用Nmap二十年了,然而至今仍有時會忘記要使用哪些命令參數。


什麼是 NMAP 腳本引擎 (NSE)?


Nmap Scripting Engine (NSE) 是 Nmap 的一個強大功能,它允許任何人編寫並分享各種不同類別的腳本,在最基本的層次上,一個 NSE 腳本可以執行網路探索 (Discovery) 查詢,獲取額外的 whois 資訊、SNMP 查詢細節、以及 NFS/SMB 共享資訊,這些探索腳本可以產生「潛在問題裝置」清單,進一步進行版本檢測等調查;正如我們將在 CyberScope 系列文章 中看到,我們可以進一步擴展這些功能,透過查看像MIST或Meraki等供應商的 API,以獲取有關無線客戶端的更多詳細訊息,例如:設備數量和類型、持續連接時間、使用的應用程式、流量模式、以及安全狀態等。

Nmap 腳本引擎 (NSE) 的價值


但是,為什麼版本檢測如此重要呢?在回答這個問題之前,讓我們先提供一些背景訊息,如果我們執行一個NSE腳本,甚至是一個基本的Nmap埠掃描,看到80埠是開啟的,我們就知道該設備上有一個Web伺服器,儘管443埠是首選的用於SSL的傳輸埠,但在這個範例中,我們將討論80埠;從安全的角度來看,這在我們的掃描中並未提供太多訊息。


我們可以建立一個報告規則,通知我們80埠已開啟,但這並不意味著有什麼問題或是可以被入侵;那麼,為什麼版本檢測如此重要呢?根據初始掃描結果,我們需要版本檢測來決定接下來會發生什麼動作;我們可以在NSE腳本中添加一個步驟,執行已知可以產生期望結果的HTTP查詢,然後對其進行正規表示式操作,這與您進行文字搜尋的方式相同,只是在腳本中以程式方式執行,透過設定nmap.set_port_version參數,我們可以將傳輸埠的版本訊息,從通用的“HTTP”更改為實際使用的Web伺服器軟件,例如Apache2或nginx;擁有這些數據使得NSE腳本能夠進行下一步的漏洞掃描,我們將在下一篇文章中深入探討這一點,並看到它如何在實際操作中實現。


使用Nmap 腳本引擎 (NSE) 執行漏洞掃描


在使用Nmap進行漏洞掃描時,雖然它不是一個完整的漏洞掃描工具,但您可以透過NSE執行相當複雜的漏洞掃描。我們可以透過傳統的埠掃描和版本檢測來建立漏洞掃描腳本,並將所獲得的數據與公共漏洞和曝露(CVE, Common Vulnerabilities and Exposures)相關聯,將這一功能與CyberScope的能力結合,您可以在進行設備探索時使用NSE腳本來進行漏洞掃描和其他任務,並將結果記錄在Link-Live中,建立一個完全自動化的報告平台,並最小化對網路和系統的影響。(延伸閱讀:NMAP 函式庫與腳本一覽)


Nmap 腳本引擎 (NSE) 的使用道德


在探討安全工具時,若缺乏有關謹慎和適當使用的內容,文章便難以算是完整,雖然CyberScope的目標之一,是透過更簡單的使用方式來“駕馭”Nmap,我們仍需確保使用符合倫理駭客的定義;NSE 腳本的某些類別可能會主動嘗試暴力破解或利用漏洞,導致設備失效、或在網路上造成過多流量;因此,在審查您打算載入到CyberScope的腳本時,了解“安全”和“侵入性”掃描之間的區別並根據情況使用,變得至關重要的;請確保您對每個腳本的功能和效果有充分的理解,並瞭解它們可能對目標設備和網路造成的影響,對於一些可能導致系統失效、網路壅塞、或其他不良後果的腳本,應該謹慎使用,並確保只在經過充分測試的環境中使用。


搶先瀏覽系列文章 #3


在我們系列的下一篇文章中,我們將更深入地探討如何使用Lua編寫腳本。我們還將展示如何利用NSE撰寫自訂的探索腳本,以查詢供應商API;儘管這與Nmap或安全無關,但這絕對是CyberScope的探索應用程序的絕佳擴展!


隨選即看研討會


延伸閱讀

Comments


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