Linux 漏洞扫描 openvas

article/2025/8/30 6:08:09

什么是OpenVAS

OpenVAS是一款开源的漏洞扫描攻击,主要用来检测网络或主机的安全性。其强大的扫描能力来自于集成数万个漏洞测试程序,这些测试程序以插件的形式提供,可以从官方网站免费更新.

一套完整的OpenVAS系统如下图显示

① 客户层组件

Openvas-cli:负责提供从命令行访问openvas服务的程序

Greenbone-security-assistant(gsa) :负责提供访问openvas服务层的web接口,便于通过浏览器来执行扫描任务,监听端口9392

Greenbone-Desktop-Suit: 主要用于windows客户机上的套件

② 服务层组件

Openvas-scanner: 负责调用各种漏洞测试插件,完成实际的扫描操作,监听端口9391

Openvas-manager: 负责分配扫描任务,并根据扫描结果生成评估报告,监听端口9390

Openvas-administrator: 负责管理配置信息,用户授权等相关工作

搭建OpenVAS服务器(CentOS)

禁用selinux,重启生效

[root@localhost ~]#vi /etc/selinux/config

SELINUX=disabled

[root@localhost ~]#reboot

配置yum源

[root@localhost ~]#wget -q -O - http://www.atomicorp.com/installers/atomic |sh

安装openvas

[root@localhost ~]#Yum upgrade

[root@localhost ~]#yum -y install openvas

[root@localhost ~]#yum -y install atomic-sqlite-sqlite-devel.x86_64 sqlite-devel

更新nvt

[root@localhost ~]#openvas-nvt-sync

注意:OpenVAS提供了一个名为openvas-nvt-sync的脚本,可用来在线更新插件。虽然这一步时间很久,可是非常重要,不然扫描时候没有结果,大概有4万多个插件

配置登录用户和密码

[root@localhost ~]#openvas-setup

 

安装redis nosql数据库

[root@localhost ~]#cd /usr/local/src

[root@localhost src]# wget http://download.redis.io/releases/redis-4.0.2.tar.gz

[root@localhost src]# tar xf redis-4.0.2.tar.gz

[root@localhost src]#mv redis-4.0.2 ../redis

[root@localhost src]#cd ../redis

[root@localhost src]#make && make install

启动redis:

直接运行redis-server即可

[root@localhost redis]#redis-server

停止redis:

考虑到 Redis 有可能正在将内存中的数据同步到硬盘中,强行终止 Redis 进程可能会导致数据丢失。正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,方法为:

再打开一个窗口执行下面命令

[root@localhost ~]#redis-cli shutdown

当Redis收到SHUTDOWN命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出。
Redis可以妥善处理 SIGTERM信号,所以使用 kill Redis 进程的 PID也可以正常结束Redis,效果与发送SHUTDOWN命令一样

配置redis-server

1、vim /usr/local/redis/redis.conf(将下面两个参数注释打开,并修改unixsocket路径)

unixsocket /usr/local/redis/redis.sock

unixsocketperm 700

2、vim /etc/openvas/openvassd.conf(在最后面添加一行 地址跟unixsocket的要一样)

kb_location =/usr/local/redis/redis.sock

改完了,最后重启一下redis 命令:

先关闭redis ,在启动redis,启动时候加上配置文件加载

redis-cli shutdown

redis-server /usr/redis/redis.conf

启动openvas服务

重启openvassd ,openvasmd两个daemon

[root@raingolee]# openvassd restart

[root@raingolee]# openvasmd restart

重建OpenVAS资料库

[root@raingolee]# openvas –rebuild

启动openvs-scanner

[root@raingolee]# /etc/init.d/openvas-scanner start

启动openvas-manager

[root@raingolee]# /etc/init.d/openvas-manager start

完成了配置,接着要测试是否安装成功

[root@localhost ~]#openvas-check-setup

下面就是测试是否安装成功遇到的问题以及解决方法:

3.问题:

ERROR:No client certificate file of OpenVASManager found.

FIX:Run’openvas-mkcert-client -n -i’

解决方式:

openvas-mkcert-client -n -i

4.问题:

ERROR:No users found.You need to create at least oneuser to log in.

Itis recommended to have at leastone user with role Admin.

FIX: create a user by running ‘openvasmd–create-user= –role=Admin && openvasmd–user= –new-password=’

解决办法:

openvasmd –create-user=admin –role=Admin&& openvasmd –user=admin –new-password=123456

如果密码登录不上去,可能是openvas默认给的密码不是123456 需要在手动改一下,命令如下:

openvasmd –user admin –new-password 123456

5.问题:

ERROR:The number of NVTsin the OpenVASManager database is too low.

FIX:Make sure OpenVASScanneris running with an up-to-date NVT collection and run ‘openvasmd –rebuild’.

解决方式: 重新build数据库

openvasmd –rebuild

6.问题:

ERROR:OpenVASManageris NOT running!

FIX:StartOpenVASManager(openvasmd).

解决方法:

通过命令可以看到如下信息: netstat -an | grep 939查看

tcp 0 0 0.0.0.0:9391 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:9392 0.0.0.0:* LISTEN

tcp 0 0 :::9390 :::* LISTEN

如果是使用serviceopenvas-manager start 和 openvasmd -p 9390 -a 127.0.0.1启动

[root@VM-ON-106 openvas-manager-6.0.1]# netstat -anlp | grep 9390

tcp 00:::9390:::* LISTEN 19727/openvasmd

发现9390是监听IPV6,所以netstat -A inet -ntlp获取结果为空,导致会提示ERROR: OpenVAS Manager is NOT running!

需要手动启动命令如下:

openvasmd -p 9390 -a 0.0.0.0

注意:启动之前先用killall openvasmd杀掉原来的IPV6进程,如果手动启动一次不行就启动多次。

再查看端口以及监听了IPV4,显示OK

[root@VM-ON-106 admin]# netstat -anlp | grep 9390

tcp  0  0  0.0.0.0:9390 0.0.0.0:* LISTEN 22283/openvasmd

以上所有问题解决完成之后可能启动成功了,输入命令: openvas-check-setup 显示如下打印:(安装成功了)

It seems like your OpenVAS-8 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.

重新启动 openvasmd服务

#!/bin/bash
/etc/init.d/openvas-scanner stop
/etc/init.d/openvas-manager stop
/etc/init.d/gsad stop/etc/init.d/openvas-scanner start
openvas-nvt-sync
service redis restartopenvasmd --rebuild --progress
openvasmd --create-user=admin --role=Admin && openvasmd --user=admin --new-password=admin
openvasmd -p 9390 -a 0.0.0.0
service gsad start

批量杀死openvas进程

# ps -ef |grep openvas|grep -v grep|awk '{print $2}'|xargs kill -9

netstat -pantu | grep 939:查看openvas端口是否开放(在openvas早起版本会开放三个端口9390(manager端口)、9391(扫描器端口)、9392(web服务端口),随着版本的更新扫描器已集成在软件里,现只开放9390及9392)

最后浏览器登录:https://ip:9392

 

Openvas Web界面介绍

通过web界面访问openvas,(值得注意的是openvas不是使用的http协议而是https协议)https://ip:9392

登录openvas后可以看到常规参数选项,在选项下可以进行一些常规的设置。

Dashboard:仪表板

scan:扫描管理

asset:资产管理

seclnfo :安全信息管理

Configuration:配置

Extras:附加设置

Administration:账号管理

Help:帮助

全局设置

在Extras选项下打开my settings:全局配置,这里可以修改openvas的配置。

扫描策略

(configuration-->scan configurations)openvas有默认的扫描策略

Discover: 只对目标系统进行发现扫描。

empty: 空策略,不进行任何操作。

Full and fast:全面的快速的扫描

Full and fast ulitimate:全面的快速的极限扫描

Full and very deep:全面的深度扫描

Full and very deep ultimate:全面的极限深度扫描

Host Discovery:主机发现

System Discovery:系统识别

Openvas 使用(环境kali metasploitable2 )

在kali里用openvas对metasploitable2漏洞靶机进行探测,kali下载地址VMware版本、VirtualBox版本,靶机下载地址metasploitable,具体操作如下。

登录web页面,配置扫描策略

在Confiuration选项下Scan configs,点击New Scan Configuration新建扫描策略。填写策略的名称,在Edit Scan Config中,配置需要的family类型,每一个family代表一种漏洞类型,该类型下会集成多种NVTS。勾选Selext all NVTs及选择该类型,注意Family旁有斜着(DYNAMIC)和横(STATIC)着的两个箭头,选择DYNAMIC在openvas发布新的NVTS时,策略会自动添加新的NVTS,然而选择STATIC时openvas发布新的NVTS,则不会被添加的策略里面,在选择完毕后Save保存,主界面多出一个linux_test策略。

配置扫描目标

Confiuration选项选择target,点击New target新建扫描目标,填写名称以及目标ip,Save保存 ,主界面多处一个linux_test的扫描目标。此时设置还没有完成,在配置完扫描端口后还需要将端口配置的添加到扫描目标里,完成后port list就是自己配置的扫描端口。

设置扫描端口

Confiuration选择port lists,点击New port lists 新建端口策略,openvas默认集成常见端口的 扫描策略。填写扫描端口名称,设置扫描端口,设置完成create保存,主界面多处一个linux_test的端口策略。

设置扫描任务

scans选择tasks,点击New tasks新建扫描任务,填写扫描任务名称,在任务设置时openvas会自动把设置的扫描目标添加,选择配置的扫描策略,设置完成后create保存,主界面多出一个linux_task的扫描任务,点击执行按钮开始扫描。

在扫描完成以后可以点击进度条和last查看扫描结果,结果会根据漏洞标准进行评分,openvas也会给出它对发现此漏洞的百分值,点击扫描结果可以看到openvas对此漏洞描述、使用哪种方法检测出此漏洞以及漏洞的修复方案、漏洞编号及其链接。

生成报告

当扫描完成以后可以将扫描结果进行特定格式的导出、支持多种报告格式,以方便进行阅读和分析。

顺序截图

登录系统主页面如下,并创建config:

在Configurations->scan config目录下进入到配置页面,点击五角星创建新配置:

创建一个target

 

总结

基础的使用方法就到这里了,任何的扫描工具都只是辅助我们发现漏洞,但并不是所有扫描出来漏洞都是真实的,都需要手动验证漏洞的真实性。且不要盲目判断扫描出的结果,很多的扫描器判断机制都很简陋的,会造成很多误判、漏判

如果创建的扫描任务执行报错如下:

Operation: Start Task

Status code: 503

Status message: Service temporarily down

就执行下面命令

/etc/init.d/openvas-scanner stop

killall openvasmd

openvas-mkcert -f

openvas-mkcert-client -i -n

openvasmd --get-scanners

openvasmd --modify-scanner "08b69003-5fc2-4037-a479-93b440211c73" --scanner-ca-pub /var/lib/openvas/CA/cacert.pem --scanner-key-pub /var/lib/openvas/CA/clientcert.pem --scanner-key-priv /var/lib/openvas/private/CA/clientkey.pem

openvas-nvt-sync

/etc/init.d/openvas-scanner start

openvasmd --rebuild

openvasmd -p 9390 -a 0.0.0.0

/etc/init.d/gsad start

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/H3IQHBs6.shtml

相关文章

关于openvas

目录 一:什么是openvas 二:作者 三:系统简介 四:建立架构 五:openvas功能 六:OpenVAS的核心组件 七:OpenVAS部署 八:openvas的组件构成 一:什么是openvas OpenV…

openvas

目录 一、openvas的简介 1、简介 2、建立的构架 二、openvas的环境 三、openvas的组件构成 四、openvas安装及使用 一、openvas的简介 1、简介 OpenVAS是开放式漏洞评估系统,也可以说它是⼀个包含着相关⼯具的⽹络扫描器。其核⼼部件是⼀个服务器,包括…

风险评估系统OpenVAS配置使用教程说明

penVAS是一款免费的开放式风险评估工具,可以检测远程系统和应用程序中的安全问题。最初作为Nessus一个子工具,被称为 GNessUs。其特点就是允许继续免费开发。最早是由Portcullis Computer security公司的渗透测试人员发布的,之后由Slashdot网…

OpenVas 漏洞扫描器使用教程

Openvas简介 Openvas是开源的,是Nessus项目分支,用于管理目标系统的漏洞,检测目标网络或主机的安全性。它的评估能力来源于数万个漏洞测试程序,openvas 早起版本还有一个客户端,现在的版本已经不提供客户端程序&#…

OpenVAS介绍

一、背景: OpenVAS(Open Vulnerability Assessment System)是开放式漏洞评估系统,其核心部分是一个服务器。该服务器包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。OpenVAS不同与传统的漏洞扫描…

openVAS简介

文章目录 openVAS一、openVAS开发团队二、openVAS背景三、openVAS作用四、openVAS部署kali部署部署openVAS镜像简单使用新建目标(target)新建任务(tasks)开始扫描扫描详情下载报告 openVAS O p e n V A S 是 开 放 式 漏 洞 评 估…

OpenVAS 安装及基本配置

OpenVAS 安装及基本配置 1 .概要 系统简介 OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器。其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。建立架构 OpenVAS是…

5.数据验证

数据验证 1、数据绑定失败:比如需要数字却输入了字母; 2、数据不合法:可以认为是业务错误,通过自定义验证器验证,如用户名长度必须在5-20之间,我们却输入了100个字符等; 3、错误对象&#xff1a…

认证篇——消息认证码

目录 一、消息认证码介绍 1)消息认证码的使用步骤: 2)消息认证码的密钥配送问题: 3)消息认证码的实例: 4)消息认证码的实现: 二…

获得验证信息

用的最多的验证信息为URL,TEXT,TITLE 以百度为例 from selenium import webdriverurl "https://www.baidu.com/" driver webdriver.Chrome() driver.get(url) driver.maximize_window() ### 获取当前页面的title title driver.title prin…

密码框验证信息

效果展示&#xff1a; 代码展示 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><link rel"stylesheet" type"text/css" href"fontss2/iconfont.css" /><style&g…

信息认证技术

这个章节会介绍一些比较有意思的东西&#xff0c;例如哈希函数&#xff0c;数字签名&#xff0c;身份认证等&#xff01; 1.一个安全的认证 系统应满足什么样的条件&#xff1f; 合法的接受者能够检验所接受消息的合法性和真实性 合法的发送方对所发送的消息无法进行否认 除了合…

验证登录信息

验证登录信息 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术&#xff1a;Visual Studio 作者&#xff1a;李继金 撰写时间&#xff1a;2019年 5月24日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 每个项目都会有登录页面&#xff0c;…

如何识别验证码

http://www.jianblog.com/2009/02/09/574/ 周俭 Blog 基于OpenCV的PHP图像人脸识别技术 二月 9, 2009 at 10:13 上午 由 catch Filed under PHP, 编程 今天无意中发现用OpenCV可以实现人脸识别。找个时间研究下用来识别验证码看可行不&#xff1f;呵呵。。 安装测试了一下&am…

功能验证流程

下图显示了功能验证流程&#xff1a; 这个验证过程可以被分解成三个主要阶段&#xff1a; 制定验证策略和验证计划&#xff1b; 创建验证平台&#xff0c; 运行和调试&#xff1b; 覆盖率分析和回归测试&#xff1b; &#xff11; 制定验证策略和验证计划阶段 制定验证策略和验…

Javascript正则表达式实现输入框验证信息

1.了解正则表达式可以: 测试字符串的某个模式。例如&#xff0c;可以对一个输入字符串进行测试&#xff0c;看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证替换文本。可以在文档中使用一个正则表达式来标识特定文字&#xff0c;然后可以全部…

JS输入框验证信息提示

描述&#xff1a; 1、首先输入框默认显示手机号&#xff0c;下面提示&#xff1a;请输入你的手机号 2、光标放上去的时候开始填写&#xff0c;填写完毕后&#xff08;那么就要先提取鼠标失去光标这个事件&#xff09;如果手机号码不正确&#xff1a; 文本框变红&#xff0c;并…

什么是消息验证码

在信息安全领域中&#xff0c;常见的信息保护方法分为加密和认证两大类。认证技术又分为对用户的认证和对消息的认证两种方式。用户认证用于鉴别用户的身份是否是合法用户&#xff1b;消息认证就是验证所收到的消息确实是来自真实的发送方且未被修改的消息&#xff0c;可以验证…

登录信息验证

登录信息验证 本次挑战内容为设计一个登录验证程序&#xff0c;要求用户从控制台录入用户名和密码&#xff0c;若用户输入的信息正确则提示登录成功&#xff0c;反之则提示登录失败。 本次挑战内容为设计一个登录验证程序&#xff0c;要求用户从控制台录入用户名和密码&#x…

各种信息验证

开发工具与关键技术:VS 各种信息验证 作者:赖文扬 撰写时间:2019年6月25日在项目里面有很多信息要验证的,例如姓名验证(不能是数据)、电话信息验 证(7位数)、手机号信息验证(11位数)、身份证信息验证(15到18为身份 证号码验证)。一般项目里面就有这几种验证。现…