Nessus

漏洞掃描

步驟 1:克隆 Nessus-Scanner 倉庫

首先,拉取 GitHub 上的 nessus-scanner 專案:

git clone https://github.com/ciro-mota/nessus-scanner.git
cd nessus-scanner

步驟 2:構建 Nessus Docker 映像

進入倉庫目錄後,執行以下命令來構建 Docker 映像:

docker build -t nessus-scanner .

這會根據 Dockerfile 下載 Nessus 並安裝到 Docker 容器中。


步驟 3:運行 Nessus 容器

構建完成後,使用以下命令來啟動 Nessus:

docker run -d --name nessus -p 8834:8834 nessus-scanner

這裡:

  • -d 讓容器在後台運行。

  • --name nessus 給容器命名為 nessus

  • -p 8834:8834 讓你可以通過 https://localhost:8834 訪問 Nessus。


步驟 4:訪問 Nessus Web 界面

等待幾分鐘後,打開瀏覽器,訪問:

https://localhost:8834

如果 Nessus 運行在遠程伺服器,你需要用它的 IP,例如:

https://<your-server-ip>:8834

第一次登錄時,你需要創建一個帳戶,然後輸入 Tenable Nessus 激活碼(可免費註冊 Tenable 社區版)。


步驟 5:檢查容器狀態

確保 Nessus 正常運行:

docker ps

或者:

docker logs -f nessus

如果 Nessus 服務沒有運行,可以手動啟動:

docker start nessus

步驟 6:使用 Nessus API 進行漏洞掃描

這個專案包含了一個 scan.py 腳本,你可以使用它來與 Nessus API 交互:

python3 scan.py --target <your-target-ip>

這將會觸發一次 Nessus 掃描。


結論

這個 Docker 化的 Nessus 版本讓部署變得更加簡單,總結:

  1. 克隆倉庫git clone

  2. 構建映像docker build

  3. 運行容器docker run

  4. 訪問 Web 界面https://localhost:8834

  5. 可選:使用 API 進行掃描scan.py

Scan Policies 掃描策略

Nessus 為我們提供了建立掃描策略的選項。本質上,這些都是自訂的掃描,允許我們定義特定的掃描選項,保存策略配置,並在建立新掃描時在Scan Templates下提供它們。這使我們能夠為任意數量的場景建立有針對性的掃描,例如速度較慢、更規避性的掃描、以 Web 為中心的掃描,或使用一組或多組憑證針對特定用戶端的掃描。掃描策略可以從其他 Nessus 掃描器匯入,也可以匯出以便稍後匯入到另一個 Nessus 掃描器。

要建立掃描策略,我們可以點擊右上角的New Policy按鈕,然後我們將看到預先配置的掃描清單。我們可以選擇一個掃描,例如Basic Network Scan ,然後自訂它,或者我們可以建立自己的掃描。我們將選擇Advanced Scan來建立完全自訂的掃描,其中沒有內建預先配置的建議。

Nessus Plugins Nessus 插件

Nessus 可與使用Nessus 攻擊腳本語言 (NASL)編寫的插件配合使用,並可針對新的漏洞和 CVE。這些插件包含漏洞名稱、影響、補救措施以及測試特定問題存在的方法等資訊。

插件依嚴重性等級評定: CriticalHighMediumLowInfo 。在撰寫本文時,Tenable 已發布了145,973插件,涵蓋58,391 CVE ID 和30,696 Bugtraq ID。 Tenable 網站上有一個可搜尋的資料庫,其中包含所有已發佈的插件。

Exporting Nessus Scans 匯出 Nessus 掃描

可以使用nessus-report-downloader等腳本透過 Nessus REST API 從 CLI 快速下載所有可用格式的掃描結果: 使用 Nessus 掃描輸出

PikachuN@htb[/htb]$ ./nessus_downloader.rb 

Nessus 6 Report Downloader 1.0

Enter the Nessus Server IP: 127.0.0.1
Enter the Nessus Server Port [8834]: 8834
Enter your Nessus Username: admin
Enter your Nessus Password (will not echo): 

Getting report list...
Scan ID Name                                               Last Modified                  Status         
------- ----                                               -------------                  ------         
1     Windows_basic                                Aug 22, 2020 22:07 +00:00      completed      
         
Enter the report(s) your want to download (comma separate list) or 'all': 1

Choose File Type(s) to Download: 
[0] Nessus (No chapter selection)
[1] HTML
[2] PDF
[3] CSV (No chapter selection)
[4] DB (No chapter selection)
Enter the file type(s) you want to download (comma separate list) or 'all': 3

Path to save reports to (without trailing slash): /assessment_data/inlanefreight/scans/nessus

Downloading report(s). Please wait...

[+] Exporting scan report, scan id: 1, type: csv
[+] Checking export status...
[+] Report ready for download...
[+] Downloading report to: /assessment_data/inlanefreight/scans/nessus/inlanefreight_basic_5y3hxp.csv

Report Download Completed!

我們還可以編寫自己的腳本來自動化許多 Nessus 功能。

最后更新于

这有帮助吗?