一家中型公司 IT 每天忙著更新伺服器。某次資安檢查時,資安工程師小林用 Nmap 做例行掃描,發現公司內網有一台 IP 開了 9100/TCP(通常是網路印表機的 raw 打印埠)和一個不該存在的 SSH(22)服務,但那台機器標記為「會議室影印機」。
結果發現:本來應該只提供列印的影印機被錯誤地安裝了某套遠端管理軟體(透過預設弱密碼),攻擊者可能已經拿到長期內網存取。幸好及時發現:把影印機隔離、重設預設密碼、更新韌體並確認沒有被植入後門。
教訓:掃描是找出「不該存在的服務」的最快方法 — Nmap 就是那把放大鏡。
實際 Nmap 範例(授權範圍內使用)
請只在你擁有授權的網路或測試環境執行掃描,未經授權掃描可能違法。
基本快速掃描(看哪些 port open)
nmap -Pn -p- 192.168.1.100
說明:-Pn 不做 ping 掃描(有些主機關閉 ICMP),-p- 掃描所有 65535 個埠。
服務與版本偵測(想知道在跑什麼)
nmap -sV -p22,80,443 192.168.1.100
說明:-sV 嘗試辨識服務與版本,限制常見埠可節省時間。
進階資料(OS 偵測 + 常用腳本)
nmap -A 192.168.1.100
說明:-A 等於開 OS 偵測、版本偵測、腳本掃描與 traceroute 的組合(速度慢但資訊豐富)。
使用 NSE 腳本掃描弱點指標
nmap --script vuln 192.168.1.100
說明:--script vuln 執行一組針對已知弱點的脚本(注意:某些腳本會對目標造成影響,務必先取得許可)。
解讀:
22 open OpenSSH 7.4 → 有 SSH,可檢查是否允許密碼登入、是否使用弱帳號。
80 open Apache 2.4.29 → 版本偏舊可能有已知 CVE,應檢查是否打過補丁。
9100 open jetdirect → 代表印表機 raw 打印埠,確認這台設備的用途與管理狀態。
掃描後你可以做的事(防守方步驟)
確認該服務是否應該存在(若不該,立即關閉或隔離)。
檢查服務版本是否有已知漏洞(查 CVE,打補丁或升級)。
強化認證(關閉密碼登入、改用金鑰、設定複雜密碼與 2FA)。
記錄並定期重複掃描 —— 發現異常才有辦法追蹤變化。
下期我們將介紹密碼學