openvas 介绍

OpenVAS是一些服务和工具的框架提供了一个全面和强大的漏洞扫描和脆弱性管理解决方案。Greenbone的框架部分网络的商业脆弱性管理解决方案的发展导致了自2009年以来,开源社区。
实际的安全扫描器是伴随着一个定期更新的提要网络脆弱性测试(NVTs),总共超过50000,所有OpenVAS产品都是免费软件。最下许可的组件是GNU通用公共许可证(GNU GPL)。

完整的openvas架构图:

工具来源: 点击进入
工具主页: 点击进入
Kali openvas 仓库: 点击进入

作者: Greenbone Networks GmbH
证书: GPL-2+

openvas 包里的工具

openvas-setup – OpenVAS 安装脚本

root@kali:~# openvas-setup

openvas-feed-update – OpenVAS 签名更新

root@kali:~# openvas-feed-update

openvasmd – 管理开放漏洞的评估系统

root@kali:~# openvasmd -h
Usage:
openvasmd [OPTION…] - Manager of the Open Vulnerability Assessment System

Help Options:
-h, --help          显示帮助。

Application Options:
--backup            备份数据库。
--check-alerts        检查SecInfo警报。
-d, --database=<file/name>      为SQLite/Postgres使用<file/name>作为数据库。
--disable-cmds=<commands>      禁用逗号分隔<命令> 。
--disable-encrypted-credentials  不进行加密或解密凭证,
--disable-password-policy      不限制密码政策。
--disable-scheduling         禁用任务调度。
--create-user=<username>       创建管理员用户<用户名>和退出。
--delete-user=<username>       删除用户<用户名>和退出。
--get-users              列出用户名和退出。
--create-scanner=<scanner>      创建全局扫描<扫描>并退出。
--modify-scanner=<scanner-uuid>  修改扫描者<scanner-uuid>并退出。
--scanner-name=<name>        为 --modify-scanner 命名。
--scanner-host=<scanner-host>    指定扫描主机。
                       默认进程socket路径 /var/run/openvassd.sock.
--otp-scanner=<unix socket>     使用扫描unix套接字文件路径
--scanner-port=<scanner-port>    指定扫描端口,默认是 9391.
--scanner-type=<scanner-type>    指定扫描类型, 'OpenVAS' or 'OSP'.
--scanner-ca-pub=<scanner-ca-pub>    指定扫描 CA 证书路径。
--scanner-key-pub=<scanner-key-public>    指定公钥路径。
--scanner-key-priv=<scanner-key-private>  指定私钥路径。
--verify-scanner=<scanner-uuid>         确认扫描<scanner-uuid>并退出。
--delete-scanner=<scanner-uuid>         删除扫描<scanner-uuid>和退出。
--get-scanners            列出扫描者和退出。
-f, --foreground           前台运行。
--inheritor=<username>     从已删除用户继承<username>。
-a, --listen=<address>      监听 <address>。
--listen2=<address>        监听网卡第二地址。
--listen-owner=<string>     套接字的拥有者。
--listen-group=<string>     套接字的拥有组。
--listen-mode=<string>      套接字的监听模式。
--max-ips-per-target=<number>       每个目标IPs最大数量的。
--max-email-attachment-size=<number>   警告邮件附件的最大单位(以字节为单位)。
--max-email-include-size=<number>     提醒邮件内容的最大单位(以字节为单位)。
-m, --migrate           迁移数据库并退出。
--modify-setting=<uuid>      修改< uuid >设置并退出。
--encrypt-all-credentials     重新加密所有凭证。
--new-password=<password>    修改用户的密码并退出。
--optimize=<name>          指定优化: vacuum, analyze, cleanup-config-prefs,
                      remove-open-port-results,cleanup-port-names,
                      cleanup-result-severities, cleanup-schedule-times,                       rebuild-report-cache or update-report-cache.
-p, --port=<number>    指定端口号 <number>。
--port2=<number>       指定网卡第二地址端口号<number>。
--progress           显示进展 。
--rebuild            重建NVT缓存并退出。
--role=<role>         指定规则 。
-u, --update         更新NVT缓存并退出。
-c, --unix-socket=<filename>     监听 <filename> 的套接字
-c, --unix-socket=<filename>     监听 <filename> 的套接字
--user=<username>           指定用户使用新密码 --new-password。
--gnutls-priorities=<priorities-string>     设置GnuTLS优先事项管理进程。
--dh-params=<file>    设置Diffie-Hellman参数 。
--value=<value>     设置 --modify-setting 参数 。
-v, --verbose    显示详细信息。
--version       显示版本。

openvas-manage-certs – 安装OpenVAS证书管理

root@kali:~# openvas-manage-certs -h
Usage :
/usr/bin/openvas-manage-certs [OPTION] - Manage certificate infrastructure for an OpenVAS installation
Options :
  -h      显示帮助。
  -a      自动设置,默认的OpenVAS基础设施。
  -V      验证现有OpenVAS证书基础设施。
  -C      创建一个(CA)证书颁发机构。
  -I      安装一个CA证书。
  -R      创建一个CA证书请求。
  -r      创建一个证书请求。
  -c      创建一个证书请求并签署。
  -i      安装一个证书。
  -S      签署一个证书请求。
  -f      强制覆盖已存在的文件。

Certificate options :
  -E      创建一个服务器证书。
  -L      创建一个客户端证书。
  -A      在自动模式下,跳过CA生成。

Output control :
  -d      输出调试信息。
  -v      显示详细信息。
  -q      安静模式,只显示错误信息。

Configuration :
  -e <file>   从<file>读取配置文件。

所有证书生成选项可以通过配置设置文件或通过环境变量如下:

  OPENVAS_CERTIFICATE_LIFETIME       证书有效期,直到证书将过期。
  OPENVAS_CERTIFICATE_HOSTNAME       为使用证书命名。
  OPENVAS_CERTIFICATE_SIGNALG       用于签署散列算法。

  OPENVAS_CERTIFICATE_KEYSIZE       生成的key的大小。
  或者
  OPENVAS_CERTIFICATE_SECPARAM      GnuTLS安全级别 [low|medium|high|ultra]

  OPENVAS_CERT_DIR            安装前指定密钥和证书存储目录。
  OPENVAS_CERT_PREFIX           证书名字前缀 (e.g. "server")。

对于选项的完整列表,请参阅文档。

openvas-migrate-to-postgres – 从SQLite3 to Postgres迁移数据库管理器

root@kali:~# openvas-migrate-to-postgres --help
/usr/sbin/openvas-migrate-to-postgres: Migrate Manager database from SQLite3 to Postgres
  --help           显示帮助。
  --selftest        执行自检。
  --version        显示版本。

openvas-portnames-update – 更新从XML文件到端口的名称

root@kali:~# openvas-portnames-update
       Update port names data from a port names XML file.

目前支持官方IANA服务名称列表。
为了更新数据库,下载端口名称列表,并提供此脚本的路径作为参数。

root@kali:~$ wget http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
root@kali:~$ openvas-portnames-update service-names-port-numbers.xml
root@kali:~$ rm -f service-names-port-numbers.xml

openvassd – 扫描开放漏洞的评估系统

root@kali:~# openvassd -h
Usage:
    openvassd [OPTION] - Scanner of the Open Vulnerability Assessment System

Help Options:
    -h, --help             显示帮助。

Application Options:
    -V, --version           显示版本。
    -f, --foreground         前台运行。
    -c, --config-file=<filename>   指定配置文件。
    -s, --cfg-specs          显示配置设置 。
    -y, --sysconfdir         显示配置目录(set at compile time) 。
    -C, --only-cache         当初始化或NVT缓存更新就退出。
    --unix-socket=<filename>     文件监听路径 。
    --listen-owner=<string>      套接字的属主。
    --listen-group=<string>      套接字的属组 。
    --listen-mode=<string>      套接字的监听模式。
    --gnupg-home=<directory>      Gnupg主目录。

openvas 用法示例

尝试使用 OpenVAS 做任何事之前,您必须首先运行安装脚本,适当命名为openvas-setup。安装过程中会花费很长时间,过程中会显示自动创建的密码,把密码保存到安全地方。

root@kali:~# openvas-setup
ERROR: Directory for keys (/var/lib/openvas/private/CA) not found!
ERROR: Directory for certificates (/var/lib/openvas/CA) not found!
ERROR: CA key not found in /var/lib/openvas/private/CA/cakey.pem
ERROR: CA certificate not found in /var/lib/openvas/CA/cacert.pem
ERROR: CA certificate failed verification, see /tmp/tmp.YpvirUZgxc/openvas-manage-certs.log for details. Aborting.
ERROR: Your OpenVAS certificate infrastructure did NOT pass validation.
...
See messages above for details.
Generated private key in /tmp/tmp.XwwD8IOl5u/cakey.pem.
Generated self signed certificate in /tmp/tmp.XwwD8IOl5u/cacert.pem.
Installed private key to /var/lib/openvas/private/CA/cakey.pem.
Installed certificate to /var/lib/openvas/CA/cacert.pem.
Generated private key in /tmp/tmp.XwwD8IOl5u/serverkey.pem.
Generated certificate request in /tmp/tmp.XwwD8IOl5u/serverrequest.pem.
...
...
znc_detect.nasl
znc_detect.nasl.asc
zone_alarm_local_dos.nasl
zone_alarm_local_dos.nasl.asc
OpenVAS community feed server - http://www.openvas.org/
This service is hosted by Greenbone Networks - http://www.greenbone.net/
All transactions are logged.

If you have any questions, please use the OpenVAS mailing lists
or the OpenVAS IRC chat. See http://www.openvas.org/ for details.

By using this service you agree to our terms and conditions.
Only one sync per time, otherwise the source ip will be blocked.

receiving incremental file list
./
COPYING
    1,493 100%  1.42MB/s     0:00:00  (xfr#1, to-chk=84/86)
COPYING.asc
    181    100%  176.76kB/s  0:00:00  (xfr#2, to-chk=83/86)
nvdcve-2.0-2002.xml
...
...
sha1sums
    2,002  100%  2.34kB/s  0:00:00  (xfr#33, to-chk=2/36)
timestamp
    13    100%  0.02kB/s  0:00:00  (xfr#34, to-chk=1/36)
timestamp.asc     181  100%  0.21kB/s  0:00:00  (xfr#35, to-chk=0/36)

sent  719  bytes  received  41,272,464  bytes  398,774.71  bytes/sec
total  size  is  41,260,051  speedup  is  1.00
/usr/sbin/openvasmd
User created with password 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx'.

设置完成后,你会发现两个监听TCP端口:9390年和9392年。端口9392,您可以使用浏览器来打开OpenVAS的web界面。

root@kali:~# ss -lnt4
State   Recv-Q  Send-Q  Local Address:Port  Peer Address:Port
LISTEN   0        128         127.0.0.1:9390            *:*
LISTEN   0        128         127.0.0.1:9392            *:*

root@kali:~# firefox https://127.0.0.1:9392

尽管提醒大家在设置中保存生成的默认密码,它仍然有时会错误的。幸运的是,“openvasmd”工具可用于创建和删除用户以及重置自己的密码。

root@kali:~# openvasmd --create-user=dookie
User created with password 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyy'.

root@kali:~# openvasmd --get-users
admin
dookie
root@kali:~# openvasmd --user=dookie --new-password=s3cr3t
root@kali:~# openvasmd --user=admin --new-password=sup3rs3cr3t

OpenVAS 签名更新可以通过“openvas-feed-update”工具程序。

root@kali:~# openvas-feed-update
Updating OpenVas Feeds
OpenVAS community feed server - http://www.openvas.org/
This service is hosted by Greenbone Networks - http://www.greenbone.net/
All transactions are logged.
...
If you have any questions, please use the OpenVAS mailing lists
or the OpenVAS IRC chat. See http://www.openvas.org/ for details.
...
Verify the certificates that are configured for OpenVAS.

root@kali:~# openvas-manage-certs -V
OK: Directory for keys (/var/lib/openvas/private/CA) exists.
OK: Directory for certificates (/var/lib/openvas/CA) exists.
OK: CA key found in /var/lib/openvas/private/CA/cakey.pem
OK: CA certificate found in /var/lib/openvas/CA/cacert.pem
OK: CA certificate verified.
OK: Certificate /var/lib/openvas/CA/servercert.pem verified.
OK: Certificate /var/lib/openvas/CA/clientcert.pem verified.
OK: Your OpenVAS certificate infrastructure passed validation.

kali 2.0 install OpenVas
kali 1.0 install OpenVas
centos install OpenVas