Kali-linux使用OpenVAS


OpenVAS(開放式漏洞評估系統)是一個客戶端/服務器架構,它常用來評估目標主機上的漏洞。OpenVAS是Nessus項目的一個分支,它提供的產品是完全地免費。OpenVAS默認安裝在標准的Kali Linux上,本節將介紹配置及啟動OpenVAS。

5.2.1 配置OpenVAS

OpenVAS默認在Kali Linux中已經安裝。如果要使用該工具,還需要進行一些配置。配置OpenVAS具體操作步驟如下所示。

(1)在終端窗口中切換到OpenVAS目錄,為OpenVAS程序創建SSL證書。執行命令如下所示:

root@kali:~# cd /usr/share/openvas/
root@kali:/usr/share/openvas# openvas-mkcert

執行以上命令后,將輸出如下所示的信息:

以上提示的信息,可以配置也可以不配置。如果不想配置的話,直接按下Enter鍵接收默認值即可。以上信息設置完后,將顯示以下信息:

-----------------------------------------------
  Creation of the OpenVAS SSL Certificate
-----------------------------------------------
Congratulations. Your server certificate was properly created.
The following files were created:
. Certification authority:
   Certificate = /var/lib/openvas/CA/cacert.pem
   Private key = /var/lib/openvas/private/CA/cakey.pem
. OpenVAS Server :
   Certificate = /var/lib/openvas/CA/servercert.pem
   Private key = /var/lib/openvas/private/CA/serverkey.pem
Press [ENTER] to exit

輸出的信息顯示了創建的OpenVAS證書及位置。此時按下Enter鍵,退出程序。

(2)使用OpenVAS NVT Feed同步OpenVAS NVT數據庫,並且更新最新的漏洞檢查。執行命令如下所示:

root@kali:/usr/share/openvas# openvas-nvt-sync
[i] This script synchronizes an NVT collection with the 'OpenVAS NVT Feed'.
[i] The 'OpenVAS NVT Feed' is provided by 'The OpenVAS Project'.
[i] Online information about this feed: 'http://www.openvas.org/openvas-nvt-feed.html'.
[i] NVT dir: /var/lib/openvas/plugins
[i] rsync is not recommended for the initial sync. Falling back on http.
[i] Will use wget
[i] Using GNU wget: /usr/bin/wget
[i] Configured NVT http feed: http://www.openvas.org/openvas-nvt-feed-current.tar.bz2
[i] Downloading to: /tmp/openvas-nvt-sync.xAKyyzYVdT/openvas-feed-2014-04-25-8214.tar.bz2
--2014-04-25 14:35:48-- http://www.openvas.org/openvas-nvt-feed-current.tar.bz2
正在解析主機 www.openvas.org (www.openvas.org)… 5.9.98.186
正在連接 www.openvas.org (www.openvas.org)|5.9.98.186|:80… 已連接。
已發出 HTTP 請求,正在等待回應… 200 OK
長度:14771061 (14M) [application/x-bzip2]
正在保存至:“/tmp/openvas-nvt-sync.xAKyyzYVdT/openvas-feed-2014-04-25-8214.tar.bz2”
100%[===============================================================>] 14,771,061 54.0K/s 用時 7m 16s
2014-04-25 14:43:07 (33.1 KB/s) - 已保存“/tmp/openvas-nvt-sync.xAKyyzYVdT/openvas- feed-
2014-04-25-8214.tar.bz2” [14771061/14771061])

12planet_chat_server_xss.nasl
12planet_chat_server_xss.nasl.asc
2013/
2013/secpod_ms13-005.nasl.asc
2013/gb_astium_voip_pbx_51273.nasl
2013/secpod_ms13-001.nasl
2013/deb_2597.nasl
2013/gb_astium_voip_pbx_51273.nasl.asc
2013/secpod_ms13-006.nasl
2013/gb_edirectory_57038.nasl
2013/secpod_ms13-006.nasl.asc
…省略部分內容…
zope_zclass.nasl.asc
zyxel_http_pwd.nasl
zyxel_http_pwd.nasl.asc
zyxel_pwd.nasl
zyxel_pwd.nasl.asc
[i] Download complete
[i] Checking dir: ok
[i] Checking MD5 checksum: ok

輸出的信息顯示了同步OpenVAS NVT數據庫的信息,並也更新了所有的漏洞信息。

(3)創建客戶端證書庫。執行命令如下所示:

root@kali:/usr/share/openvas# openvas-mkcert-client -n om -i
Generating RSA private key, 1024 bit long modulus
………………………………++++++
……++++++
e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [DE]:State or Province Name (full name) [Some-State]:Locality Name (eg, city) []:Organization Name (eg, company) [Internet Widgits Pty Ltd]:Organizational Unit Name (eg, section) []:Common Name (eg, your name or your server's hostname) []:Email Address []:Using configuration from /tmp/openvas-mkcert-client.16792/stdC.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName    :PRINTABLE:'DE'
localityName   :PRINTABLE:'Berlin'
commonName     :PRINTABLE:'om'
Certificate is to be certified until Apr 25 06:55:05 2015 GMT (365 days)
Write out database with 1 new entries
Data Base Updated
User om added to OpenVAS.

以上輸出的信息顯示了生成客戶端證書的詳細過程,並添加了om用戶。

(4)重建數據庫。執行命令如下所示:

root@kali:/usr/share/openvas# openvasmd –rebuild

執行以上命令后,沒有任何輸出信息。

(5)啟動OpenVAS掃描,並加載所有插件。執行命令如下所示:

root@kali:/usr/share/openvas# openvassd
Loading the OpenVAS plugins…base gpgme-Message: Setting GnuPG homedir to '/etc/openvas/ gnupg'
base gpgme-Message: Using OpenPGP engine version '1.4.12'
All plugins loaded

從輸出的信息中可以看到所有插件已加載。由於加載的插件比較多,所以執行該命令的時間會長一點。

(6)重建並創建數據庫的備份。執行命令如下所示:

root@kali:/usr/share/openvas# openvasmd --rebuild
root@kali:/usr/share/openvas# openvasmd –backup

執行以上命令后,沒有任何信息輸出。

(7)創建一個管理OpenVAS的用戶。執行命令如下所示:

root@kali:/usr/share/openvas# openvasad -c 'add_user' -n openvasadmin -r Admin
Enter password:
ad  main:MESSAGE:2732:2014-04-25 15h25.35 CST: No rules file provided, the new user will have no restrictions.
ad  main:MESSAGE:2732:2014-04-25 15h25.35 CST: User openvasadmin has been successfully created.

從輸出的信息中可以看到用戶openvasadmin被成功創建。

(8)創建一個普通用戶。執行命令如下所示:

從輸出的信息中看到用戶被添加。

(9)為OpenVAS配置端口。執行命令如下所示:

root@kali:/usr/share/openvas# openvasmd -p 9390 -a 127.0.0.1
root@kali:/usr/share/openvas# openvasad -a 127.0.0.1 -p 9393
root@kali:/usr/share/openvas# gsad --http-only --listen=127.0.0.1 -p 9392

執行以上命令后,OpenVAS的端口號就被設置為9392。

注意:9392是推薦的一個Web瀏覽器端口。用戶也可以選擇其他端口號。

(10)在瀏覽器中輸入http://127.0.0.1:9392/,打開OpenVAS登錄界面,如圖5.28所示。

圖5.28 OpenVAS登錄界面

(11)在該界面輸入創建的用戶名和密碼,然后單擊Login按鈕,將顯示如圖5.29所示的界面。

圖5.29 OpenVAS初始界面

關於啟動OpenVAS介紹一些附加信息。每次運行OpenVAS時,都必須要做以下工作:

  • 同步NVT Feed(當新的漏洞被發現時,該記錄將改變);
  • 啟動OpenVAS掃描器;
  • 重建數據庫;
  • 備份數據庫;
  • 配置端口。

為了節約時間,下面將介紹編寫一個簡單的Bash腳本,方便用戶啟動OpenVAS。保存腳本文件名為OpenVAS.sh,並放該文件在/root文件夾中。腳本文件內容如下所示:

#!/bin/bash
openvas-nvt-sync
openvassd
openvasmd --rebuild
openvasmd --backup
openvasmd -p 9390 -a 127.0.0.1
openvasad -a 127.0.0.1 -p 9393
gsad --http-only --listen=127.0.0.1 -p 9392

編寫好該腳本時,以后運行OpenVAS就不用執行多條命令了,只需要執行一下OpenVAS.sh腳本就可以了。

在Kali中,OpenVAS也提供了圖形界面。啟動OpenVAS圖形界面的方法如下:

在Kali桌面上依次選擇“應用程 序”|Kali Linux|“漏洞分析”|OpenVAS| openvas-gsd命令,將顯示如圖5.30所示的界面。

圖5.30 OpenVAS圖形登錄界面

在該界面輸入服務器的地址127.0.0.1、用戶名和登錄密碼。然后單擊Log in按鈕即可登錄到OpenVAS服務器。

5.2.2 創建Scan Config和掃描任務

通過以上步驟OpenVAS就配置好了,現在使用瀏覽器的方式登錄服務器。在該服務器中新建Scan Config、創建掃描目標及新建掃描任務才可以進行各種漏洞掃描。設置好這些信息用戶就可以進行各種漏洞掃描了,如本地漏洞掃描、網絡漏洞掃描和指定操作系統漏洞掃描等。進行這些漏洞掃描之前,都必須要創建Scan Config和掃描任務等。這里將分別介紹這些配置,方便后面的使用。

1. 新建Scan Config

新建Scan Config的具體操作步驟如下所示。

(1)在服務器的菜單欄中依次選擇Configuration|Scan Configs命令,如圖5.31所示。單擊Scan Configs命令后,將顯示如圖5.32所示的界面。

圖5.31 Scan Configs

圖5.32 Scan Configs界面

(2)從該界面可以看到默認總共有5個Scan Config。在該界面單擊(New Scan Config)圖標,將顯示如圖5.33所示的界面。

圖5.33 New Scan Config

(3)在該界面設置掃描的名稱,這里設置為Local Vulnerabilities。對於Base選擇Empty,static and fast復選框,該選項允許用戶從零開始並創建自己的配置。然后單擊Create Scan Config按鈕,將會看到新建的配置,如圖5.34所示。

圖5.34 新建的Local Vulnerabilities

(4)從該界面可以看到新建的Local Vulnerabilities,要編輯該配置可以單擊(Edit Scan Config)圖標。創建好Scan Config后需選擇掃描的內容。此時單擊圖標選擇掃描的內容,如圖5.35所示。

圖5.35 選擇掃描內容

(5)從該界面的Family欄看到有很多的可掃描信息,此時將Select all NVT's欄中的復選框勾選上即可,設置完后,單擊Save Config按鈕。圖5.35是經過修改后的一個圖,該界面顯示的內容較多,由於篇幅的原因,這里只截取了一部分。

2. 新建目標

在服務器的菜單欄中依次選擇Configuration|Targets命令,將顯示如圖5.36所示的 界面。

圖5.36 Targets界面

在該界面單擊(New Target)圖標,將顯示如圖5.37所示的界面。

圖5.37 新建Target界面

在該界面輸入Target名稱及掃描的主機。然后單擊Create Target按鈕,將顯示如圖5.38所示的界面。

圖5.38 新建的目標

從該界面可以看到新建的Local Vulnerabilities目標。

3. 新建任務

在OpenVAS的菜單欄中依次選擇Scan Management|New Task命令,將顯示如圖5.39所示的界面。

圖5.39 新建任務

在該界面設置任務名稱、Scan Config和Scan Targets,然后單擊Create Task按鈕,將顯示如圖5.40所示的界面。

圖5.40 新建的任務

在該界面單擊(Start)圖標,將開始漏洞掃描。當啟動該掃描任務后,按鈕將變為(Pause),單擊該按鈕可以暫停掃描,也可以單擊(Stop)停止掃描。

5.2.3 掃描本地漏洞

OpenVAS允許用戶大范圍掃描漏洞,並且將限制在用戶的評估列表中。目標主機的漏洞指定是從評估中獲得的信息。本小節將介紹使用OpenVAS來掃描用戶指定本地目標系統上的漏洞。掃描本地漏洞的具體操作步驟如下所示。

(1)新建名為Local Vulnerabilities的Scan Config。

(2)添加掃描的類型,所需掃描類型如表5-4所示。

表5-4 掃描的類型

Compliance 掃描Compliance漏洞
Default Accounts 掃描默認賬號漏洞
Denial of Service 掃描拒絕服務漏洞
FTP 掃描FTP服務器漏洞
Ubuntu Local Security Checks 掃描Ubuntu系統的本地安全漏洞

(3)創建目標系統。

(4)創建名為Local Vulnerabilities掃描任務。

(5)掃描完本地漏洞的顯示界面如圖5.41所示。

圖5.41 掃描漏洞完成

(6)在該界面單擊(Task Details)圖標,查看漏洞掃描的詳細信息。顯示界面如圖5.42所示。

圖5.42 掃描的詳細信息

(7)該界面顯示了兩個窗口,分別是任務詳細信息和本地漏洞掃描報告信息。用戶從報告信息中可以了解本地系統是否有漏洞。在該界面單擊Actions欄下的(Details)圖標可以查看詳細情況。單擊該圖標后,將顯示如圖5.43所示的界面。

圖5.43 報告摘要

(8)在該界面顯示了所有信息,這些信息可以通過單擊(Download)圖標下載掃描報告。

5.2.4 掃描網絡漏洞

本小節將介紹使用OpenVAS掃描一個網絡漏洞。這些漏洞的信息是指一個目標網絡中某個設備的信息。本小節中將Windows XP、Windows 7、Metasploitable 2.0和Linux系統作為目標測試系統。掃描網絡漏洞的具體操作步驟如下所示。

(1)新建名為Network Vulnerability的Scan Config。

(2)添加所需掃描的類型,如表5-5所示。

表5-5 掃描類型

Brute force attacks 暴力攻擊
Buffer overflow 掃描緩存溢出漏洞
CISCO 掃描CISCO路由器
Compliance 掃描Compliance漏洞
Databases 掃描數據庫漏洞
Default Accounts 掃描默認賬號漏洞
Denial of Service 掃描拒絕服務漏洞
FTP 掃描FTP服務器漏洞
Finger abuses 掃描Finger濫用漏洞
Firewalls 掃描防火牆漏洞
Gain a shell remotelly 掃描獲取遠程Shell的漏洞
General 掃描漏洞
Malware 掃描惡意軟件
Netware 掃描網絡操作系統
NMAP NSE 掃描NMAP NSE漏洞
Peer-To-Peer File Sharing 掃描共享文件漏洞
Port Scanners 掃描端口漏洞
Privilege Escalation 掃描提升特權漏洞
Product Detection 掃描產品偵察
RPC 掃描RPC漏洞
Remote File Access 掃描遠程文件訪問漏洞
SMTP Problems 掃描SMTP問題
SNMP 掃描SNMP漏洞
Service detection 掃描服務偵察
Settings 掃描基本設置漏洞

(3)創建名為Network Vulnerability目標系統。

(4)創建名為Network Scan掃描任務。

(5)掃描結果,如圖5.44所示。

圖5.44 Network掃描結果

(6)從該界面可以看到整個網絡中漏洞的情況不太嚴重,漏洞狀態為Medium。查看詳細漏洞掃描情況的方法在前面已經介紹,這里就不再贅述。

5.2.5 掃描指定Linux系統漏洞

本小節將介紹使用OpenVAS掃描指定Linux系統的漏洞。這些漏洞信息來自在一個目標網絡中指定的Linux系統。推薦使用的目標Linux系統為Metasploitable 2.0和其他任何版本Linux。掃描指定Linux系統漏洞的具體操作步驟如下所示。

(1)新建名為Linux Vulnerabilities的Scan Config。

(2)添加所需的掃描類型,如表5-6所示。

表5-6 掃描的類型

Brute force attacks 暴力攻擊
Buffer overflow 掃描緩存溢出漏洞
Compliance 掃描Compliance漏洞
Databases 掃描數據庫漏洞
Default Accounts 掃描默認用戶賬號漏洞
Denial of Service 掃描拒絕服務的漏洞
FTP 掃描FTP服務器漏洞
Finger abuses 掃描Finger濫用漏洞
Gain a shell remotely 掃描獲取遠程Shell漏洞
General 掃描General漏洞
Malware 掃描惡意軟件漏洞
Netware 掃描網絡操作系統
NMAP NSE 掃描NMAP NSE漏洞
Port Scanners 掃描端口漏洞
Privilege Escalation 掃描提升特權漏洞
Product Detection 掃描產品偵察漏洞
RPC 掃描RPC漏洞
Remote File Access 掃描遠程文件訪問漏洞
SMTP Porblems 掃描SMTP問題
SNMP 掃描SNMP漏洞
Service detection 掃描服務偵察漏洞
Settings 掃描基本設置漏洞
Web Servers 掃描Web服務漏洞

(3)創建Linux Vulnerabilities目標系統。

(4)創建Linux Scan掃描任務。

(5)掃描結果,如圖5.45所示。

圖5.45 Linux掃描結果

(6)從該界面可以看到目標系統中有非常嚴重的漏洞。此時單擊(Task Details)圖標,查看漏洞掃描的詳細信息,如圖5.46所示。

圖5.46 Task Details

(7)從該界面的掃描報告中可以看到有14個非常嚴重的漏洞信息。在該界面的Actions中單擊(Details)圖標查看具體漏洞情況,如圖5.47所示。

圖5.47 漏洞消息

(8)該界面顯示的信息很多,由於篇幅的原因,這里只截取了其中一個較嚴重的漏洞。從該界面可以看到192.168.41.142目標主機上存在非常嚴重的漏洞。漏洞信息包括目標主機所開發的端口、OID和解決方法等。關於漏洞的報告可以使用前面介紹過的方法進行下載。

5.2.6 掃描指定Windows系統漏洞

本小節將介紹使用OpenVAS掃描指定Windows系統漏洞。這些漏洞信息來自在一個目標網絡內指定的Windows目標系統。這里推薦的目標系統為Windows XP和Windows 7。

使用OpenVAS掃描指定Windows系統漏洞的具體操作步驟如下所示。

(1)新建名為Windows Vulnerabilities的Scan Config。

(2)添加所需的掃描類型,如表5-7所示。

表5-7 掃描的類型

Brute force attacks 暴力攻擊
Buffer overflow 掃描緩存溢出漏洞
Compliance 掃描Compliance漏洞
Databases 掃描數據庫漏洞
Default Accounts 掃描默認用戶賬號漏洞
Denial of Service 掃描拒絕服務漏洞
FTP 掃描FTP服務器漏洞
Gain a shell remotely 掃描獲取遠程Shell的漏洞
General 掃描General漏洞
Malware 掃描網絡操作系統漏洞
NMAP NSE 掃描NMAP NSE漏洞
Port Scanners 掃描端口漏洞
Privilege Escalation 掃描提升特權漏洞
Product Detection 掃描產品偵察漏洞
RPC 掃描RPC漏洞
Remote File Access 掃描遠程文件訪問漏洞
SMTP Problems 掃描SMTP問題漏洞
SNMP 掃描SNMP漏洞
Service detection 掃描服務偵察漏洞
Web Servers 掃描Web服務漏洞
Windows 掃描Windows系統漏洞
Windows:Microsoft Bulletins 掃描Windows系統微軟公告漏洞

(3)創建名為Windows Vulnerabilities目標系統。

(4)創建名為Windows Scan掃描任務。

(5)掃描完成后,結果如圖5.48所示。

圖5.48 掃描結果

(6)從該界面可以看到Windows Scan掃描已完成,漏洞情況為Medium。可以在該界面單擊(Task Details)圖標查看詳細信息,如圖5.49所示。

圖5.49 Task Details

(7)從該界面可以了解掃描任務的設置及掃描報告信息,如掃描完成的時間、漏洞情況及日志。如果想查看更詳細的報告,使用前面介紹過的方法下載掃描報告。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM