OpenVAS Nessus 開放原始碼 弱點掃描 安全 漏洞 資安

用開源工具檢查主機漏洞 自建OpenVAS弱點掃描

2016-03-22
本文將介紹一套在開源碼社群中頗富盛名的弱點掃描工具OpenVAS,可用來掃描主機系統,找出系統潛在的漏洞,讓管理者能夠儘早修補系統漏洞,進而降低主機系統被攻擊的機率。
首先啟動OpenVAS執行環境,執行下列指令:


在執行完畢後,可利用「ps aux | grep openvas」指令來檢查是否啟動成功。要注意的是,由於openvassd在啟動時需載入NVTS的資訊,所以必須等到完全載入NVTS的資訊後才可進行掃描,如圖5所示。


▲圖5 完全載入NVTS資訊後開始掃描。

啟動完成後,基本上要完成一個掃描工作(Task)需經過下列步驟。在此將以omp程式來執行O.M.P指令(以XML形式下達指令,這裡僅說明基本指令)。首先必須產生欲掃描主機(以下簡稱為target)的targetID,由於OpenVAS是以targetID來辨別各台主機,所以要先將個別主機轉換成targetID。假設target的IP為140.117.100.5,而產生targetID的指令如下:


如圖6所示,已成功地新建一個IP為140.117.100.5的TARGETID,其targetid為「69b3b79a-97a0-4e2a-92b5-e6505ca3a0d8」。


▲圖6 產生targetID。

如果想要知道目前有多少的targetID資訊,則執行如圖7所示的指令:


▲圖7 查詢現有的targetID資訊。

緊接著,新建欲對此targetID進行掃描的工作(Task)並產生相對應的taskID,建立指令如下:


其中要特別說明的掃描組態ID(configID),所謂的掃描組態指的是用什麼模式進行掃描,例如快速掃描、完整掃描等模式等。在OpenVAS裡預設有下列掃描模式,如圖8所示。


▲圖8 有預設掃描模式可供挑選。

一般預設掃描會使用「Full and very deep」模式,因此執行如圖9所示的建立掃描作業指令:


▲圖9 建立掃描作業。

成功建立掃描作業之後,就會回傳taskID資訊。也可以利用「omp -u [使用者名稱] -w [使用者帳 號] –G」指令來取得目前的掃描作業狀態,如圖10 所示。


▲圖10 取得目前的掃描作業狀態。

其中執行狀態表示目前此工作(Task)的狀態,OpenVAS將執行狀態定義成如下的狀態:

·New:表示新建的掃描工作,尚未開始執行掃描。
·running:表示掃描工作正在執行中,並會顯示目前執行的進度。
·Done:表示掃描工作已執行完畢。

在建立掃描工作之後,接下來即可啟動掃描作業,如圖11所示。圖中的指令分為兩個部分,第一個指令為啟動該掃描工作的指令,在此啟動掃描成功後,就會回覆報表編號(reportID),此編號可用來取得後續掃描的結果。在啟動掃描工作後,可利用如圖11所示的第二個部分指令查看該掃描工作目前掃描的進度。


▲圖11 啟動掃描作業,並查看目前的掃描進度。

當掃描完成後,可利用報表編號(reportID)的編號來取得相對應的報表,OpenVAS提供了多種不同的報表格式,例如HTML、PDF、XML等。可使用如圖12中的指令來取得支援的格式(目前支援10餘種格式)及格式編號(format_id)。


▲圖12 取得支援的格式以及格式編號。

如表3所示,這裡僅列出常用的報表格式及其報表編號(formatID)。

表3 常用的報表格式及其報表編號

以輸出HTML格式的掃描報表為例,如圖13中的指令表示要輸出HTML格式的掃描報表,並且將其儲存至 「/tmp/test.html」檔案(report_id為所需的報表編號,format_id為報表的輸出格式,在此為HTML格式)。


▲ 圖13 輸出HTML格式的掃描報表,並儲存至「/tmp/test.html」檔案。

成功執行後,掃描報表就會儲存到「/tmp/test.html」檔案內,在此要特別提醒的是,在輸出為HTML格式的情況下,OpenVAS會將此輸出的檔案以base64編碼加密,使用者必須自行以base64的解碼解開,然後就會得到如圖14所示之HTML格式的掃描報表。


▲圖14 製作出HTML格式的掃描報表。

進行至此,一個完整的弱點掃描系統即告完成!

<本文作者:吳惠麟,多年資安經驗,喜好利用開源碼建構相關解決方案,著有「資訊安全原理與實驗」等書。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!