天天看點

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

點選檢視第一章

第2章 擷取漏洞資訊

  如果要使用Metasploit實施滲透攻擊,需要先擷取目标主機的漏洞資訊。使用者可以借助一些漏洞掃描工具來擷取目标主機的漏洞資訊,然後根據漏洞所對應的攻擊載荷實施滲透攻擊。最常用的漏洞掃描工具包括Nessus和OpenVAS。使用者還可以直接到官方網站擷取一些裝置或系統的漏洞資訊。本章将介紹幾種常用的擷取漏洞資訊的方法。

2.1 使用Nessus

  Nessus号稱是世界上最流行的漏洞掃描程式,全世界有超過75000個組織在使用它。該工具提供完整的電腦漏洞掃描服務,并随時更新其漏洞資料庫。Nessus可實施的漏洞掃描包括:網絡裝置(如防火牆、列印機)、虛拟主機(如VMware ESX、ESXi、vSphere)、作業系統(如Windows、Mac、Linux)、資料庫(如Oracle、SQL Server、MySQL)、Web應用程式(如Web伺服器、Web服務、OWASP漏洞)、危害檢測(如病毒、惡意軟體、後門)等。本節将介紹使用Nessus擷取漏洞資訊的方法。

2.1.1 安裝并激活Nessus

  需先安裝Nessus工具。安裝Nessus工具後,必須要激活才可使用。下面分别介紹安裝并激活Nessus的方法。

  1.擷取Nessus安裝包

  Nessus的官方下載下傳位址是:

http://www.tenable.com/products/nessus/select-your-operating-system           

  在浏覽器中輸入以上位址,将打開如圖2.1所示的界面。

  官網提供了Nessus工具各種平台的安裝包,如Windows、Mac OS X、Linux、FreeBSD等。使用者可以根據自己的作業系統及架構,選擇對應的安裝包。例如,選擇下載下傳Debian x64架構的安裝包。在Name列單擊對應的包,即Nessus-8.1.2-debian6_amd64.deb包,顯示如圖2.2所示的接受許可協定界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊
帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  該界面顯示了下載下傳Nessus軟體包的許可證協定資訊。單擊I Agree按鈕,開始下載下傳。

  2.安裝Nessus

  【執行個體2-1】以Kali Linux為例,介紹在Linux下安裝Nessus工具的方法。具體操作步驟如下:

  (1)從官網上下載下傳安裝包。本例中下載下傳的安裝封包件名為Nessus-8.1.2-debian6_amd64.deb。

  (2)将下載下傳的安裝包複制到Kali中,本例中複制到/root下。開始安裝Nesus工具。執行指令如下:

root@daxueba:~# dpkg -i Nessus-8.1.2-debian6_amd64.deb 
  正在選中未選擇的軟體包 nessus。
  (正在讀取資料庫 ... 系統目前共安裝有 327450 個檔案和目錄。)
  正準備解包 Nessus-8.1.2-debian6_amd64.deb  ...
  正在解包 nessus (8.1.2) ...
  正在設定 nessus (8.1.2) ...
  Unpacking Nessus Core Components...
   - You can start Nessus by typing /etc/init.d/nessusd start
   - Then go to https://daxueba:8834/ to configure your scanner
  正在處理用于 systemd (232-22) 的觸發器 ...           

  看到輸出以上類似資訊,則表示Nessus工具安裝完成。接下來,使用者在浏覽器的位址欄中輸入

https://daxueba:8834/

https://IP:8834

,即可通路Nessus服務。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  3.激活Nessus

  在使用Nessus之前,必須先激活該服務才可使用。如果要激活Nessus服務,則需要到官網擷取一個激活碼。下面介紹擷取激活碼的方法。具體操作步驟如下:

  (1)在浏覽器中輸入位址:

http://www.nessus.org/products/nessus/nessus-plugins/obtain-an-activation-
  code           

  打開如圖2.3所示的界面。

  (2)單擊Nessus Home Free下面的Register Now按鈕,顯示如圖2.4所示的界面。

  (3)在該界面填寫一些資訊,以擷取激活碼。任意填寫First Name和Last Name文本框在Email下的文本框填寫一個合法的郵件位址,用來擷取郵件。當以上資訊設定完成後,單擊Register按鈕。接下來,将會在注冊的郵箱中收到一份關于Nessus的郵件。進入郵箱打開收到的郵件,将會看到一串數字,類似XXXX-XXXX-XXXX-XXXX,即激活碼。

  (4)此時,可以使用以上擷取到的激活碼來激活該服務了。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊
帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

2.1.2 登入及配置Nessus

  在實施漏洞掃描之前,還需要進行簡單的配置,如建立政策和掃描任務等。下面介紹登入及配置Nessus的方法。

  1.登入Nessus服務

  在登入Nessus服務之前,首先需要确定該服務已經啟動。否則,無法連接配接到該服務。預設情況下,安裝該服務後是沒有啟動的。是以,使用者需要先啟動該服務。執行指令如下:

root@daxueba:~# /etc/init.d/nessusd start
  Starting Nessus services:                                  [确定]           

  從輸出的資訊中可以看到,Nessus服務已經啟動。接下來,使用者就可以連接配接該服務了。

  【執行個體2-2】登入Nessus服務。具體操作步驟如下。

  (1)在浏覽器的位址欄中輸入

,通路Nessus服務。打開如圖2.5所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊
帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (2)在該界面顯示該連接配接不受信任。這是因為Nessus是一個安全連接配接(HTTPS協定),是以需要被信任後才允許登入。單擊Advanced按鈕,顯示如圖2.6所示的界面。

  (3)該界面顯示了此連結可能存在的風險。單擊Add Exception…按鈕,顯示如圖2.7所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊
帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (4)單擊Confirm Security Exception按鈕,顯示如圖2.8所示的界面。

  (5)該界面要求建立一個賬号,用于管理Nessus服務。這是因為第一次使用,目前還沒有建立任何賬号。在該界面建立一個使用者賬号,并設定密碼。然後單擊Continue按鈕,顯示如圖2.9所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (6)在該界面輸入從郵件中的擷取到的激活碼。單擊Continue按鈕,顯示如圖2.10所示的界面。

  (7)下載下傳完後,進行初始化。此過程,需要很長一段時間,使用者需要耐心等待。當初始化完成後,顯示如圖2.11所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (8)輸入在第(5)步驟中建立的賬戶和密碼,單擊Sign In按鈕,即可登入Nessus服務。登入成功後,顯示如圖2.12所示界面。

  (9)看到該界面,則表示已成功登入到Nessus服務。接下來,建立對應的政策和掃描任務即可對目标實施漏洞掃描。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  2.建立政策

  政策,簡單地說就是使Nessus工具使用最佳化的配置,對目标主機進行掃描。是以在實施掃描之前,建立政策也是非常重要的。Nessus工具預設提供了21個掃描政策模闆。如果使用者希望重新定制的話,則可以建立新的政策。下面介紹建立政策的方法。

  【執行個體2-3】建立政策。具體操作步驟如下:

  (1)在Nessus主界面的左側欄中單擊Policies指令,顯示如圖2.13所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (2)單擊右上角的New Policy按鈕,顯示如圖2.14所示的界面。

  (3)從該界面可以看到所有的政策模闆,使用者可以選擇選擇任意一個模闆類型來建立新的政策。其中,在圖示中顯示有UPGRADE資訊的,表示家庭版不可以使用。這裡選擇Advanced Scan類型。單擊該圖示後,顯示如圖2.15所示的界面。

(4)在該界面設定政策名和描述資訊(可選項)。這裡設定政策名為Local Vulnerability Assessment。然後單擊Plugins标簽,顯示如圖2.16所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊
帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (5)該界面顯示了所有插件程式,從該界面可以看到預設全部是啟動的。單擊Disable All按鈕,禁用所有啟動的插件程式。然後指定需要啟動的插件程式,如啟動Debian Local Security Checks和Default Unix Accounts插件程式,啟動後顯示效果如圖2.17所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊
帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (6)單擊Save按鈕,顯示如圖2.18所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (7)從該界面可以看到建立的政策Local Vulnerability Assessment,表示該政策已建立成功。

  3.建立掃描任務

  政策建立成功後,必須要建立掃描任務才能實施漏洞掃描。下面介紹建立掃描任務的具體操作步驟。

  (1)在Nessus的主界面單擊打開Scans頁籤,打開掃描任務界面,如圖2.19所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (2)從該界面可以看到目前沒有任何掃描任務,是以需要添加掃描任務後才能掃描。單擊右上角的New Scan按鈕,顯示如圖2.20所示界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (3)該界面顯示了一些可建立的掃描任務模闆。打開User Defined頁籤,可以看到使用者手動建立的政策模闆。選擇Advanced Scan模闆類型,顯示如圖2.21所示的界面。

  (4)在該界面設定掃描任務名稱、描述、檔案夾及掃描目标。設定完以上資訊後,單擊Plugins标簽,設定啟用不同的漏洞掃描插件。然後單擊Save按鈕,即可看到建立的掃描任務,如圖2.22所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (5)單擊圖示,開始對目标進行掃描。

2.1.3 實施漏洞掃描

  通過前面的步驟,建立完成掃描任務後,即可對指定的目标實施掃描。下面介紹實施漏洞掃描的方法。

  【執行個體2-4】實施漏洞掃描。具體操作步驟如下:

  (1)這裡以2.1.2小節中建立的掃描任務為例,開始實施漏洞掃描。在圖2.22中單擊按鈕,開始對目标進行掃描,如圖2.23所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (2)從該界面可以看到Last Modified列顯示的圖示為,表示正在對目标主機進行掃描。如果要停止掃描,則單擊右側的(停止一下)按鈕。如果需暫停掃描任務,則單擊按鈕。掃描完成後,将顯示如圖2.24所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (3)當原來的圖示變為,表示掃描完成。此時,單擊掃描名稱即可檢視掃描結果,如圖2.25所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (4)該界面顯示了掃描到的所有主機及主機的漏洞資訊。共掃描了10台主機,掃描出的漏洞共95個、給出的補救措施共2個及掃描曆史數為1。從Vulnerabilities列可以看到,以不同顔色顯示了掃描結果。每種顔色表示漏洞的嚴重性,顔色中的數字表示漏洞個數。使用者将滑鼠懸浮到每個顔色上面,還可以看到該漏洞所占的百分比。在右下角以環形圖顯示了每種漏洞所占的比例,而且在圓形圖右側顯示了每種顔色代表的漏洞安全級别。其中,顔色的安全級别依次是Critical(非常嚴重,紅色)、High(比較嚴重,黃橙)、Medidum(中等的,黃色)、Low(中低的,綠色)、Info(資訊,藍色)。接下來,使用者可檢視并分析每台主機的漏洞資訊。

2.1.4 分析并導出漏洞掃描報告

  當使用者對目标主機掃描完成後,即可分析掃描結果,并從中擷取到目标主機的漏洞資訊。為了友善使用者對掃描結果的分析,Nessus支援使用者将掃描結果生成不同格式的報告。Nessus支援導出的檔案格式包括Nessus、PDF、HTML、CSV和Nessus DB這5種。不管使用哪種掃描模闆,導出的檔案格式都是相同的。下面介紹分析并導出漏洞掃描報告的方法。

  1.分析漏洞掃描結果

  【執行個體2-5】分析漏洞掃描結果。具體操作步驟如下:

  (1)下面以【執行個體2-4】的掃描結果為例,對其掃描結果進行分析。掃描結果如圖2.26所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (2)該界面顯示了所有目标主機的掃描結果。例如,這裡分析主機192.168.0.113的漏洞掃描結果。單擊主機位址192.168.0.113,顯示該主機的掃描結果,如圖2.27所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (3)從該界面可以看到,該主機中共掃描出71個漏洞。在該漏洞清單中,顯示了漏洞的嚴重情況(Sev)、插件名(Name)、插件族(Family)和漏洞個數(Count)。其中,Name列的值表示掃描該主機時使用的插件;Family列的值表示掃描主機使用的插件所屬的族;Count值表示存在該漏洞的個數。在該界面右側Host Details中,顯示了關于該主機的詳細資訊。包括IP位址、DNS、MAC位址、作業系統類型及掃描所用的時間等。同樣,在右下角以環形圖顯示了每種級别漏洞所占的百分比。使用者将滑鼠懸浮到每種顔色上,即可看到每種漏洞所占的百分比。在該界面通過單擊插件名稱,即可檢視所有漏洞的詳細資訊。例如,檢視該主機中VNC Server 'password' Password漏洞的詳細資訊,顯示結果如圖2.28所示。

  (4)該界面顯示了VNC Server 'password' Password漏洞的詳細資訊。其中,包括該漏洞的描述資訊(Description)、漏洞解決方法(Solution)及輸出(Output)資訊等。從描述資訊中可以看到,如果遠端主機正在運作着VNC服務,并且使用了弱密碼是非常不安全的。Nessus能夠使用password密碼登入VNC服務,進而控制目标主機。解決的方法就是為VNC服務設定一個複雜的密碼。另外,使用者在該界面的右側也可以看到關于漏洞的一些詳細資訊,通常包括Plugin Details(插件詳細資訊)、Risk Information(風險資訊)、Vulnerability Information(漏洞資訊)、Exploitable With和Reference Information(參考資訊)這5部分。從Reference Information部分,可以看到該漏洞的CVE編号。當使用者确定該漏洞的CVE編号後,即可在網上找到對應的攻擊載荷,或者直接在Metasploit中使用search指令搜尋對應的攻擊子產品。然後,實施滲透攻擊。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  2.生成掃描報告

  為了友善使用者對其他漏洞進行分析,下面紹将掃描結果生成報告的方法。

  【執行個體2-6】将掃描結果導出為Nessus格式的報告。具體操作步驟如下:

  (1)在掃描結果界面單擊Export按鈕,将彈出一個清單,如圖2.29所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (2)該菜單欄中顯示了可以生成的掃描漏洞報告格式。這裡選擇導出檔案格式為Nessus。是以,單擊Nessus選項,彈出如圖2.30所示的對話框。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (3)在該界面選中Save File單選按鈕,單擊OK按鈕,即生成報告檔案。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

2.1.5 遠端調用Nessus

  在使用者搭建好Nessus服務後,即可直接在Metasploit中遠端調用,通過指令行方式對目标主機實施掃描。下面介紹在Metasploit中遠端調用Nessus服務,并實施掃描的方法。

  【執行個體2-7】在Metasploit中調用Nessus對目标主機實施掃描。具體操作步驟如下:

  (1)确定Metasploit已經連接配接到PostgreSQL資料庫服務。因為使用Nessus掃描的所有結果都将儲存在資料庫中,是以必須成功連接配接一個資料庫。執行指令如下:

msf5 > db_status 
  [*] Connected to msf. Connection type: postgresql.           

  從輸出的資訊中,可以看到已經連接配接到msf資料庫。如果沒有連接配接的話,使用db_connect指令連接配接(關于資料庫的連接配接,在前面章節有詳細介紹)。

  (2)載入Nessus橋插件。執行指令如下:

msf5 > load nessus 
  [*] Nessus Bridge for Metasploit
  [*] Type nessus_help for a command listing
  [*] Successfully loaded plugin: Nessus           

  從輸出的資訊中,可以看到已成功加載了Nessus橋插件。此時,使用者可以使用nessus_help來檢視Nessus橋插件支援的所有指令。Nessus橋插件經常會有一些改進和更新,是以定期檢查nessus_help的輸出是非常有必要的。這樣,使用者就能夠随時了解該插件是否又添加了新的功能。執行nessus_help指令後,會顯示7部分指令。下面分别介紹每部分的指令。其中,第1部分為通用指令,具體如下:

msf5 > nessus_help 
  Command                       Help Text
  -----------------           -------------------------------------
  Generic Commands             #通用指令
  -----------------           -------------------------------------
  nessus_connect              Connect to a Nessus server
  nessus_logout                Logout from the Nessus server
  nessus_login                  Login into the connected Nesssus server with a 
                              different username and password
  nessus_save                  Save credentials of the logged in user to nessus.yml
  nessus_help                 Listing of available nessus commands
  nessus_server_properties    Nessus server properties such as feed type, 
                              version, plugin set and server UUID.
  nessus_server_status       Check the status of your Nessus Server
  nessus_admin                 Checks if user is an admin
  nessus_template_list        List scan or policy templates
  nessus_folder_list          List all configured folders on the Nessus server
  nessus_scanner_list         List all the scanners configured on the Nessus server           

  該部分是一項常用指令,即對Nessus服務的基本操作,如連接配接、登入、退出Nessus服務等。

  第2部分為資料庫指令,具體如下:

Nessus Database Commands        #Nessus資料庫指令
  ------------------------        ------------------------------------
  nessus_db_scan                   Create a scan of all IP addresses in db_hosts
  nessus_db_import                Import Nessus scan to the Metasploit connected 
                                  database           

  該部分是對Nessus連接配接的資料庫的操作。例如,導入Nessus掃描報告到Metasploit連接配接的資料庫中。

  第3部分為報告指令,具體如下:

Reports Commands                    #報告指令
  -----------------------            -------------------------------
  nessus_report_hosts               Get list of hosts from a report
  nessus_report_vulns               Get list of vulns from a report
  nessus_report_host_details         Get detailed information from a report item                                     on a host           

  該部分是對Nessus掃描報告的操作。如檢視掃描報告的主機、漏洞及主機詳細資訊等。

  第4部分為掃描指令,具體如下:

Scan Commands                   #掃描指令
  ----------------------          ---------------------------------
  nessus_scan_list              List of all current Nessus scans
  nessus_scan_new                  Create a new Nessus Scan
  nessus_scan_launch           Launch a newly created scan. New scans need to 
                                  be manually launched through this command
  nessus_scan_pause             Pause a running Nessus scan
  nessus_scan_pause_all         Pause all running Nessus scans
  nessus_scan_stop              Stop a running or paused Nessus scan
  nessus_scan_stop_all          Stop all running or paused Nessus scans
  nessus_scan_resume           Resume a pasued Nessus scan
  nessus_scan_resume_all        Resume all paused Nessus scans
  nessus_scan_details           Return detailed information of a given scan
  nessus_scan_export             Export a scan result in either Nessus, HTML, 
                                  PDF, CSV, or DB format
  nessus_scan_export_status      Check the status of an exported scan           

  該部分為Nessus掃描指令,如檢視掃描清單、啟動、暫停、停止掃描以及檢視掃描詳細資訊等。

  第5部分為插件指令,具體如下:

Plugin Commands                 #插件指令
  -----------------                -----------------
  nessus_plugin_list              List all plugins in a particular plugin family.
  nessus_family_list              List all the plugin families along with their 
                                  corresponding family IDs and plugin count.
  nessus_plugin_details           List details of a particular plugin           

  該部分為Nessus掃描插件指令,如檢視所有的插件清單、插件族及插件詳細資訊等。

  第6部分為使用者指令,具體如下:

User Commands                   #使用者指令
  -----------------               -----------------
  nessus_user_list                Show Nessus Users
  nessus_user_add               Add a new Nessus User
  nessus_user_del                Delete a Nessus User
  nessus_user_passwd            Change Nessus Users Password           

  該部分為Nessus使用者指令,如建立、删除及檢視Nessus使用者。注意,這裡指的是Nessus使用者,并不是系統中的使用者。

  第7部分為政策指令,具體如下:

Policy Commands                 #政策指令
  -----------------               -----------------
  nessus_policy_list              List all polciies
  nessus_policy_del               Delete a policy           

  該部分為Nessus政策指令,如檢視或删除政策。了解以上的這些指令,有助于使用者在後續進行的一系列操作。

  (3)使用nessus_connect指令登入到Nessus伺服器。其文法格式如下:

nessus_connect username:password@伺服器位址:8834 <ok>           

  在以上文法中,username和password分别表示Nessus伺服器的登入使用者名和密碼。本例中的Nessus伺服器位址為192.168.1.105,登入名和密碼為admin、123456。是以,執行指令如下:

msf5 > nessus_connect admin:[email protected]:8834
  [*] Connecting to https://192.168.1.105:8834/ as admin
  [*] User admin authenticated successfully.           

  輸出的資訊顯示:已成功登入到Nessus伺服器。

  (4)接下來的操作,與圖形界面的使用一樣。在實施掃描之前,需要建立掃描政策和掃描任務。使用者可以使用nessus_policy_list檢視伺服器上所有已經定義的掃描政策。執行指令如下:

msf5 > nessus_policy_list 
  Policy ID      Name                                 Policy UUID
  ---------      ----                                  -----------
  4                Local Vulnerability Assessment        ad629e16-03b6-8c1d-cef6-
                                                      ef8c9dd3c658d24bd260ef5f9e66           

  

  從輸出的資訊中,可以看到有一個自定義的掃描政策。接着,将使用該政策來建立掃描任務。

  (5)使用nessus_scan_new指令建立掃描任務。在建立掃描任務之前,先檢視該指令的使用方法。具體如下:

msf5 > nessus_scan_new -h
  [*] nessus_scan_new <UUID of Policy> <Scan name> <Description> <Targets>
  [*] Use nessus_policy_list to list all available policies with their 
  corresponding UUIDs           

  從輸出的資訊中,可以看到需要指定政策的UUID、掃描名稱、描述資訊及掃描目标。這裡将建立一個名稱為Vuln Scan的掃描任務。執行指令如下:

nessus_scan_new ad629e16-03b6-8c1d-cef6-ef8c9dd3c658d24bd260ef5f9e66 
  "Local Scan" "Vuln Scan" 192.168.1.0/24
  [*] Creating scan from policy number ad629e16-03b6-8c1d-cef6-ef8c9dd3
  c658d24bd260ef5f9e66, called Local Scan - Vuln Scan and scanning 192.
  168.1.0/24
  [*] New scan added
  [*] Use nessus_scan_launch 9 to launch the scan
  Scan ID      Scanner ID      Policy ID          Targets                 Owner
  -------       ----------        ---------        -------                 -----
  9              1                   8                 192.168.1.0/24      admin           

  輸出的資訊提示:已成功建立了掃描任務。

  (6)啟動掃描任務。執行指令如下:

msf5 > nessus_scan_launch 9
  [+] Scan ID 9 successfully launched. The Scan UUID is 0053420a-bae4-fbe4-
  f400-dae36aa0de996727a58e15fda377           

  輸出的資訊顯示:已成功啟動了剛才建立的掃描任務。在以上指令中,編号9指的是掃描任務ID。

  (7)掃描開始後,可以使用nessus_scan_list指令檢視掃描運作的狀态。執行指令如下:

msf5 > nessus_scan_list 
  Scan ID      Name            Owner       Started       Status          Folder
  -------         ----            -----       -------        ------         ------
  6                Scan         admin                   completed      3
  9                Vuln Scan       admin                 running        3           

  輸出的資訊中顯示:名稱為Vuln Scan的掃描任務狀态為running,表示正在運作。掃描結束後,其狀态顯示為completed(完成)。等待掃描完成後,即可檢視并分析其掃描報告。

  (8)掃描結束後,可以使用“nessus_report_hosts 掃描ID”指令檢視其掃描報告。執行指令如下:

 msf5 > nessus_report_hosts 9
  Host ID
Hostname
% of Critical Findings
% of High Findings
% of Medium Findings
% of Low Findings
  -------
--------
---------
---------
---------
---------
  6
192.168.1.1
0
0
2
1
  101
192.168.1.100
0
1
7
2
  103
192.168.1.102
8
3
26
5
  105
192.168.1.104
9
1
3
1
  106
192.168.1.105
52
102
174
10
  109
192.168.1.108
0
0
0
0           

  從輸出資訊中可以看到,共掃描了6台主機,并且分别顯示了每台主機中不同級别的漏洞個數。如果使用者要檢視其中某台主機的漏洞資訊,可以使用nessus_report_host_details指令來實作。其文法格式如下所示:

nessus_report_host_details [scan ID] [host ID]           

  例如,檢視主機192.168.1.104的漏洞資訊。則執行指令如下:

msf5 > nessus_report_host_details 9 105
  [*] Host information                                #主機詳細資訊
  IP Address: 192.168.1.104
  Hostname: 
  Operating System: Microsoft Windows XP
  Microsoft Windows XP Service Pack 1
  [*] Vulnerability information                        #漏洞詳細資訊
  PluginName              Plugin Famil               Severity
  -----------             ------------               -------------
  CommonPlatformEnumeration(CPE)                         General        0
  DCEServicesEnumeration                                 Windows        0
  DeviceType                                            General        0
  EthernetCardManufacturerDetection                    Misc        0
  ICMPTimestampRequestRemoteDateDisclosure            General        0
  MS03-039:MicrosoftRPCInterfaceBufferOverrun(824146)(uncredentialedcheck) 
  Windows         4
  MS03-043:BufferOverruninMessengerService(828035)(uncredentialedcheck)
  Windows        4
  MS04-012: Cumulative Update for Microsoft RPC/DCOM (828741) (uncredentialed 
  check)     Windows    4
  MS04-022: Microsoft Windows Task Scheduler Remote Overflow (841873) 
  (uncredentialed check)    Windows    4
  MS05-007: Vulnerability in Windows Could Allow Information Disclosure 
  (888302) (uncredentialed check)    Windows    2
  MS05-043: Vulnerability in Printer Spooler Service Could Allow Remote Code 
  Execution (896423) (uncredentialed check)    Windows    4
  MS06-035: Vulnerability in Server Service Could Allow Remote Code Execution 
  (917159) (uncredentialed check)    Windows    3
  MS06-040: Vulnerability in Server Service Could Allow Remote Code Execution 
  (921883) (uncredentialed check)    Windows    4
  MS09-001: Microsoft Windows SMB Vulnerabilities Remote Code Execution 
  (958687) (uncredentialed check)     Windows    4
  Microsoft Windows Administrator Default Password Detection (W32/Deloder Worm 
  Susceptibility)     Windows    4
  ...
  UPnPTCPHelperDetection                                    Windows        0
  VMwareVirtualMachineDetection                            General        0
  WindowsNetBIOS/SMBRemoteHostInformationDisclosure        Windows        0
  [*] Compliance information
  Plugin Name  Plugin Famil  Severity
  -----------  ------------  --------           

  以上輸出資訊,顯示了目标主機192.168.1.104的詳細資訊,包括主機系統資訊和漏洞資訊。如果使用者想要檢視具體的漏洞資訊,可以使用nessus_report_vulns指令檢視。顯示結果如下:

msf5 > nessus_report_vulns 9
  PluginID    PluginName                            Plugin Family    Vulnerability Count
  -----    ---------------                   -----------     -------------
  10028      DNS Server BIND version         DNS                        1
            Directive Remote Version Detection
  10056    /docDirectoryBrowsable             CGI abuses                1
  10079    AnonymousFTPEnabled                FTP                        1
  10092    FTPServerDetection                 Service detection        1
  10107    HTTPServerTypeandVersion        Web Servers                2
  10114    ICMPTimestampRequestRemoteDate    General                    4
            Disclosure
  10150    WindowsNetBIOS/SMBRemoteHost    Windows                   3
            InformationDisclosure
  10203    rexecdServiceDetection             Service detection        1
  10205    rloginServiceDetection              Service detection        1
  10223    RPCportmapperServiceDetection    RPC                        2
  10245    rshServiceDetection                    Service detection        1
  10263    SMTPServerDetection                Service detection        1
  10267    SSHServerTypeandVersion            Service detection        2
            Information
  ...           

  以上輸出資訊顯示了該掃描任務(掃描ID為9)的所有漏洞資訊。如果使用者想檢視具體的漏洞資訊,可以使用vulns指令來實作。例如,檢視主機192.168.1.104的漏洞資訊。執行指令如下:

msf5 > vulns --rhosts 192.168.1.104
  [*] Time: 2017-05-07 09:14:29 UTC Vuln: host=192.168.1.104 name=MS08-067 
  Microsoft Server Service Relative Path Stack Corruption refs=URL-http:
  //www.rapid7.com/vulndb/lookup/dcerpc-ms-netapi-netpathcanonicalize-dos,
  MSB-MS08-067,OSVDB-49243,CVE-2008-4250 
  [*] Time: 2017-05-07 11:46:18 UTC Vuln: host=192.168.1.104 name=Nessus Scan 
  Information refs=NSS-19506 
  [*] Time: 2017-05-07 11:46:18 UTC Vuln: host=192.168.1.104 name=Patch Report 
  refs=NSS-66334 
  [*] Time: 2017-05-07 11:46:18 UTC Vuln: host=192.168.1.104 name=MS04-022: 
  Microsoft Windows Task Scheduler Remote Overflow (841873) (uncredentialed 
  check) refs=CVE-2004-0212,BID-10708,OSVDB-7798,MSFT-MS04-022,NSS-13852 
  [*] Time: 2017-05-07 11:46:19 UTC Vuln: host=192.168.1.104 name=MS08-067: 
  Microsoft Windows Server Service Crafted RPC Request Handling Remote Code 
  Execution (958644) (uncredentialed check) refs=CVE-2008-4250,BID-31874,
  OSVDB-49243,MSFT-MS08-067,CERT-827267,IAVA-2008-A-0081,EDB-ID-6824,EDB-
  ID-7104,EDB-ID-7132,CWE-94,MSF-MS08-067 Microsoft Server Service Relative 
  Path Stack Corruption,NSS-34477 
  [*] Time: 2017-05-07 11:46:19 UTC Vuln: host=192.168.1.104 name=MS05-027: 
  Vulnerability in SMB Could Allow Remote Code Execution (896422) 
  (uncredentialed check) refs=CVE-2005-1206,BID-13942,OSVDB-17308,MSFT-
  MS05-027,NSS-18502 
  [*] Time: 2017-05-07 11:46:19 UTC Vuln: host=192.168.1.104 name=Common 
  Platform Enumeration (CPE) refs=NSS-45590 
  [*] Time: 2017-05-07 11:46:19 UTC Vuln: host=192.168.1.104 name=Device Type 
  refs=NSS-54615 
  [*] Time: 2017-05-07 11:46:19 UTC Vuln: host=192.168.1.104 name=Microsoft 
  Windows XP Unsupported Installation Detection refs=NSS-73182           

  以上輸出資訊顯示了目标主機192.168.1.104的詳細漏洞資訊。

2.2 使用OpenVAS

  OpenVAS(開放式漏洞評估系統)是一個用戶端/伺服器架構,它常用來評估目标主機上的漏洞。OpenVAS是Nessus項目的一個分支,它提供的産品是完全免費的。本節介紹使用OpenVAS來擷取漏洞資訊的方法。

2.2.1 安裝及初始化OpenVAS

  要使用OpenVAS,需要先安裝。下面介紹安裝及初始化OpenVAS服務的方法。

  1.擷取OpenVAS的安裝包

  OpenVAS安裝包的下載下傳位址:

http://www.openvas.org/download.html           

  在浏覽器的位址欄中輸入該位址後,打開如圖2.31所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  該界面提供了3種安裝OpenVAS的包,分别是Livedemo(Live模式)、Virtual Appliance(虛拟應用程式)和Source Packages(源碼包)。使用者可以選擇下載下傳任意一種安裝包。例如,選擇下載下傳源碼包,将顯示如圖2.32所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  從該界面可以看到提供的源碼包。

  2.安裝OpenVAS服務

  下面以Kali Linux系統為例,介紹安裝OpenVAS服務的方法。在Kali Linux提供的軟體源中,已經提供了OpenVAS的安裝包。是以,使用者可以直接使用apt-get指令安裝。執行指令如下:

root@kali:~# apt-get update && apt-get install openvas*  -y           

  開始安裝OpenVAS服務。如果在安裝過程中沒有報錯,則表明OpenVAS服務安裝成功。

  3.初始化OpenVAS服務

  安裝OpenVAS服務後,還需要進行一些初始化設定才可以使用。下面介紹初始化OpenVAS的方法。

  【執行個體2-8】初始化OpenVAS服務。具體操作步驟如下:

  (1)運作openvas-setup腳本,下載下傳并更新OpenVAS庫。執行指令如下:

root@kali:~# openvas-setup 
  [>] Updating OpenVAS feeds
  [*] [1/3] Updating: NVT
  --2018-10-25 18:01:29-- http://dl.greenbone.net/community-nvt-feed-current.
  tar.bz2
  正在解析主機 dl.greenbone.net(dl.greenbone.net)... 89.146.224.58, 2a01:130:
  2000:127::d1
  正在連接配接 dl.greenbone.net (dl.greenbone.net)|89.146.224.58|:80... 已連接配接
  已發出 HTTP 請求,正在等待回應... 200 OK
  長度:30171500 (29M) [application/octet-stream]
  正在儲存至: “/tmp/greenbone-nvt-sync.OtczofOeYK/openvas-feed-2018-10-25-
  25466.tar.bz2”
  /tmp/greenbone-nvt- 100%[===============>]  28.77M  4.63MB/s  用時 7.5s  
  2018-10-25 18:01:41 (3.83 MB/s) - 已儲存 “/tmp/greenbone-nvt-sync.
  OtczofOeYK/openvas-feed-2018-10-25-25466.tar.bz2” [30171500/30171500])
  2008/
  2008/secpod_ms08-054_900045.nasl
  2008/secpod_goodtech_ssh_sftp_mul_bof_vuln_900166.nasl
  2008/secpod_pi3web_isapi_request_dos_vuln_900402.nasl
  2008/gb_twiki_xss_n_cmd_exec_vuln.nasl
  2008/secpod_firefox_location_hash_dos_vuln.nasl
  2008/ipswitch_whatsup_info_disclosure.nasl.asc
  2008/sonicwall_vpn_client_detect.nasl.asc
  2008/phpwebthings_rfi.nasl.asc
  …//省略部分内容//…
  ● openvas-manager.service - Open Vulnerability Assessment System Manager 
     Daemon
     Loaded: loaded (/lib/systemd/system/openvas-manager.service; disabled; 
     vendor preset: disabled)
     Active: active (running) since Thu 2018-10-25 18:24:30 CST; 6s ago
       Docs: man:openvasmd(8)
             http://www.openvas.org/
    Process: 26880 ExecStart=/usr/sbin/openvasmd --listen=127.0.0.1 --port=
    9390 --database=/var/lib/openvas/mgr/tasks.db (code=exited, status=0/
    SUCCESS)
   Main PID: 26882 (openvasmd)
      Tasks: 1 (limit: 2322)
     Memory: 72.2M
     CGroup: /system.slice/openvas-manager.service
             └─26882 openvasmd
  10月 25 18:24:29 daxueba systemd[1]: Starting Open Vulnerability Assessment 
  System Manager Daemon...
  10月 25 18:24:30 daxueba systemd[1]: openvas-manager.service: Can't open PID 
  file /var/run/openvasmd.pid (yet?) after start: No such file or directory
  10月 25 18:24:30 daxueba systemd[1]: Started Open Vulnerability Assessment 
  System Manager Daemon.
  [*] Opening Web UI (https://127.0.0.1:9392) in: 5... 4... 3... 2... 1... 
  [>] Checking for admin user
  [*] Creating admin user
  User created with password '9d41139b-c602-4d39-8e51-dcbe6726ba97'.
  [+] Done           

  從以上輸出資訊中可以看到,下載下傳并更新了所有庫,同時啟動了所有對應的服務。而且,從最後幾行資訊可以看到,建立了一個管理使用者admin,其密碼為9d41139b-c602- 4d39-8e51-dcbe6726ba97。由于需要下載下傳大量的庫,是以以上過程需要很長時間。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (2)使用者可以通過openvasmd指令修改密碼。執行指令如下:

root@kali:~# openvasmd --user=admin --new-password=password           

  執行以上指令後,将不會輸出任何資訊。在以上指令中,--user選項指定修改密碼的使用者為admin,--new-password選項指定将admin使用者的密碼修改為password。

  (3)使用openvas-check-setup檢查OpenVAS是否安裝成功。執行指令如下:

 root@kali:~# openvas-check-setup 
  openvas-check-setup 2.3.7
    Test completeness and readiness of OpenVAS-9
    Please report us any non-detected problems and
    help us to improve this check routine:
    http://lists.wald.intevation.org/mailman/listinfo/openvas-discuss
    Send us the log-file (/tmp/openvas-check-setup.log) to help analyze the 
    problem.
    Use the parameter --server to skip checks for client tools
    like GSD and OpenVAS-CLI.
  Step 1: Checking OpenVAS Scanner ... 
          OK: OpenVAS Scanner is present in version 5.1.3.
          OK: redis-server is present in version v=5.0.0.
          OK: scanner (kb_location setting) is configured properly using the 
          redis-server socket: /var/run/redis/redis.sock
          OK: redis-server is running and listening on socket: /var/run/
          redis/redis.sock.
          OK: redis-server configuration is OK and redis-server is running.
          OK: NVT collection in /var/lib/openvas/plugins contains 47902 NVTs.
          WARNING: Signature checking of NVTs is not enabled in OpenVAS Scanner.
          SUGGEST: Enable signature checking (see http://www.openvas.org/trusted-
          nvts.html).
          OK: The NVT cache in /var/cache/openvas contains 52861 files for 
          52861 NVTs.
  Step 2: Checking OpenVAS Manager ... 
          OK: OpenVAS Manager is present in version 7.0.3.
          OK: OpenVAS Manager database found in /var/lib/openvas/mgr/tasks.db.
          OK: Access rights for the OpenVAS Manager database are correct.
          OK: sqlite3 found, extended checks of the OpenVAS Manager installation 
          enabled.
          OK: OpenVAS Manager database is at revision 184.
          OK: OpenVAS Manager expects database at revision 184.
          OK: Database schema is up to date.
          OK: OpenVAS Manager database contains information about 47902 NVTs.
          OK: At least one user exists.
          OK: OpenVAS SCAP database found in /var/lib/openvas/scap-data/scap.db.
          OK: OpenVAS CERT database found in /var/lib/openvas/cert-data/cert.db.
          OK: xsltproc found.
  Step 3: Checking user configuration ... 
          WARNING: Your password policy is empty.
          SUGGEST: Edit the /etc/openvas/pwpolicy.conf file to set a password 
          policy.
  Step 4: Checking Greenbone Security Assistant (GSA) ... 
          OK: Greenbone Security Assistant is present in version 7.0.3.
          OK: Your OpenVAS certificate infrastructure passed validation.
  Step 5: Checking OpenVAS CLI ... 
          OK: OpenVAS CLI version 1.4.5.
  Step 6: Checking Greenbone Security Desktop (GSD) ... 
          SKIP: Skipping check for Greenbone Security Desktop.
  Step 7: Checking if OpenVAS services are up and running ... 
          OK: netstat found, extended checks of the OpenVAS services enabled.
          OK: OpenVAS Scanner is running and listening on a Unix domain socket.
          WARNING: OpenVAS Manager is running and listening only on the local 
          interface.
          This means that you will not be able to access the OpenVAS Manager 
          from the
          outside using GSD or OpenVAS CLI.
          SUGGEST: Ensure that OpenVAS Manager listens on all interfaces unless 
          you want
          a local service only.
          OK: Greenbone Security Assistant is listening on port 9392, which is 
          the default port.
  Step 8: Checking nmap installation ...
          WARNING: Your version of nmap is not fully supported: 7.70
          SUGGEST: You should install nmap 5.51 if you plan to use the nmap NSE 
          NVTs.
  Step 9: Checking presence of optional tools ...
         OK: pdflatex found.
         OK: PDF generation successful. The PDF report format is likely to work.
         OK: ssh-keygen found, LSC credential generation for GNU/Linux targets 
         is likely to work.
          WARNING: Could not find rpm binary, LSC credential package generation 
          for RPM and DEB based targets will not work.
          SUGGEST: Install rpm.
          WARNING: Could not find makensis binary, LSC credential package 
          generation for Microsoft Windows targets will not work.
          SUGGEST: Install nsis.
  It seems like your OpenVAS-9 installation is OK.
  If you think it is not OK, please report your observation
  and help us to improve this check routine:
  http://lists.wald.intevation.org/mailman/listinfo/openvas-discuss
  Please attach the log-file (/tmp/openvas-check-setup.log) to help us analyze the problem.           

  以上過程進行了9步檢查。檢查完後,看到“It seems like your OpenVAS-9 installation is OK.”資訊,表示OpenVAS安裝成功。

  (4)下面使用者可以使用netstat指令檢視監聽的端口,以确定OpenVAS是否啟動成功。

root@kali:~# netstat -ntlp 
  tcp    0    0 127.0.0.1:9390    0.0.0.0:*      LISTEN     10617/openvasmd     
  tcp    0    0 127.0.0.1:80       0.0.0.0:*     LISTEN      10643/gsad          
  tcp   0   0 127.0.0.1:9392       0.0.0.0       LISTEN      10639/gsad           

  OpenVAS服務監聽了3個端口,分别是9390、80和9392。如果沒有看到以上資訊輸出,說明該服務沒有啟動。此時,使用者可以使用openvas-start指令啟動該程式。指令如下:

root@kali:~# openvas-start
  Starting OpenVas Services           

  看到以上資訊,則表示OpenVAS服務成功啟動。如果需要停止服務,需要執行openvas- stop指令如下:

root@kali:~# openvas-stop 
  Stopping OpenVas Services           

  從輸出資訊中,可以看到OpenVAS服務已停止。

  現在,使用者可以在浏覽器中輸入

https://IP

位址:9392/ (IP位址就是OpenVas服務所在主機的IP位址,也可以是主機名),登入OpenVAS伺服器了。成功登入後,即可使用該工具進行各種漏洞掃描。

2.2.2 登入及配置OpenVAS

  當成功安裝OpenVAS後,即可登入并使用該工具實施漏洞掃描。但是,成功登入OpenVAS服務後,還需要進行簡單的配置才可以實施漏洞掃描。下面介紹登入及配置OpenVAS服務的方法。

  1.登入OpenVAS服務

  【執行個體2-9】登入OpenVAS服務。具體操作步驟如下:

  (1)在浏覽器中輸入

https://127.0.0.1:9392

,顯示如圖2.33所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (2)該界面顯示浏覽器中通路的連結不可信任。這是因為該連結使用的是https協定,必須要确定安全可靠才可通路。單擊Advanced按鈕,顯示如圖2.34所示的界面。

  (3)該界面顯示了通路該連結存在的風險。如果确認通路的連結沒問題,則單擊Add Exception按鈕添加例外,如圖2.35所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (4)該界面顯示了要添加例外的連結資訊。此時,單擊Confirm Security Execption按鈕,顯示如圖2.36所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (5)該界面是OpenVAS服務的登入界面,輸入使用者名和密碼即可登入該服務。這裡的使用者名就是前面配置OpenVAS時,自動建立的admin使用者,密碼為password。輸入使用者名和密碼後,單擊Login按鈕,顯示如圖2.37所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (6)看到該界面顯示的内容,則表示已成功登入OpenVAS服務。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  2.建立掃描配置

  掃描配置就是用來指定掃描目标時所需要的插件。使用OpenVAS工具掃描時,需要通過一個掃描任務來實作。但是,掃描任務是由一個掃描配置和一個目标組成的。是以,在實施掃描之前,必須先建立掃描配置和掃描目标才可以。下面介紹建立掃描配置的方法。

  【執行個體2-10】建立掃描配置。具體操作步驟如下:

  (1)在伺服器的菜單欄中依次選擇Configuration|Scan Configs指令,如圖2.38所示。顯示如圖2.39所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊
帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (2)從該界面可以看到,預設有8個掃描配置。在該界面單擊(New Scan Config)圖示,即可建立新的掃描配置,如圖2.40所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (3)在該界面中設定掃描的名稱,這裡設定為Local Vulnerabilities。對于Base選擇Empty,static and fast複選框,該選項表示允許使用者從零開始建立自己的配置。單擊Create按鈕進行建立。顯示如圖2.41所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊
帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊
帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (4)從圖2-41所示界面的Family欄看到有很多的可掃描插件資訊,如果想要選擇某插件,隻需将Select all NVTs欄中的複選框勾選上即可,設定完後,單擊Save按鈕,顯示如圖2.43所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (5)該界面顯示了建立的掃描配置Local Vulnerabilities。從該界面可以看到,建立的掃描配置共選擇了9個插件族,共4409個插件。如果使用者希望編輯該掃描配置重新設定插件時,單擊Actions列的

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

圖示,打開掃描編輯配置界面。在該界面單擊掃描配置名稱,即可檢視其詳細資訊,如圖2.44所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (6)從該界面可以看到的該掃描配置的詳細資訊,包括選擇的漏洞家族、插件及配置等。

  3.建立掃描目标

  在建立好掃描配置後,就需要建立掃描目标了。掃描目标就是用來指定掃描目标主機的位址、掃描端口及使用的掃描方式。下面介紹建立掃描目标的方法。

  【執行個體2-11】建立掃描目标。具體操作步驟如下:

  (1)在OpenVAS服務的菜單欄中依次選擇Configuration|Targets指令,顯示如圖2.45所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (2)從該界面可以看到,預設沒有建立任何目标。此時,使用者可以單擊(New Target)圖示,建立新的掃描目标,如圖2.46所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (3)在該界面輸入Target名稱及掃描的主機、端口清單、測試方法等。在指定目标時,使用者可以輸入一個網段、單個位址或多個位址,位址直接使用逗号分隔。使用者也可以将掃描的目标位址儲存在一個檔案中,選擇From file格式,選擇目标位址的檔案。然後單擊Create按鈕,顯示如圖2.47所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (4)從該界面可以看到建立的掃描目标,其名稱為Windows XP。

  4.建立掃描任務

  将掃描配置和目标都建立完後,即可建立掃描任務了。然後,對指定的目标實施掃描。下面介紹建立掃描任務的方法。

  【執行個體2-12】為OpenVAS建立任務。具體操作步驟如下:

  (1)在OpenVAS服務的菜單欄中依次選擇Scans |Tasks指令,顯示如圖2.48所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (2)該界面顯示了OpenVAS掃描任務管理的歡迎資訊。如果使用者不想要檢視,單擊右上角的按鈕關閉即可。然後,進入掃描任務界面,如圖2.49所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (3)從該界面可以看到,目前沒有建立任何任務。在該界面單擊(New Task)圖示建立任務,如圖2.50所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (4)在該界面設定任務名稱、掃描配置和掃描目标等,然後單擊Create按鈕,顯示如圖2.51所示的界面。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (5)從該界面可以看到建立的任務Windows XP,狀态為New。接下來,開始該掃描任務并對目标實施掃描。

2.2.3 實施漏洞掃描

  通過前面一系列的操作,可以開始對指定的目标實施漏洞掃描了。下面介紹實施漏洞掃描的方法。

  【執行個體2-13】以【執行個體2-12】建立的掃描任務為例,實施漏洞掃描。具體操作步驟如下:

  (1)建立的掃描任務如圖2.51所示。

  (2)從該界面可以看到前面建立的任務Windows XP。此時,單擊(Start)圖示,開始漏洞掃描。在啟動該掃描任務後,按鈕圖示将變為(Pause),單擊該按鈕可以暫停掃描。也可以單擊(Stop)圖示停止掃描。掃描完成後,New将變為Done,在掃描過程中顯示為Requested。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊
帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊
帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (3)掃描完成後,顯示如圖2.54所示界面。

  (4)從該界面的Status(狀态)列,可以看到已顯示為Done,表示掃描完成。接下來,對掃描結果進行分析,以從中擷取到目标主機中的漏洞資訊。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

2.2.4 分析并導出漏洞掃描報告

  當使用者對目标主機實施掃描後,即可從掃描結果中擷取其目标主機的漏洞資訊。同樣,為了友善使用者分析其掃描結果,OpenVAS也支援将漏洞資訊以不同報告格式導出。下面介紹分析并導出漏洞掃描報告的方法。

  【執行個體2-14】以上例中的掃描結果為例,對其進行分析。具體操作步驟如下:

  (1)上例中的掃描結果如圖2.54所示。

  (2)從該界面可以看到目标系統中有非常嚴重的漏洞,安全級别為10.0(High)。此時使用者可以單擊狀态下面的Done指令,檢視漏洞掃描的詳細資訊,如圖2.55所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (3)從該界面的Severity列顯示的情況,可以看到這些漏洞的嚴重情況。其中,10.0是安全問題最嚴重的漏洞。例如,檢視該界面顯示的第一個漏洞的詳細資訊,如圖2.56所示。

  (4)該界面顯示了目标主機上拒絕服務攻擊漏洞詳細資訊。其中,漏洞資訊包括目标主機所開放的端口、漏洞導緻的結果及漏洞解決方法等。這裡記下該漏洞的CVE編号非常重要。在以上References部分即可看到相關的漏洞CVE編号及可參考的連結。在這些參考網頁中,可了解該漏洞的詳細資訊,以及具體的漏洞編号等。然後,根據該漏洞CVE編号查找對應的攻擊載荷,并實施攻擊。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  2.導出漏洞掃描報告

  為了友善使用者進行分析,可以将漏洞資訊以報告的形式導出。其中,OpenVAS支援15種檔案格式的報告,如PDF、XML、CXV、HTML和TXT等。

  【執行個體2-15】将漏洞掃描結果以PDF格式導出。其操作步驟如下:

  (1)打開漏洞掃描清單界面,如圖2.57所示。

  (2)從該界面可以看到有一個按鈕,表示下載下傳報告。這裡預設選擇的是Anonymous XML格式。如果使用者想以其他格式導出的話,單擊切換報告格式文本框中的按鈕,即可選擇其他格式。然後,單擊(Download)按鈕将此次的掃描報告導出。這裡選擇導出為PDF格式的報告,單擊(Download)按鈕,顯示如圖2.58所示的界面。

  (3)該界面用于設定處理該報告檔案的方法。使用者可以單擊選中Open with單選按鈕,表示直接打開。或者單擊選中Save File單選按鈕,指定該報告檔案的儲存位置。這裡單擊選中Save File按鈕儲存該報告檔案,然後單擊OK按鈕,即可成功将該報告導出。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

2.2.5 遠端調用OpenVAS

  在使用者搭建好OpenVAS服務後,可以直接在Metasploit中遠端調用,通過指令行方式對目标主機實施掃描。下面介紹在Metasploit中遠端調用OpenVAS服務,并實施掃描的方法。

  【執行個體2-16】在Metasploit中遠端調用OpenVAS對目标主機實施掃描。具體操作步驟如下:

  (1)加載Openvas插件。執行指令如下:

msf5 > load openvas 
  [*] Welcome to OpenVAS integration by kost and averagesecurityguy.
  [*] 
  [*] OpenVAS integration requires a database connection. Once the 
  [*] database is ready, connect to the OpenVAS server using openvas_connect.
  [*] For additional commands use openvas_help.
  [*] 
  [*] Successfully loaded plugin: OpenVAS           

  看到以上輸出資訊,表示成功加載了OpenVAS插件。接下來,使用者可以使用openvas_help指令,檢視OpenVAS子產品支援的所有指令。執行完以上指令後,将顯示7部分指令。其中,第1部分顯示了幫助指令。顯示如下:

msf5 > openvas_help 
  [*] openvas_help                 Display this help
  [*] openvas_debug                Enable/Disable debugging
  [*] openvas_version              Display the version of the OpenVAS server           

  使用以上幫助指令可以檢視幫助資訊、調試資訊和版本資訊。

  第2部分顯示了連接配接指令。顯示如下:

[*] CONNECTION
  [*] ==========
  [*] openvas_connect              Connects to OpenVAS
  [*] openvas_disconnect          Disconnects from OpenVAS           

  以上指令用來連接配接與斷開OpenVAS服務的連接配接。

  第3部分顯示了目标設定指令。顯示如下:

[*] TARGETS
  [*] =======
  [*] openvas_target_create             Create target
  [*] openvas_target_delete             Deletes target specified by ID
  [*] openvas_target_list               Lists targets           

  以上指令用來建立目标、删除目标及擷取目标清單。

  第4部分顯示了掃描任務設定指令。顯示如下:

[*] TASKS
  [*] =====
  [*] openvas_task_create               Create task
  [*] openvas_task_delete               Delete a task and all associated reports
  [*] openvas_task_list                 Lists tasks
  [*] openvas_task_start                Starts task specified by ID
  [*] openvas_task_stop                 Stops task specified by ID
  [*] openvas_task_pause                Pauses task specified by ID
  [*] openvas_task_resume               Resumes task specified by ID
  [*] openvas_task_resume_or_start      Resumes or starts task specified by ID           

  使用者使用以上指令可以建立掃描、删除、列出、啟動、停止掃描任務等。

  第5部分顯示了掃描配置指令。顯示如下:

[*] CONFIGS
  [*] =======
  [*] openvas_config_list              Lists scan configurations           

  以上指令用來列出掃描配置資訊。

  第6部分顯示了報告格式指令。顯示如下:

[*] FORMATS
  [*] =======
  [*] openvas_format_list              Lists available report formats           

  以上指令用來列出有效的報告格式。

  第7部分顯示了掃描報告操作指令。顯示如下:

[*] REPORTS
  [*] =======
  [*] openvas_report_list             Lists available reports
  [*] openvas_report_delete          Delete a report specified by ID
  [*] openvas_report_import          Imports an OpenVAS report specified by ID
  [*] openvas_report_download       Downloads an OpenVAS report specified by ID           

  使用者可以使用以上指令列出、删除、導入或下載下傳掃描報告。當了解使用者以上指令後,即可進行後續的一系列操作。

  (2)使用openvas_connect指令登入到OpenVAS伺服器。其文法格式如下所示:

openvas_connect username password host port <ssl-confirm>           

  在以上文法中,username和password分别表示OpenVAS伺服器的登入使用者名和密碼。本例中的OpenVAS伺服器位址為192.168.1.105,登入名為admin,密碼為password。執行指令如下:

msf5 > openvas_connect admin password 192.168.1.105 9390
  [*] Connecting to OpenVAS instance at 192.168.1.105:9390 with username 
  admin...
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [+] OpenVAS connection successful           

  從輸出的資訊中,可以看到已成功登入到OpenVAS伺服器。

  (3)後續操作流程與圖形界面一樣。在實施掃描之前,需要建立掃描目标、掃描配置和掃描任務。使用者也可以使用預設的掃描配置,來實施掃描。這裡将使用預設的掃描配置方式,來實施掃描。下面建立一個掃描目标,其文法格式如下所示:

openvas_target_create <name> <hosts> <comment>           

  在以上文法中,參數name表示掃描目标名稱;hosts表示目标主機;comment表示注釋資訊。下面建立一個名稱為Local Machine,目标位址為192.168.1.6的掃描目标。執行指令如下:

msf5 > openvas_target_create "Local Machine" 192.168.1.6 "My Local Machine"
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [*] 2223908a-46fc-4df9-81ab-f8275f02715a
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [+] OpenVAS list of targets
  ID             Name        Hosts            Max Hosts   In Use     Comment
  --            ----        -----              ---------   ------    -------
  2223908a-    Local    192.168.1.6        1               0          My Local Machine
  46fc-4df9-    Machine
  81ab-
  f8275f02715a           

  看到以上輸出資訊,則表示成功建立了掃描目标。從顯示的結果中可以看到該掃描目标ID為2223908a-46fc-4df9-81ab-f8275f02715a。

  (4)建立掃描任務。先檢視下掃描配置清單,執行指令如下:

msf5 > openvas_config_list 
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [+] OpenVAS list of configs
  ID                                               Name
  --                                                -------
  085569ce-73ed-11df-83c3-002264764cea      empty
  2d3f051c-55ba-11e3-bf43-406186ea4fc5      Host Discovery
  698f691e-7489-11df-9d8c-002264764cea      Full and fast ultimate
  708f25c4-7489-11df-8094-002264764cea      Full and very deep
  74db13d6-7489-11df-91b9-002264764cea      Full and very deep ultimate
  8715c877-47a0-438d-98a3-27c7a6ab2196      Discovery
  bbca7412-a950-11e3-9109-406186ea4fc5      System Discovery
  daba56c8-73ec-11df-a475-002264764cea      Full and fast           

  從輸出的資訊中可以看到,共提供了8種掃描配置。從顯示的資訊可以看到每個掃描配置的ID和名稱。其中,用于建立掃描任務的文法格式如下:

openvas_task_create <name> <comment> <config_id> <target_id>           

  以上文法中的參數name表示指定掃描任務名稱;comment用來設定注釋資訊;config_id用來指定掃描配置的ID;target_id用來指定目标ID。這裡選擇使用Full and fast掃描配置,對前面建立的目标實施掃描。執行指令如下:

msf5 > openvas_task_create "Local Scan" "Scan My Local Machine" 698f691e-
  7489-11df-9d8c-002264764cea  2223908a-46fc-4df9-81ab-f8275f02715a
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [*] 351dfd48-0b28-4dcd-aa44-9fd2644649de
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [+] OpenVAS list of tasks
  ID              Name                Comment                     Status        Progress
  --              ----                -------                     ------        --------
  351dfd48-      Local Scan        Scan My Local Machine    New             -1
  0b28-4dcd-
  aa44-9fd2644649de           

  從輸出的資訊可以看到,成功建立了掃描任務。其中,該掃描任務的ID為351dfd48- 0b28-4dcd-aa44-9fd2644649de。

  (5)啟動掃描任務。其文法格式如下:

openvas_task_start <id>           

  以上文法中的參數id表示掃描任務的ID。這裡将啟動ID為351dfd48-0b28-4dcd- aa44-9fd2644649de的掃描任務。執行指令如下:

 msf5 > openvas_task_start 351dfd48-0b28-4dcd-aa44-9fd2644649de
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [*] <X><authenticate_response status='200' status_text='OK'><role>Admin</
  role><timezone>UTC</timezone><severity>nist</severity></authenticate_
  response><start_task_response status='202' status_text='OK, request 
  submitted'><report_id>5756db12-276f-4d54-9bc4-bb87bd05d5b5</report_id>
  </start_task_response></X>
  msf5 > openvas_task_list 
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [+] OpenVAS list of tasks
  
  ID              Name                Comment                      Status         Progress
  --              ----                -------                      ------         --------
  351dfd48-      Local Scan      Scan My Local Machine    Running      1
  0b28-4dcd-
  aa44-9fd2644649de           

  看到以上輸出資訊,表示成功啟動了掃描任務。從輸出資訊的Status(狀态)列可以看到,值為Running,即正在實施掃描。此時,使用者也可以使用openvas_task_list指令檢視掃描任務的進度。執行指令如下:

msf5 > openvas_task_list 
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [+] OpenVAS list of tasks
  ID              Name                Comment                     Status         Progress
  --              ----                -------                     ------          --------
  351dfd48-      Local Scan        Scan My Local Machine    Running      98
  0b28-4dcd-
  aa44-9fd2644649de           

  在以上輸出資訊中共包括5列,分别是ID(掃描任務ID)、Name(掃描任務名稱)、Comment(掃描任務注釋)、Status(狀态)和Progress(進度)。從以上顯示的資訊可以看到,掃描任務正在運作,其進度值為98。當掃描完成後,該進度值為-1。具體如下:

msf5 > openvas_task_list 
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [+] OpenVAS list of tasks
  ID                Name                Comment                     Status        Progress
  --                ----                -------                     ------        --------
  351dfd48-      Local Scan      Scan My Local Machine      Running      -1
  0b28-4dcd-
  aa44-9fd2644649de           

  看到以上輸出資訊,表示掃描完成了。為了友善使用者對掃描結果進行分析,可以下載下傳該掃描報告。

  (6)使用openvas_report_download指令下載下傳掃描報告。在下載下傳掃描報告之前,先使用openvas_report_list指令檢視下掃描報告清單,以确定生成的掃描報告資訊。執行指令如下:

msf5 > openvas_report_list 
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [+] OpenVAS list of reports
  
  ID                  Task Name           Start Time                Stop Time
  --                  ---------           ----------                ---------
  5756db12-276f-     Local Scan      2019-01-22T12:19:44Z
  4d54-9bc4-bb87bd05d5b5    
  c5a85e97-aedc-    Local Scan      2019-01-22T14:37:36Z
  4289-b14f-7b06cbceb9e9  
  2019-01-22T14:40:39Z           

  從輸出的資訊可以看到,有一個掃描報告。其中,該掃描報告的ID為c5a85e97-aedc- 4289-b14f-7b06cbceb9e9。接下來,使用者就可以下載下傳該掃描報告了。下載下傳掃描報告的文法格式如下:

openvas_report_download <report_id> <format_id> <path> <report_name>           

  以上文法中參數report_id表示掃描報告的ID;format_id表示掃描報告格式的ID;path表示下載下傳路徑;report_name表示掃描報告名稱。在下載下傳掃描報告之前,需要确定這些資訊。使用者可以使用openvas_format_list指令檢視支援的掃描報告格式。具體如下:

msf5 > openvas_format_list 
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [+] OpenVAS list of report formats
  
  ID                                       Name             Extension          Summary
  --                                       ----            ---------           -------
  5057e5cc-b825-11e4-9d0e-28d24461215b    Anonymous XML    xml     Anonymous 
  version of the raw XML report
  50c9950a-f326-11e4-800c-28d24461215b    Verinice ITG       vna     Greenbone 
  Verinice ITG Report, v1.0.1.
  5ceff8ba-1f62-11e1-ab9f-406186ea4fc5     CPE       csv     Common Product 
  Enumeration CSV table.
  6c248850-1f62-11e1-b082-406186ea4fc5    HTML               html    Single 
  page HTML report.
  77bd6c4a-1f62-11e1-abf0-406186ea4fc5    ITG                csv    German 
  "IT-Grundschutz-Kataloge" report.
  9087b18c-626c-11e3-8892-406186ea4fc5    CSV Hosts       csv     CSV host summary.
  910200ca-dc05-11e1-954f-406186ea4fc5    ARF                xml     Asset 
  Reporting Format v1.0.0.
  9ca6fe72-1f62-11e1-9e7c-406186ea4fc5     NBE                nbe    Legacy 
  OpenVAS report.
  9e5e5deb-879e-4ecc-8be6-a71cd0875cdd     Topology SVG       svg     Network 
  topology SVG image.
  a3810a62-1f62-11e1-9219-406186ea4fc5      TXT                txt     Plain text 
  report.
  a684c02c-b531-11e1-bdc2-406186ea4fc5      LaTeX              tex     LaTeX source 
  file.
  a994b278-1f62-11e1-96ac-406186ea4fc5      XML                xml Raw XML report.
  c15ad349-bd8d-457a-880a-c7056532ee15     Verinice ISM       vna     Greenbone 
  Verinice ISM Report, v3.0.0.
  c1645568-627a-11e3-a660-406186ea4fc5     CSV Results   csv CSV result list.
  c402cc3e-b531-11e1-9163-406186ea4fc5      PDF                pdf     Portable 
  Document Format report.           

  從以上輸出資訊可以看到支援的所有掃描報告格式。在以上資訊中共包括4列,分别表示ID(掃描報告格式的ID)、Name(掃描報告格式名稱)、Extension(掃描報告檔案擴充名)和Summary(摘要資訊)。例如,這裡選擇下載下傳掃描報告格式為CSV,并儲存到/root/openvas目錄中,報告檔案名為reports.csv。執行指令如下:

msf5 > openvas_report_download c5a85e97-aedc-4289-b14f-7b06cbceb9e9 
  9087b18c-626c-11e3-8892-406186ea4fc5 /root/openvas reports.csv
  /usr/share/metasploit-framework/vendor/bundle/ruby/2.5.0/gems/openvas-
  omp-0.0.4/lib/openvas-omp.rb:201: warning: Object#timeout is deprecated, 
  use Timeout.timeout instead.
  [*] Saving report to /root/openvas/reports.csv           

  從輸出的資訊可以看到,已成功将掃描報告下載下傳到/root/openvas/reports.csv檔案中。此時,使用者使用文本編輯器即可檢視已下載下傳的掃描報告,如圖2.59所示。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  (7)使用者可以對該掃描報告進行分析了,以擷取目标主機的漏洞資訊。

2.3 手工查詢漏洞

  當使用者知道裝置或者系統型号後,可以人工方式去官方擷取漏洞資訊。很多負責任的公司都會在漏洞發現後,釋出更新更新檔和裝置固件。但大部分情況下,實際沒人會天天看這些的。是以,由于維護人員的懶惰,漏洞就出來了。下面介紹手工查詢漏洞的方法。

  這裡以HP M251列印機為例,該列印機是内嵌系統。在其官網提供一個固件供使用者更新。其網址

http://support.hp.com/cn-zh/drivers/selfservice/hp-laserjet-pro-200-color-printer-m251-

series/5097632/model/5097633。在該網頁中有詳細的漏洞說明情況,如圖2.60所示。

  從該界面的修複和增強内容中,可以看到該固件修複了又稱為POODLESSLv3.0漏洞的潛在漏洞問題(CVE-2014-3566)。從該漏洞描述中知道了漏洞編号,這樣查攻擊載荷就容易了。一般裝置固件都是需要使用者手動更新。是以,如果要更新該漏洞,需要從該界面下載下傳并手動更新該固件。

帶你讀《從實踐中學習Metasploit 5滲透測試》之二:擷取漏洞資訊第2章 擷取漏洞資訊

  除了到官方網站查詢一些固件漏洞,語言還可以到CVE的管理網站和微軟漏洞官方檢視各種CVE和微軟的漏洞,其網址分别是:

http://cve.mitre.org/data/refs/refmap/source-MS.html

 

https://technet.microsoft.com/en-us/security/bulletins