前言
在資訊安全領域中,漏洞評估(Vulnerability Assessment) 是保護系統安全的第一道防線。在正式滲透測試或安全加固之前,我們需要先了解目標系統存在哪些已知漏洞——而「弱點掃描工具」正是幫助我們完成這項工作的利器。
漏洞評估的核心目的,是在攻擊者發現漏洞之前,由防禦方主動識別並修補潛在的安全缺陷。這個過程通常包含以下幾個階段:
- 資產盤點(Asset Discovery):確認有哪些主機、服務與應用程式存在於環境中
- 弱點掃描(Vulnerability Scanning):使用自動化工具偵測已知漏洞
- 風險評估(Risk Assessment):根據漏洞嚴重程度與業務影響排定修補優先序
- 修補與驗證(Remediation & Verification):執行修補後確認漏洞已消除
本文聚焦於第二個階段——弱點掃描,並以 Nessus 為主要介紹對象。
重要提醒:弱點掃描工具輸出的結果不一定正確,可能存在誤報(False Positive)或漏報(False Negative)。因此,掃描後務必透過手動驗證,確認漏洞是否真實存在,再決定後續處理方式。
常見弱點掃描工具一覽
| 類型 | 工具名稱 | 授權方式 | 說明 |
|---|---|---|---|
| 網路 | Nessus | 商業軟體 | 業界標準,Professional 版提供 7 天免費試用 |
| 網路 | OpenVAS | 開源免費 | Nessus 的開源替代方案,功能完整 |
| 網站 | AWVS(Acunetix) | 付費軟體 | 專注於 Web 應用漏洞,試用期 14 天 |
| 網站 | OWASP ZAP | 開源免費 | OWASP 官方出品,適合網站滲透測試入門 |
工具選擇建議
不同場景適合使用不同的工具。以下是幾個常見情境的選用參考:
- 學習練習環境:Nessus Essentials(免費)或 OpenVAS,兩者都能在本地建置並進行基礎掃描
- Web 應用程式稽核:優先考慮 AWVS 或 OWASP ZAP,兩者專為 HTTP/HTTPS 流量設計
- 企業合規性稽核:Nessus Professional 或 Tenable.io,具備完整報表與合規範本
- 預算有限的中小企業:OpenVAS(網路)搭配 OWASP ZAP(網站)可組成一套完整的免費掃描方案
深入認識 Nessus
什麼是 Nessus?
Nessus 是由 Tenable 公司開發的業界主流弱點掃描工具,廣泛應用於企業內部的資安稽核、合規性檢查以及滲透測試前期偵察。
Nessus 最初於 1998 年由 Renaud Deraison 以開源形式發布,2005 年起轉為商業授權模式。儘管如此,它仍是目前全球使用量最高的弱點掃描工具之一。根據 Tenable 官方數據,全球超過 30,000 個組織使用 Nessus 進行安全評估。
無論是大型企業的資安團隊、政府機關的資安稽核人員,還是個人資安學習者,Nessus 都是入門弱點掃描不可忽略的工具之一。
Nessus 的核心特性
優點
1. 豐富的插件生態系(Plugins)
Nessus 擁有超過 170,000 個插件,涵蓋各種作業系統、網路設備、資料庫與應用程式的已知漏洞偵測。插件以 Nessus Attack Scripting Language(NASL)撰寫,每個插件對應特定的漏洞偵測邏輯。使用者也可以根據需求啟用或停用特定插件群組,避免對目標系統造成不必要的負擔。
2. 弱點特徵碼更新迅速
新漏洞(CVE)發布後,Tenable 通常能在很短時間內推出對應的偵測插件,讓使用者隨時保持在最新的威脅情報水準。相較於部分工具需要等待數週才有更新,Nessus 的快速響應在零日漏洞爆發時尤為關鍵。
3. 內建完整弱點資料庫
Nessus 整合了 CVE、CVSS 評分等標準化資訊,掃描報告中會直接顯示每個漏洞的嚴重程度、影響範圍、CVE 編號,以及官方建議的修補措施。此外也整合了 CVSS v2 與 CVSS v3 兩套評分標準,方便不同組織依據自身政策選用。
4. 支援多主機與網段批次掃描
可一次對整個 IP 範圍(如 192.168.1.0/24)進行掃描,大幅提升效率,適合企業環境使用。也支援以 CIDR 表示法、IP 清單檔案或主機名稱清單作為掃描輸入,靈活度高。
5. 支援有憑證掃描(Credentialed Scan)
提供系統帳號(SSH、WMI、SMB 等)後,Nessus 可登入目標主機進行更深層的本地端檢查,包含已安裝軟體版本、系統設定、套件修補狀態等。有憑證掃描的結果通常比無憑證掃描準確許多,誤報率也顯著降低。
缺點
| 限制 | 說明 |
|---|---|
| 只能偵測已知漏洞 | Nessus 依賴特徵碼資料庫,對於零日漏洞(0-day)或未公開漏洞無能為力 |
| 受網路環境影響 | 防火牆、IDS/IPS 或網路延遲都可能影響掃描的完整性與準確性 |
| 可能產生誤報 | 部分結果需要人工二次驗證,不可直接採信所有輸出 |
| 主動掃描可能觸發告警 | 掃描行為本身會產生大量網路流量,容易被 IDS/IPS 偵測或觸發服務異常 |
| 掃描速度受目標數量影響 | 大型網段掃描耗時較長,須規劃足夠的時間窗口 |
Nessus 版本比較
| 版本 | 適合對象 | 費用 | 掃描上限 | 特色功能 |
|---|---|---|---|---|
| Nessus Essentials | 學生、個人學習 | 免費 | 16 個 IP | 基礎掃描功能,適合練習環境 |
| Nessus Professional | 滲透測試師、資安顧問 | 付費(7 天試用) | 無限制 | 完整插件、合規稽核範本、進階報表 |
| Nessus Expert | 雲端與 DevSecOps 場景 | 付費 | 無限制 | 新增雲端基礎設施掃描、IaC 掃描 |
| Tenable.io | 企業雲端集中管理 | 付費訂閱 | 無限制 | 集中式管理、資產追蹤、整合 SIEM |
新手建議:可先申請 Nessus Essentials 免費版,最多可掃描 16 個 IP,非常適合在個人練習環境(如家用網路或虛擬機)中學習使用。申請時需提供電子郵件信箱,Tenable 會寄送啟用序號。
Nessus 安裝方式
Nessus 支援多種作業系統,常見安裝環境如下:
| 作業系統 | 安裝方式 |
|---|---|
| Windows | 下載 .msi 安裝程式,執行後透過服務管理員啟動 |
| Linux(Debian/Ubuntu) | 下載 .deb 套件,執行 dpkg -i 安裝,再啟動服務 |
| Linux(RHEL/CentOS) | 下載 .rpm 套件,執行 rpm -ivh 安裝,再啟動服務 |
| macOS | 下載 .dmg 安裝程式,安裝完成後服務自動運行 |
安裝完成後,Nessus 會在本機啟動一個 HTTPS 服務,預設透過瀏覽器存取:
https://localhost:8834
首次登入時需完成初始化設定,包含建立管理員帳號並輸入授權碼。
注意:瀏覽器會顯示憑證警告(因為是自簽憑證),這是正常現象,直接選擇繼續存取即可。
Nessus 基本使用流程
1. 下載並安裝 Nessus
|
2. 取得授權碼並啟動服務(systemctl start nessusd)
|
3. 透過瀏覽器開啟管理介面(https://localhost:8834)
|
4. 等待插件下載與初始化完成(首次約需 15~30 分鐘)
|
5. 建立新的掃描任務(New Scan)
|
6. 選擇掃描範本(如:Basic Network Scan)
|
7. 輸入目標 IP、網段或主機名稱
|
8. 設定排程或立即執行(Launch)
|
9. 等待掃描完成,檢視 Summary 頁面
|
10. 依嚴重程度排序,逐一分析高風險漏洞
|
11. 手動驗證,確認漏洞是否真實存在
|
12. 匯出報告(PDF / HTML / CSV)
常見掃描範本說明
| 範本名稱 | 用途 | 建議使用情境 |
|---|---|---|
| Basic Network Scan | 一般網路環境基礎掃描 | 新手入門、快速盤點環境 |
| Advanced Scan | 可自訂更多掃描選項 | 需精細控制掃描行為的進階場景 |
| Web Application Tests | 針對 Web 服務的漏洞偵測 | Web 伺服器、API 端點掃描 |
| Credentialed Patch Audit | 使用帳號密碼進行系統層級掃描 | 稽核主機是否落後修補進度 |
| PCI DSS Compliance | 支付卡產業安全標準合規稽核 | 電商、金融業合規需求 |
| DISA STIG | 美國國防部資訊系統安全規範稽核 | 政府機關、國防相關系統 |
掃描設定注意事項
在執行掃描前,有幾個設定細節值得特別留意:
Port 範圍設定
預設掃描範圍為常見服務埠,若目標服務使用非標準埠(如將 SSH 改為 2222),需手動擴展掃描的 Port 範圍,否則可能漏掉該服務的漏洞。
掃描時機選擇
主動掃描會對目標系統產生一定的網路負載與連線壓力。建議在業務低峰時段(如深夜、假日)執行,避免影響正式服務的可用性。
有憑證 vs 無憑證掃描
無憑證掃描僅能從外部測試開放的服務;有憑證掃描能深入系統內部,取得已安裝套件清單、設定檔內容等資訊,結果更為完整且準確。如果環境允許,優先使用有憑證掃描。
掃描結果的嚴重程度分級
Nessus 使用 CVSS(Common Vulnerability Scoring System) 評分系統,將漏洞分為以下等級:
| 等級 | CVSS 分數 | 代表意義 | 建議處理時效 |
|---|---|---|---|
| Critical | 9.0 – 10.0 | 可被遠端無授權利用,危害極大 | 立即處理(24 小時內) |
| High | 7.0 – 8.9 | 高風險,攻擊成本低 | 優先排入修補計畫(一週內) |
| Medium | 4.0 – 6.9 | 需特定條件才能利用 | 計畫性修補(一個月內) |
| Low | 0.1 – 3.9 | 利用條件嚴苛,影響有限 | 視資源狀況處理 |
| Info | 0.0 | 資訊性偵測結果,非漏洞 | 留存紀錄,供後續分析參考 |
CVSS 評分的組成要素
CVSS v3 的評分由以下三個指標群組成:
- Base Score(基礎分數):反映漏洞本身的固有特性,如攻擊向量(網路 / 本地端)、攻擊複雜度、所需權限、機密性 / 完整性 / 可用性影響等
- Temporal Score(時間分數):考量漏洞的公開利用程度、修補可用性等時間因素,此分數會隨時間變動
- Environmental Score(環境分數):由組織根據自身環境調整,反映漏洞對特定業務的實際影響
Nessus 預設顯示 Base Score,在評估實際風險時,建議同時參考 Temporal Score 與組織的業務背景。
重要觀念:掃描結果的後續驗證
拿到 Nessus 報告後,不要直接把所有結果當成事實,建議遵循以下流程:
掃描結果
|
分類整理(Critical / High 優先)
|
查詢 CVE 詳細資訊(NVD、Exploit-DB、Vendor Advisory)
|
判斷是否為誤報(檢查版本號、設定、環境條件)
|
手動驗證(Metasploit、PoC 程式、手動測試)
|
確認漏洞後撰寫報告
|
提供修補建議並追蹤修補狀態
誤報(False Positive)的常見成因
誤報是弱點掃描中最常見的問題之一。以下是幾個典型的誤報情境:
- 版本字串不符實際:部分系統管理員為了混淆攻擊者,會修改 Banner 中的版本資訊,導致 Nessus 根據錯誤版本號判定漏洞存在
- 已有 Workaround 的漏洞:漏洞雖然存在,但系統管理員已透過設定層面(如停用特定功能)緩解風險,工具無法偵測到此類緩解措施
- 網路設備的協定模擬問題:某些防火牆或負載平衡器會代替後端伺服器回應探測封包,導致掃描結果反映的是前端設備而非實際目標
漏報(False Negative)的常見成因
- 未開放的掃描 Port:服務監聽在非標準埠,但掃描設定未涵蓋
- 防火牆封鎖探測封包:掃描流量被安全設備過濾,導致服務或版本無法正確識別
- 無憑證掃描的限制:未登入系統的情況下,無法取得本地端的詳細資訊
掃描報告的解讀方式
Nessus 的掃描報告包含以下幾個重要欄位,新手需要特別學會解讀:
| 欄位 | 說明 |
|---|---|
| Plugin ID | 對應的 Nessus 插件編號,可在 Tenable 網站查詢詳細資訊 |
| CVE | 對應的通用漏洞編號,可至 NVD 查詢完整描述 |
| CVSS Score | 漏洞嚴重程度評分 |
| Risk Factor | Critical / High / Medium / Low / None |
| Description | 漏洞說明,包含影響原因與範圍 |
| Solution | 建議的修補方式,通常為升級到特定版本或套用修補程式 |
| See Also | 外部參考連結,如 CVE 詳情頁、廠商安全公告 |
| Plugin Output | 工具偵測到的原始輸出,有助於判斷是否為誤報 |
在分析報告時,Plugin Output 欄位非常關鍵。它包含 Nessus 實際偵測到的回應內容,例如服務回傳的版本字串或旗幟資訊(Banner)。透過比對 Plugin Output 與系統實際版本,可以快速判斷結果是否為誤報。
法律與道德規範
這是所有資安新手最容易忽略的面向,但也是最重要的一環。
弱點掃描屬於主動式安全測試,對未授權的目標執行掃描,在許多國家和地區屬於違法行為。在台灣,未經授權存取電腦系統可能觸犯《刑法》第 358 條(入侵電腦罪)與第 359 條(破壞電磁紀錄罪)。
在進行任何掃描之前,務必確認以下事項:
- 書面授權:取得目標系統擁有者的明確書面許可
- 範圍限制:確認掃描範圍僅包含授權目標,不可掃描到範圍外的系統
- 時間協議:與客戶或系統管理員確認掃描時間窗口
- 資料保護:掃描結果可能包含敏感資訊,需妥善保管並在合約期滿後銷毀
合法的練習環境建議:
- 在本地端架設虛擬機(如使用 VirtualBox 或 VMware),對自己的 VM 進行掃描練習
- 使用專為練習設計的靶機平台,如 Metasploitable、VulnHub
- 參與合法的 CTF(Capture The Flag)競賽或 Bug Bounty 計畫
學習資源
官方文件
漏洞資料庫
小結
弱點掃描是資安工作流程中不可或缺的環節,但它只是整體評估的起點,而非終點。以下整理本文的核心觀念:
| 觀念 | 說明 |
|---|---|
| 掃描不等於滲透測試 | 弱點掃描是被動偵測已知漏洞,滲透測試需主動利用漏洞驗證影響範圍 |
| 工具輔助人工判斷 | 工具輸出需搭配人工分析,誤報與漏報都需靠人工識別與排除 |
| 持續掃描維持基線 | 環境持續變動,新服務上線、套件更新都可能引入新漏洞,建議定期執行掃描 |
| 有憑證掃描更準確 | 在允許的情況下,提供登入憑證可大幅提升掃描的深度與準確度 |
| 合法授權是前提 | 任何掃描行為都必須在明確授權的環境下進行,未授權掃描可能觸法 |
| 修補才是目的 | 掃描報告的最終目的是推動修補,而非單純記錄漏洞清單 |
