目錄
Nmap 主要功能
網絡存活主機發現 (ARP Ping Scan)
綜合信息收集掃描 (Stealth SYN + Service + OS)
全端口掃描 (Full Port Scan)
NSE 漏洞腳本掃描
SMB 信息枚舉
HTTP 服務深度枚舉
SSH 安全審計
隱蔽掃描與防火墻規避
Nmap 主要功能
Nmap 主要有以下幾個核心功能,這些功能幫助網絡管理員和安全專業人員深入了解網絡狀態和安全態勢:
- 主機發現:識別網絡中有哪些主機在線(存活)。
- 端口掃描:檢測目標主機上哪些端口是開放的、關閉的或被過濾的。
- 服務及版本探測:識別開放端口上運行的服務及其具體的版本信息。
- 操作系統檢測:推斷目標主機所使用的操作系統類型和版本。
- 腳本引擎(NSE):使用內置的 Lua 腳本進行更高級的檢測,如漏洞掃描、漏洞利用等。
網絡存活主機發現 (ARP Ping Scan)
sudo nmap -sn -PR 192.168.1.0/24
-sn
: 禁用端口掃描,只進行主機發現。-PR
: 使用 ARP 請求進行發現。在本地局域網中,ARP 比 ICMP Ping 更可靠、更快,且無法被防火墻阻止。- 使用場景:在取得內網訪問權限后,快速、準確地繪制本地網段的存活主機地圖。
綜合信息收集掃描 (Stealth SYN + Service + OS)
sudo nmap -sS -sV -O --top-ports 1000 -T4 192.168.1.105
-sS
: TCP SYN (半開放) 掃描。發送 SYN 包,收到 SYN/ACK 則認為端口開放,但不完成三次握手,速度快且隱蔽。-sV
: 版本探測。向開放端口發送特定探測報文,根據響應指紋識別服務及其版本號。-O
: 操作系統檢測。通過分析 TCP/IP 協議棧指紋來猜測目標操作系統。--top-ports 1000
: 掃描 Nmap 數據庫中概率最高的 1000 個端口,在速度和信息收集量之間取得最佳平衡。-T4
: 設置時序模板為 4 (Aggressive),加快掃描速度。- 使用場景:對目標進行初步但全面的偵查,獲取端口、服務、版本和操作系統等核心信息,為后續攻擊提供方向。
全端口掃描 (Full Port Scan)
sudo nmap -sS -p- --min-rate 5000 -T4 -Pn 192.168.1.105
-p-
: 掃描所有 65535 個端口。--min-rate 5000
: 指示 Nmap 每秒至少發送 5000 個包。這是極重要的優化參數,可大幅提升掃描速度。-Pn
: 跳過主機發現,將所有主機視為在線。在對單一目標進行全端口掃描時使用,避免發現階段浪費時間。- 使用場景:在需要徹底排查目標開放端口時使用,常用于攻擊面較小的關鍵服務器,以發現隱藏的、非標準的管理端口或后門。
NSE 漏洞腳本掃描
nmap -sV --script vuln -p 80,443,445 192.168.1.105
--script vuln
: 調用所有分類為 "vuln" (漏洞) 的 NSE 腳本。這些腳本會檢查目標是否存在已知的公開漏洞。-p 80,443,445
: 限制掃描端口,只對最可能存在漏洞的服務進行檢測,提高效率。- 使用場景:快速對目標進行漏洞篩查,尋找容易利用的弱點 (low-hanging fruit)。常用于時間緊迫的評估或大規模資產初篩。
SMB 信息枚舉
nmap --script smb-enum-shares,smb-enum-users,smb-os-discovery -p 445 192.168.1.105
--script smb-enum-shares
: 枚舉可用的 SMB 共享文件夾。--script smb-enum-users
: 嘗試枚舉系統上的用戶賬戶。--script smb-os-discovery
: 獲取通過 SMB 披露的操作系統信息。- 使用場景:在發現開放 445 端口后,對 Windows 或 Samba 服務器進行深度信息收集,為橫向移動或權限提升做準備。
HTTP 服務深度枚舉
nmap -p 80,443,8080,8443 --script http-enum,http-headers,http-security-headers -sV 目標IP
--script http-enum
: 基于字典枚舉 Web 目錄和文件(如/admin
,/phpmyadmin
)。--script http-headers
: 獲取 HTTP 響應頭,分析服務器、框架、Cookie 等信息。--script http-security-headers
: 檢查缺失的安全頭(如 CSP, HSTS, X-Frame-Options)。- 使用場景:對 Web 服務器進行快速配置審計和敏感路徑發現,尋找攻擊入口。
SSH 安全審計
nmap -p 22 --script ssh2-enum-algos,ssh-hostkey,ssh-auth-methods 目標IP
ssh2-enum-algos
: 枚舉 SSH 支持的加密算法、MAC 算法和壓縮算法。用于發現弱算法。ssh-hostkey
: 獲取 SSH 服務器的主機密鑰(公鑰)及其指紋。ssh-auth-methods
: 列出服務器支持的認證方法(如publickey
,password
,keyboard-interactive
)。- 使用場景:評估 SSH 服務配置安全性,為暴力破解或算法降級攻擊提供信息。
隱蔽掃描與防火墻規避
sudo nmap -sF -T2 --scan-delay 500ms -f --data-length 16 -D RND:10,ME -g 53 目標IP
-sF
: FIN 掃描。發送只有 FIN 標志位的 TCP 包。關閉的端口會回復 RST,開放的端口則忽略。可能繞過無狀態防火墻。-T2 --scan-delay 500ms
: 使用慢速掃描 (T2
/Polite
) 并手動添加延遲,大幅降低流量速率,避免觸發 IDS 閾值。-f
: 對探測包進行 IP 分片,使包過濾器更難檢測。--data-length 16
: 在包中添加隨機長度的凈荷,擾亂流量特征分析。-D RND:10,ME
: 使用 10 個隨機誘騙 IP,并用ME
代表真實地址,淹沒在噪音中。-g 53
: 指定源端口為 53 (DNS)。防火墻可能對來自此端口的流量策略更寬松。- 使用場景:在需要高度隱蔽、繞過嚴格的防火墻或入侵檢測系統 (IDS) 時使用。速度極慢,但隱蔽性極高。