top of page
作家相片Samuel

Nmap Script (NSE)

已更新:3月18日

在我們之前的文章中,我們討論了漏洞評估以及進行漏洞評的重要性;其中進行漏洞評估時的一個重點是,確定不同的Nmap命令參數;讓我們來看看NMAP腳本引擎(NSE)是什麼,以及我們如何使用它,接下來的文章中,將透過撰寫一些自定義腳本,來進一步拓展這個主題!


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


Nmap Scripting Engine (NSE) 是 Nmap 的一個強大功能,它允許任何人編寫並分享各種不同類別的腳本,在最基本的層次上,一個 NSE 腳本可以執行網路探索 (Discovery) 查詢,獲取額外的 whois 資訊、SNMP 查詢細節、以及 NFS/SMB 共享資訊,這些探索腳本可以產生「潛在問題裝置」清單,進一步進行版本檢測等調查;我們可以進一步擴展這些功能,透過查看像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)相關聯。


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


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



Nmap
Nmap


 

延伸閱讀

最新文章

查看全部

コメント


bottom of page