0x00 前言
这几天公司安排一个内部的众测任务,使用nessus扫描了以后没有发现什么漏洞,所以就安装下openvas来扫描试试。
0x01 openvas简介
OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器。其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。
OpenVAS**系统架构**
服务器层组件(建议都安装) | 客户层组件(任选其一安装即可) | 服务器层组件(建议都安装) | 客户层组件(任选其一安装即可) |
---|---|---|---|
OpenVAS-scanner(扫描器) | 负责调用各种漏洞检测插件,完成实际的扫描操作。 | OpenVAS-cli(命令行接口) | 负责提供从命令行访问OpenVAS服务层程序。 |
OpenVAS-manager(管理器) | 负责分配扫描任务,并根据扫描结果生产评估报告。 | Greenbone-security-assistant(安全助手) | 负责提供访问OpenVAS服务层的Web接口,便于通过浏览器来建立扫描任务,是使用最简便的客户层组件。 |
OpenVAS-administrator(管理者) | 负责管理配置信息,用户授权等相关工作。 | Greenbone-Desktop-Suite(桌面套件) | 负责提供访问OpenVAS服务层的图形程序界面,主要在windows系统中使用。 |
0x02 openvas的安装
安装
apt-get install openvas
初始化
openvas-setup
注:这个过程有点长
检查安装结果
openvas-check-setup(如果出错,使用openvas-check-setup | grep FIX)
出现下图说明安装成功
创建用户
openvasmd –create-user 用户名
修改密码
openvasmd –user 用户名–new-password ‘新密码’
启动openvas服务
openvas-start(每次重启电脑都要重启服务)
访问网址
升级插件和漏洞库
方法一:
# openvas-feed-update //初始化安装,可以不用更新
方法二:
# greenbone-nvt-sync
# greenbone-scapdata-sync
# greenbone-certdata-sync
建议使用方法一进行升级。
0x03 配置外部访问
安装完成后,openvas默认设置的监听地址为127.0.0.1,每次使用都只能用linux虚拟机打开浏览器通过https://127.0.0.1:9392来进行登录扫描,不如通过自己的电脑浏览器连接到openvas服务器直接进行扫描来的方便。
如果openvas安装在远程服务器或者虚拟机里面,则必须用服务器或者虚拟机打开浏览器来扫描,这样比较麻烦。用户更加希望,通过自己的电脑浏览器连接到openvas服务器,直接进行扫描。下面介绍配置外部访问的方法:
openvas新版本有两种方式控制openvas的开关,一种是服务的方式,一种是脚本的方式。
3.1 服务的方式
这种方式是通过openvas-start/openvas-stop脚本启动和关闭的,这两个脚本里调用的是service指令。启动openvas服务的脚本都存放在/lib/systemd/system下。
修改三个配置文件openvas-manager.service,openvas-scanner.service和greenbone-security-assistant.service,将配置文件中的监听IP由127.0.0.1改为0.0.0.0(相比于更改为openvas服务器的实际IP地址,改为0.0.0.0会更好,因为0.0.0.0代表本机的任意地址,适用于服务器有多个IP或者服务器IP有变动的情况)。具体操作如下
leafpad /lib/systemd/system/greenbone-security-assistant.service
(1)修改greenbone-security-assistant.service监听地址
(2)增加host 头主机地址(IP或域名)
解释:
如果不加主机头,访问时会出现以下错误。
1 | The request contained an unknown or invalid Host header. If you are trying to access GSA via its hostname or a proxy, make sure GSA is set up to allow it. |
(3)修改openvas-manager.service监听地址
1 | mousepad /lib/systemd/system/openvas-manager.service |
1 | #管理器:与接口通信,分配扫描任务,并根据扫描结果生成评估报告,默认端口为9390 |
(6)修改greenbone-security-assistant监听地址
1 | #访问web 端接口(gsad):访问opebvas 服务层的web 接口,默认监听地址为127.0.0.1,端口为9392 |
(7)重新加载systemctl
1 | #关闭openvas |
成功使用本机浏览器访问
0x04 openvas的使用
4.1 建立一个扫描目标
新建扫描目标Configuration→Targets→New
Openvas扫描主机时可以手工输入,也可以通过文件导入。有默认配置好的扫描端口列表及存活测试,可根据实际情况下拉选择
端口扫描列表可以通过星型图标创建自定义端口扫描策略。
同样,通过星型图标可创建登录凭证。 在已知主机账号密码时可以进行登录扫描。
4.2 建立一个新的扫描任务
建立完扫描目标之后,需要建立扫描任务关联扫描目标。
建立扫描任务有两种方式:
(1)使用任务向导进行任务的创建
任务向导可以快速的建立并开启一个扫描任务;高级任务向导有更详细的选项,如登录凭证之类的信息;修改任务向导可以快速的选择之前创建的任务重新创建任务开启扫描。任务向导中没有填写的选项都按照设置(Extras→My Settings)的默认配置进行扫描任务配置。
(2)通过星型图标新建任务创建扫描任务,
星型图标新建任务创建扫描任务,内容较详细。
填写的内容可以根据实际的情况适当的增减,不需要都填写。
4.3 自定义扫描策略
Openvas默认有配置好的扫描策略,如下图所示。
configuration–>scan configs
1 | Discover:只对目标系统进行发现扫描。 |
我们也可以根据我们的个人需求来定制扫描策略,操作如下。
点击configuration→scan configs→星型图标新建
选择好NVTs后保存为新的扫描策略。每一个family代表一种漏洞类型,该类型下会集成多个NVTS。Family旁有斜着(Grow)和横(Static)着的两种箭头,选择Grow意味着当openvas官方发布该Family下新的NVTS时,策略会自动添加新的NVTS,然而选择Static时openvas发布新的NVTS,则不会被添加的策略里面。
配置完后会在scan configs下多一个新建的扫描策略,在建立扫描任务时,选择该扫描策略就会使用该扫描策略进行扫描
4.4 设置定时扫描
当我们需要每天都对系统进行扫描时,OpenVas同样可以帮忙。Openvas可以设置定时扫描任务。点击Configuration→Schedules→星型按钮新建。
新建之后,填写以下内容进行配置。
完成之后在新建扫描任务的时候需要选择该schedule,在任务套用schedule后启动按钮会变成时钟,此后该任务就会开启定时扫描
0x05 参考连接
https://blog.csdn.net/xlsj228/article/details/90766648
https://www.cnblogs.com/hftian/p/11017545.html
https://blog.51cto.com/linhong/2134910?source=drh
https://www.freebuf.com/column/160541.html