昨天我們聊了如何指定服務或 Port 掃描,今天要進一步認識 Nmap Scripting Engine (NSE)。
NSE 是 Nmap 裡最強大的功能之一,它讓使用者可以透過 Lua 腳本 來擴充 Nmap 的能力。
NSE 能做什麼?
它不只是掃 port,還能:
自動化漏洞偵測(例如心臟出血漏洞、弱口令檢測)。
網路服務資訊蒐集(像是抓取 HTTP banner、FTP 使用者清單)。
防禦測試(例如檢查 SSL/TLS 配置問題)。
系統管理小工具(像是快速偵測開放的 SMB shares)。
NSE 腳本分類
NSE 的腳本分成幾大類:
auth:驗證與登入相關(例如弱密碼檢測)。
vuln:漏洞掃描。
safe:安全、不會影響目標。
intrusive:具入侵性,可能影響目標服務。
discovery:資訊蒐集。
(可以用 --script-help <script_name> 查看腳本用途。)
基本用法
最簡單的格式:
nmap --script=<腳本名稱> <目標>
例如:
掃描 HTTP 服務資訊:
nmap --script=http-title scanme.nmap.org
使用多個腳本(逗號分隔):
nmap --script=http-title,ssl-cert scanme.nmap.org
使用整個類別:
nmap --script=vuln scanme.nmap.org
如果大家要查閱更多用法,在nmap的目錄裡可以找到script的位置點進去目前共有613個腳本可以使用
NSE 就像是 Nmap 的「外掛商店」,透過這些腳本,你不只是在掃 port,而是能深入分析服務與漏洞。
但要提醒大家:有些腳本屬於 intrusive 類型,在沒有授權的情況下使用,可能會被視為攻擊行為。