本文譯自Vulnerability Scanning with OpenVAS 9 part 1: Installation & Setup系列,本文將融合目前已經發表的四個部分。
Part I:安裝和使用
安裝Openvas 9
要在我們的Kali Linux系統上安裝Openvas 9及其依賴項,我們只需運行以下命令:
apt-get update && apt-get install openvas
下一步運行安裝過程,該過程將安裝OpenVAS並下載大量網絡漏洞測試(NVT)或簽名。由於大量的NVT(50.000+),安裝過程可能需要一段時間來完成並消耗大量的數據。在我們用於本教程的測試設置中,整個設置過程花費了10分鍾完成,這還不錯。(對我們來講可能得兩小時)
運行以下命令以啟動安裝過程:
openvas-setup
設置過程完成后,將啟動所有必需的OpenVAS進程,並自動打開Web界面。 Web界面在端口9392上本地運行,可以通過瀏覽器訪問:
https://localhost:9392/
OpenVAS還將設置一個管理員帳戶並自動生成此帳戶的密碼,該密碼顯示在設置輸出的最后一部分中:
【注】可以使用以下命令更改管理員密碼:
openvasmd –user=[username]–new-password=[password]
openvasmd –user=admin –new-password=[password]
下一步是接受自簽名證書警告並使用自動生成的管理憑據登錄Web界面:
登錄Web界面后,我們將重定向到Greenbone Security Assistant儀表板。 從現在開始,我們可以開始配置和運行漏洞掃描。
啟動和停止OpenVAS
在我們開始安裝虛擬設備之前,我想指出的最后一步是如何啟動和停止OpenVAS服務。 OpenVAS服務可能會消耗大量不必要的資源,因此建議您在不使用OpenVAS時終止這些服務。
運行以下命令以停止服務:
openvas-stop
再次啟動OpenVAS服務,請運行:
openvas-start
這樣我們便可以開始使用OpenVAS進行漏洞掃描了。
Part II:漏洞掃描
本部分我們將學習如何配置和運行漏洞掃描。 出於演示目的,我們還安裝了一個帶有Metasploitable 2的虛擬機,我們將使用OpenVAS進行定位。 如果您不知道如何安裝Metasploitable,可以查看Metasploitable 2的安裝教程或Metasploitable 3。
在我們使用OpenVAS 9實際啟動漏洞掃描之前,我們必須完成以下任務:
- 創建和配置目標
- 創建和配置掃描任務
- 運行掃描
在本部分,您需要安裝和配置OpenVAS 9.0。 如果您此時尚未執行此操作,建議您首先按第1部分安裝OpenVAS。 同時,建議啟動並運行易受攻擊的Metasploitable虛擬機,該計算機可從OpenVAS設備或已安裝OpenVAS的Kali Linux VM訪問。 本教程使用的實驗室設置如下所示:
- 使用VMWare Workstation Pro 12的主機
- 安裝了OpenVAS 9.0的Kali Linux 2018.2 VM(192.168.65.128)
- Metasploitable 2 VM(192.168.65.137)
所有虛擬機都使用NAT網絡,可以在網絡適配器的網絡設置中進行配置。 既然我們已經完成了所有工作,那就讓我們開始配置目標和掃描任務。
【提示】您是否忘記寫下或更改您的OpenVAS管理員密碼? 查看第一部分的安裝教程,了解如何重置管理員密碼。
在OpenVAS中創建目標
第一步是使用OpenVAS / Greenbone Security Assistant Web界面創建和配置目標。 在我們配置掃描任務的以下步驟中選擇此新創建的目標。
創建目標,執行如下兩個步驟:
- 轉到頂部菜單中的“配置”,然后選擇“目標”
- 單擊左上角的藍色圖標以創建新目標
點擊新目標按鈕后,會出現一個對話框,我們需要輸入以下信息:
- 目標名稱,我們將其命名為Metasploitable 2
- 目標IP主機,它是我們的Metasploitable 2實驗室機器的IP地址
其他設置默認即可,然后單擊“創建”按鈕。
新創建的目標現在將顯示在可用目標列表中:
現在我們已經完成了目標設置,讓我們繼續創建掃描任務,掃描Metasploitable 2目標中的漏洞。
在OpenVAS中配置掃描任務
在本部分中,我們將創建一個新的掃描任務。 掃描任務定義將掃描哪些目標以及掃描選項,例如計划,掃描配置和同時掃描的目標以及每個主機的NVT。 在本教程中,我們將只創建一個掃描任務並使用默認掃描配置。 在使用OpenVAS 9.0的漏洞掃描第3部分(將於2018年5月25日發布)中,我們將對掃描配置進行更詳細的介紹。
要創建新的掃描任務,我們必須執行以下步驟:
- 轉到頂部菜單中的“掃描”,然后選擇“任務”
- 指向左上角的藍色圖標,然后選擇“新任務”
單擊新掃描選項后,將出現一個對話框屏幕,我們必須輸入以下信息:
- 任務名稱,我們將其命名為“Scan Metasploitable 2”
- 確保選中我們之前創建的Metasploitable 2目標
- 勾選復選框(單次運行)
- 保持所有其他設置為默認值,然后單擊“創建”按鈕以創建新任務
新創建的任務現在將顯示在任務列表中,如下所示:
還有一些其他選項可用於創建掃描任務。 我們可以使用掃描任務向導立即掃描目標以及高級掃描任務向導,該向導還提供了一些配置選項。 出於演示目的,我們將堅持我們剛剛創建的任務。
現在我們已經配置了掃描任務並將Metasploitable 2機器添加到目標列表,剩下的就是運行任務並等待結果。
運行OpenVAS漏洞掃描
要運行新創建的任務,我們只需單擊綠色開始按鈕,如下所示:
現在,掃描任務將針對所選目標執行。 請注意,完整掃描可能需要一段時間才能完成。 刷新任務頁面時,您將能夠檢查執行任務的進度:
- 重新加載頁面
- 檢查任務狀態/進度
等待一段時間后,掃描任務完成,狀態變為“完成”:
正如預期的那樣,我們可以看到OpenVAS發現了許多嚴重的漏洞。 我們來看看結果的細節。
查看掃描結果
現在漏洞掃描已經完成,我們可以瀏覽頂部菜單中的“掃描 ->報告”。 在報告頁面上,我們可以找到已完成掃描任務的報告:
通過單擊報告名稱,我們可以概述Metasploitable 2計算機上發現的所有漏洞,這與預期的一樣多。 結果默認按嚴重性順序排序:
當我們單擊漏洞名稱時,我們可以概述有關漏洞的詳細信息。 以下詳細信息適用於我們在早期教程中介紹的虛幻IRCD中的后門漏洞:
最后,我們還可以以各種格式導出報告,例如:XML,HTML和PDF。 我們可以通過從下拉菜單中選擇所需的格式來執行此操作,然后單擊綠色導出圖標,如下所示:
Part III:執行網絡掃描
運行自定義漏洞掃描
前面我們學習了如何針對網絡上的單個目標運行漏洞掃描。 本節我們將配置主機列表並使用計划定期運行掃描。
創建目標主機列表
在我們可以在特定主機或子網上運行計划任務之前,我們必須創建目標列表。 要執行此操作,請單擊“配置”菜單中的“目標”菜單項,然后單擊左上角的藍色圖標以創建新目標:
我們將新目標命名為“Target 192.168.100.1/24”。 在新目標對話框屏幕的下一部分中,我們可以使用幾個不同的選項指定目標主機。 我們可以指定手動主機(范圍),從文件中讀取主機或從主機資產創建目標列表。 最后一個選項顯示為灰色,因為我們的庫存中目前沒有主機資產。 當您必須使用單個目標列表掃描多個子網時,可以更輕松地從文本文件中讀取主機。 為此,只需創建一個文本文件,並在一行中用逗號分隔每個目標IP或范圍,如下所示:192.168.100.0/24,192.168.200.100-110,192.168.300.10
- 單IPv4地址:192.168.300.10
- IPv4格式的短地址范圍:192.168.200.100-11
- 長格式的IPv4地址范圍:192.168.200.100-192.168.200.110
- CIDR表示法中的IPv4地址范圍:192.168.100.0/24
對於此演示,我們將使用手動選項並指定范圍192.168.100.1/24。 此范圍包含從192.168.100.1到192.168.100.254的所有IP地址。 然后我們有一些選項可以排除某些主機,反向查找,我們可以指定端口列表和活動測試設置。 除了我們設置為“ICMP和ARP Ping”的活動測試設置外,我們將保留所有設置的默認值。
設置主機發現任務
現在我們已經設置了目標列表,讓我們運行掃描以發現我們之前在目標列表中指定的子網中的主機。 轉到頂部菜單中的“掃描 ->任務”並創建一個新任務:
對於此任務,我們將“掃描目標”選項設置為新創建的目標列表,我們選擇將結果添加到資產中。 然后我們將“掃描配置”設置為“主機發現”,然后單擊“創建”按鈕以創建新的掃描任務:
接下來,我們通過單擊“運行任務”圖標來運行新創建的任務:
主機發現掃描完成后,我們可以在結果頁面上找到結果(掃描 ->結果):
結果列表包含使用ICMP或ARP Ping發現的所有主機。 我們還可以在OpenVAS的資產部分找到發現的主機:
運行系統發現掃描
我們現在概述了響應我們的主機發現探測器的所有主機,但這只告訴我們主機是生命。 要獲得有關這些實時主機的更多信息,我們可以運行“系統發現”掃描。 在我們運行此掃描之前,讓我們看看它到底做了什么。 轉到“配置 ->掃描配置”,然后單擊“系統發現”掃描配置:
當我們單擊NVT系列條目時,我們可以看到System Discovery掃描使用各種檢查來確定操作系統並發現SMB服務器,打印機和各種服務。 現在我們知道這次掃描的作用,讓我們在幾個目標上運行它。 從發現的主機中,我們選擇了一些目標,並將它們包含在新的自定義目標列表中:
然后我們創建一個新的掃描任務,選擇自定義目標列表,最后選擇“系統發現”掃描:
接下來,我們可以執行任務並等待它完成。
這看起來比Host Discovery掃描更有趣,它甚至在掃描配置有限的情況下發現了一些嚴重的漏洞。 在掃描結果中,我們可以發現掃描發現了2個漏洞:DistCC Detection和允許匿名登錄的FTP服務器。
另一個有趣的更新發生在資產部分。 當我們瀏覽資產 ->操作系統
運行完全和快速漏洞掃描
現在我們已經在192.168.100.1/24子網上發現了實時主機,基於這些主機創建了一個自定義目標列表並運行了一些掃描,讓我們運行全速和快速漏洞掃描。 Full&Fast漏洞掃描是一種平衡掃描配置,經過優化可在最短的時間內提供最佳結果。 這種類型的掃描探測大多數NVT並使用以前收集的信息。 讓我們通過創建一個新任務來設置此掃描:
我們再次使用我們之前創建的自定義目標列表,然后選擇完全和快速掃描配置。 您還可以使用掃描配置設置指定同時掃描多少NVT和主機。 當您使用相對較重的掃描配置定位許多主機時,請考慮您的計算機有足夠的資源可用於有效執行掃描任務。 此外,考慮到使用此類掃描一次掃描不同的主機會產生大量網絡流量,甚至可能導致服務和主機崩潰。 在本次演示中,我們同時掃描了一台主機和20台NVT。 經過一個多小時的掃描,OpenVAS得出以下結果:
發現的漏洞包括信息泄露漏洞,例如主機192.168.100.106的“DCE / RPC和MSRPC服務枚舉報告”,以及更嚴重的漏洞,例如“Microsoft Windows SMB Server Multiple Vulnerabilities-Remote(4013389)”或更好地稱為MS17 -010和EternalBlue。 OpenVAS還掃描已知錯誤配置的目標,其中“IIS ASP.NET應用程序跟蹤已啟用”就是一個很好的例子。 可能會濫用啟用應用程序跟蹤等錯誤配置,以允許攻擊者查看Web請求。 這些請求[FB1]可以包含敏感數據,例如具有登錄憑據的POST請求。
到目前為止,結果非常有趣,因為我們發現了一些嚴重的漏洞,如MS17-010。我們還發現了不同的錯誤配置,允許攻擊者從我們的系統中檢索敏感數據,這些數據可用於訪問系統或為以后的攻擊階段提供有用的信息。在這一點上,我不想詳細討論誤報,甚至更糟糕的誤報,但OpenVAS等掃描工具只能檢測它掃描的漏洞。當我正在掃描我自己的私人實驗室機器時,我知道有一些漏洞/錯誤配置,OpenVAS沒有接收到它們,如果沒有進一步測試它們就會被忽視。雖然OpenVAS確實揭示了嚴重的漏洞,但我們不能完全依賴掃描結果,因此結合自動掃描進行手動測試也很重要。在使用OpenVAS進行漏洞掃描的第4部分中,我們將介紹漏報(未檢測到的漏洞),我們將看看我們可以采取哪些措施來避免這種情況。在下一節中,我們將了解如何使用OpenVAS執行憑證掃描。
Credentialed漏洞掃描
到目前為止,我們僅從網絡角度掃描了漏洞目標,例如易受攻擊的Web服務器,SMB和FTP服務器。 我們還可以在目標配置中提供憑據,以便OpenVAS能夠登錄並檢查本地漏洞,例如內核和已安裝軟件中的安全問題,例如允許權限提升的漏洞。 使用憑據的另一種方法是檢查目標是否為默認值或易於猜測憑據,例如admin / admin。 在這種情況下,OpenVAS將檢查目標上的給定憑據,並報告它們是否正常工作。 一個很好的用例就是在掃描(一系列)Cisco設備時創建默認憑據。 在這種情況下,您可以添加cisco / cisco作為用戶名和密碼,或只添加用戶名。 在本演示中,我們將掃描Metasploitable 2並提供管理員憑據。
要在目標上運行憑證掃描,我們必須首先創建憑據,方法是轉到“配置 - >憑據”,然后單擊藍色星形圖標以創建一組新憑據:
我們將其命名為“MS2”並提供Metasploitable 2的默認憑據(用戶名和密碼:msfadmin)。 下一步是創建一個新目標,輸入目標IP地址並指定新創建的SSH訪問憑據,以便OpenVAS能夠運行經過身份驗證的檢查:
從這里開始,你將不得不創建一個新的掃描任務並運行它,就像我們在本教程中已經做過幾次一樣。 現在我們已經提供了憑據,掃描完成后,本地漏洞將包含在報告中。
安排掃描任務
我們將在本教程中介紹的最后一個主題是掃描任務調度。 當您希望在預先指定的時間內定期掃描主機或網絡范圍時,任務調度特別有用。 假設我們希望在晚上幾乎沒有流量時在公司網絡上運行漏洞掃描。 在這種情況下,我們可以創建每天晚上11點運行的日程安排。 我們來看看如何做到這一點。
首先,我們需要創建一個計划,然后我們將其分配給掃描任務。 要創建計划,請轉至“配置” - >“計划”,創建新計划並指定所需的參數:
此計划將從今天晚上11點開始每天運行漏洞掃描。 唯一剩下的就是創建一個新的掃描任務並分配計划:
Part IV:自定義掃描配置
打印機的自定義掃描配置
在本節中,我們將創建一個自定義掃描配置,以測試企業打印機和多功能(MFP)的漏洞。 我們要創建自定義掃描配置的原因是,在安全性和漏洞方面,打印機通常是被忽視的目標。 成功利用這些設備上的漏洞不僅可以讓攻擊者訪問敏感數據,還可以獲得網絡上的灘頭陣地。 許多企業打印機還使用輕量級目錄訪問協議(LDAP)對公司的域控制器進行身份驗證。 在大多數情況下,設備不太可能通過管理員帳戶進行身份驗證,但可能會為攻擊者提供對域帳戶的訪問權限。
在定位打印機時,盡可能優化掃描配置並僅掃描目標打印機的NVT非常重要。 許多打印機具有易碎的網絡堆棧,無法處理大型掃描負載,甚至可能導致目標崩潰。 我們將排除與打印機無關的NVT,例如針對特定制造商的設備的NVT或針對本地漏洞的NVT。
創建自定義掃描配置
首先,我們將創建一個新的掃描配置,並將其命名為“打印機”。 我們可以選擇復制現有的掃描配置並禁用我們不想使用的NVT,但由於我們在此處定位打印機,最好從空掃描配置開始,並啟用適用於打印機設備的少數NVT。
接下來我們可以編輯掃描配置來定位NVT:
向下滾動到全局變量設置:從掃描中排除打印機,然后單擊“編輯”圖標:
啟用“從掃描中排除打印機”:
接下來,我們創建一個新的掃描任務,並選擇打印機目標列表作為目標,並選擇新創建的掃描配置“完全和快速打印機”:
提示1:當您選擇單個NVT時,請不要單擊NVT系列復選框,因為這將添加來自特定系列的所有NVT。
提示2:在本演示中,我們僅添加了專門針對打印機的NVT。 由於大多數現代打印機運行不同的服務和服務器,因此建議同時啟用面向FTP,Telnet,SSH,SNMP和Web服務器的NVT。
提示3:一般來說,我建議不要選擇單個NVT的路線,除非它只是少數幾個與打印機一樣的NVT。
The End!!!