第八章(三)—漏洞扫描(openvas)

Openvas

是一个开源的扫描器。他是Nessus项目分支。
管理目标系统的漏洞。
Kail默认安装,但未配置和启动。

1.openvas的架构体系

OpenVAS Manager
  • 控制scanner和其他manager的中心组件
  • 控制中心数据库,保存用户配置及扫描结果
  • 客户端使用基于xml的无状态OMP协议与其通信
  • 集中排序筛选,使客户端获得一致展现

OpenVAS Manager:是openvas的核心组件,负责把openvas其他不同的组件进行连接并进行统一进行管理,然后协调调度去执行。和 openvas manager最紧密的联系是openvas中最重要的另外两个组件,OpenVAS Scanner、OSP Scanner。

OpenVAS Scanner
  • 可以统一管理多个scanner
  • 将一组scanner作为一个对象交给manager管理

OpenVAS Scanner:Manager会管理多个scanner去扫描目标系统,当要扫描的目标系统数量特别巨大,openvas可以进行多级部署,做成一个群集式的部署方式,你可以在多台服务器上安装scanner,由统一的manager去调用scanner扫描不同的目标系统。每个scanner在一次扫描里使用的扫描配置必须是一致的,所以使用多套配置去扫描不同的目标系统。

Greenbone Security Assistant
  • 提供Web service

Greenbone Security Assistant:绿骨头安全处理。他只是给我们用户提供了一个访问openvas manager web组件的一个接口,他相当于web的服务器端。通过这个服务器端,我们可以在自己的客户端上使用浏览器去访问web接口,访问这个网站。通过这个网站的配置去管理manager的内容,由manager去制定策略,去指定扫描目标,由scanner最终完成目标系统的扫描。

OpenVAS CLI
  • omp命令行工具,可实现批处理控制manager。

OMP Clients:可以通过使用命令行的方式通过API去调用和管理manager,可以通过编程的方式去实现对manager的调用和管理。

其他

其中通过feed更新的NVTs、SCAP CERT都同步到了scanner和manager。
另外User Data里面存放了用户的数据,比如我要扫那些个服务器,多块频率扫描一次、扫描那些个漏洞、扫描结果及生成报告等用户数据都会存放在一个本地的数据库中。这个数据库会跟manager来进行一些数据交互,manager会把他写到数据库里面,或者把数据库里面内容调出来,由manager把他导出等操作。
Feed:更新都是通过他来下拉过来的。

2.安装

为了确保能够安装成功,首先升级一遍系统,通过如下命令:

apt-get update
apt-get upgrade

执行apt-get upgrade命令的过程中遇到问题:
1.ubuntu apt-get upgrade报E: 无法打开锁文件 /var/lib/dpkg/lock-frontend - open (2: 没有那个文件或目录)
解决办法:

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

2.apt-get安装软件,出现"下列软件包有未满足的依赖关系"
解决办法:

#使用aptitude这个命令安装,他可以智能地分析库之间的依赖关系,并给出调整建议(如降级或删除某个库)。
sudo aptitude install XXX
#之后检查一下是否成功安装
dpkg -s XXX
#安装openvas
apt-get install openvas

#初始化安装openvas
openvas-setup
#先配置证书,然后到官方网站上同步NVT(网络弱点库)的数据库

#检查安装结果
openvas-check-setup
#如果出现报错,运行以下命令查看报错信息
openvas-check-setup | grep FIX

#查看当前账号
openvasmd --list-users
#会生成初始账号admin,同时会生成很长很长的一串密码

#如果忘掉了初始化生成的一串密码,可以使用该命令修改账号密码
openvasmd --user=admin --new-password=PassOrd

#升级
openvasfeed-update

初始化结束后,会生成一串admin账号的密码,一定要保存下来,到时候登录web界面需要用到。
第八章(三)—漏洞扫描(openvas)_第1张图片

遇到的问题

使用openvas-check-setup检测安装是否完整。结果提示:no openvas scap database found. (tried /var/lib/openvas/scap-data/scap.db)
使用命令更新:

greenbone-scapdata-sync

第八章(三)—漏洞扫描(openvas)_第2张图片
第八章(三)—漏洞扫描(openvas)_第3张图片
更新完毕后,再使用openvas-setup监测,若还是出现上述错误。
解决方法如下:
1、使用mv命令把原有的scap-data目录先备份。

cd /var/lib/openvas/
mv scap-data/ scap-data_bak

2、在使用命令更新:(正常更新的命令如下)

greenbone-scapdata-sync

第八章(三)—漏洞扫描(openvas)_第4张图片
3、更新完之后,使用命令检查

openvas-check-setup

第八章(三)—漏洞扫描(openvas)_第5张图片
显示is ok!

openvas初始化后会默认开放三个端口:9390、9391、9392,其中9392就是web登录端口。

netstat -pantu |grep .939

在这里插入图片描述

3.登陆openvas

使用https://127.0.0.1:9392
extras ——> my settings
通过图中红框标识的按钮可以对其进行修改。
第八章(三)—漏洞扫描(openvas)_第6张图片
注:
kail重新开机后openvas的服务默认是关闭的。

#启动openvas命令 
openvas-start
#查看是否启动起来
netstat -pantu |grep 939

#kail1.0需要编辑他的脚本文件,修改启动的服务顺序
vi /usr/bin/openvas-start
Staring OpenVas Services
Staring OpenVAS Manager.openvasmd
Staring OpenVAS Scanner.openvassd
Staring Greenbone Security Assistant:gsad

4.扫描

实例1:针对windows的扫描

(1)创建自己的扫描配置

设置具体要扫描那些漏洞。
configuration ——> scan config
默认情况下,openvas已经集成了以下集中配置。每种扫描配置扫描的内容不一样。具体内容可以通过每种扫描方式后面的families和NVT进行查看。

discovery:只对目标系统做发现行为
full and fast:对目标系统做完整、快速的扫描,通常使用该扫描,这里面已经包含了大部分的类型。
full and fast ultimate:对目标系统做完整、快速、极限的扫描
full and very deep:对目标系统做非常深入的扫描
full and very deep ultimate:对目标系统做非常深入、极限的扫描,这个是最最详细的,把买一个NVT要扫描的东西都做最完整的扫描。
第八章(三)—漏洞扫描(openvas)_第7张图片
如果以上扫描都不满足需求,可以点击下图中星号去设置自己的扫描配置。
第八章(三)—漏洞扫描(openvas)_第8张图片
第八章(三)—漏洞扫描(openvas)_第9张图片
第八章(三)—漏洞扫描(openvas)_第10张图片
第八章(三)—漏洞扫描(openvas)_第11张图片
点开后如下图所示:
其中点击红框地方可以修改相关配置。有大量的配置,都不用去管他,就是用他默认的配置就可以了,重点关注在第一个:
第八章(三)—漏洞扫描(openvas)_第12张图片
点击后,我们可以看到有许多的families,一个familes表示一种类型的漏洞。
我们需要哪个,就在哪个“select all NVTs”中勾选上。
第八章(三)—漏洞扫描(openvas)_第13张图片
解释一下这两个框:
每个families对应的NVT数量不同,openvas可能会更新,一旦更新,其对应的NVT数量也会有改变,如果选择第一个斜上的箭头,就表示后续如果官方发布了新的某一个families的NVT,那么新增加的这个也会自动的添加到这个对应的families中,但是选择第二个向右的箭头,则不会自动添加。
第八章(三)—漏洞扫描(openvas)_第14张图片
选择以下选项:
第八章(三)—漏洞扫描(openvas)_第15张图片
第八章(三)—漏洞扫描(openvas)_第16张图片
第八章(三)—漏洞扫描(openvas)_第17张图片
第八章(三)—漏洞扫描(openvas)_第18张图片
第八章(三)—漏洞扫描(openvas)_第19张图片
在这里插入图片描述

(2)设置扫描目标

configuration ——> targets
第八章(三)—漏洞扫描(openvas)_第20张图片
第八章(三)—漏洞扫描(openvas)_第21张图片

(3)设置扫描目标的端口列表

configuration ——> port counts
点击红框处新建,如果你之前已经做过目标发现,主机发现,已经确定目标开放了那些端口,就可以根据之前扫描的结果来新建端口列表。
第八章(三)—漏洞扫描(openvas)_第22张图片
第八章(三)—漏洞扫描(openvas)_第23张图片
第八章(三)—漏洞扫描(openvas)_第24张图片
此时可以回去修改之前的目标配置中的扫描端口,选择刚添加的。
第八章(三)—漏洞扫描(openvas)_第25张图片

(4)设置扫描任务

Scans ——> task
第八章(三)—漏洞扫描(openvas)_第26张图片
第八章(三)—漏洞扫描(openvas)_第27张图片
第八章(三)—漏洞扫描(openvas)_第28张图片

(5)设置扫描调度

configuration ——> schedules
第八章(三)—漏洞扫描(openvas)_第29张图片
例:
第八章(三)—漏洞扫描(openvas)_第30张图片
在这里插入图片描述
我们可以在刚刚创建的扫描任务中选择该项调度。
第八章(三)—漏洞扫描(openvas)_第31张图片

(6)执行扫描

点击红框按钮,开始扫描。
在这里插入图片描述
点击查看扫描结果。
在这里插入图片描述

实例2:针对linux的扫描

(1)创建自己的扫描配置

设置具体要扫描那些漏洞。
configuration ——> scan config
我们可以新建扫描配置,也可以基于现有的复制并基于其修改生成新的配置。
点击红框按钮复制该配置。
第八章(三)—漏洞扫描(openvas)_第32张图片
第八章(三)—漏洞扫描(openvas)_第33张图片
修改如下:
第八章(三)—漏洞扫描(openvas)_第34张图片
第八章(三)—漏洞扫描(openvas)_第35张图片
第八章(三)—漏洞扫描(openvas)_第36张图片
第八章(三)—漏洞扫描(openvas)_第37张图片
第八章(三)—漏洞扫描(openvas)_第38张图片
第八章(三)—漏洞扫描(openvas)_第39张图片
第八章(三)—漏洞扫描(openvas)_第40张图片

(2)设置扫描目标

configuration ——> targets
第八章(三)—漏洞扫描(openvas)_第41张图片
第八章(三)—漏洞扫描(openvas)_第42张图片

(3)设置扫描目标的端口列表

configuration ——> port counts
点击红框处新建,如果你之前已经做过目标发现,主机发现,已经确定目标开放了那些端口,就可以根据之前扫描的结果来新建端口列表。

(4)设置扫描任务

Scans ——> task
第八章(三)—漏洞扫描(openvas)_第43张图片
第八章(三)—漏洞扫描(openvas)_第44张图片

(5)设置扫描调度

configuration ——> schedules
第八章(三)—漏洞扫描(openvas)_第45张图片
例:
第八章(三)—漏洞扫描(openvas)_第46张图片
在这里插入图片描述

(6)执行扫描

点击红框按钮,开始扫描。
在这里插入图片描述
下载扫描报告:
第八章(三)—漏洞扫描(openvas)_第47张图片
扫描结果也可能存在误报,所以需要根据扫描器提供的信息去确认,判断是否可以利用该漏洞实现真正的攻击。
若发现是误报,可以点击红框按钮进行覆盖修改相关选项。
在这里插入图片描述

5.管理所有主机列

扫描的所有主机可以到assest ——> host中去管理列。
第八章(三)—漏洞扫描(openvas)_第48张图片

6.信息管理

只要更新了openvas,就可以在这信息管理中看到相应的漏洞。
secinfo ——>
会把目前扫描的所有漏洞最新的比如NAT按威胁严重程度进行排序,每个等级有多少个。
也可以按CVSS排序。
NVT:NVT列表。可以查看每个NVT都是查什么东西的。每个NVT对应一个或几个CVE的漏洞项。
CVE:CVE编号列表。
CPE:产品类型编号列表。
OVAL:OVAL列表。每个OVAL都会这个漏洞进行了完整的描述。

7.垃圾桶

extras

8.账号管理

administrator
可以为一个团队每个人申请账号配置不同权限。

你可能感兴趣的:(kail)