一、openvas介绍

   OpenVAS (Open Vulnerability Assessment System)是开放式漏洞评估系统,其核心部件是一个服务器,包括一套望楼漏洞测试程序,可以检测远程系统和应用程序中的安全问题。

   官网:http://www.openvas.org/


注意:OpenVAS Server仅支持Linux系统。OpenVAS Client 没有特殊的要求

wKiom1jdsl_xSjPJAAGQIprfT20676.png


二、安装


1.配置网络

[root@localhost ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0 

ONBOOT=yes


[root@localhost ~]#/etc/init.d/network restart


2.禁用selinux,重启生效

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

SELINUX=disabled

[root@localhost ~]#reboot


因为是虚拟机,所以把防火墙关掉了

[root@localhost ~]#/etc/init.d/iptables stop


3.安装wget

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


4.配置yum源

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


5.安装openvas

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


6.更新openvas数据库,设置用户名密码,我用了60分钟左右 = =!

[root@localhost ~]#openvas-setup


7.同步,已经更新到最新,可以不执行

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


8.下载检查脚本,赋予权限并执行

[root@localhost ~]#wget https://svn.wald.intevation.org/svn/openvas/trunk/tools/openvas-check-setup --no-check-certificate

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

[root@localhost ~]#./openvas-check-setup --server


9.检查模块进程是否正常

[root@localhost src]# service gsad status 

gsad (pid  32259) is running...

[root@localhost src]#  service openvas-manager status

openvas-manager (pid  32639) is running...

[root@localhost src]# /etc/init.d/openvas-scanner status

openvassd (pid  32206) is running...


10.web登录

https://127.0.0.1:9392






===========================================


三、配置


openvas-check-setup脚本官方下载

https://svn.wald.intevation.org/svn/openvas/trunk/tools/openvas-check-setup


# wget -q -O - http://www.atomicorp.com/installers/atomic |sh

# yum install openvas

# openvas-setup



检查安装

# openvas-check-setup




安装redis

# vim /etc/redis.conf

    port 0

    unixsocket /tmp/redis.sock

    unixsocketperm 755

    timeout 0


启动时指定配置文件

# redis-server ./redis.conf


如果更改了端口,使用`redis-cli`客户端连接时,也需要指定端口,例如:

# redis-cli -p 6380


如果要使用Unix Socket连接方式

# ./src/redis-cli -s /tmp/redis.sock




#Initial setup

openvas-mkcert

openvas-mkcert-client -n -i

openvas-nvt-sync

openvas-scapdata-sync

openvas-certdata-sync

service openvas-scanner start     !!!


重建

# openvasmd --rebuild --progress


创建user

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


重启redis

# service redis restart


启动服务

# openvasmd -p 9390 -a 0.0.0.0    !!!

# service gsad start              !!!


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




配置防火墙

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 9390 -j ACCEPT

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 9392 -j ACCEPT

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

service iptables save

service iptables restart




查看安装包

# rpm -qa | grep openvas

openvas-smb-1.0.1-1.el6.art.x86_64

openvas-cli-1.4.4-10.el6.art.x86_64

openvas-scanner-5.0.7-25.el6.art.x86_64

openvas-libraries-8.0.8-25.el6.art.x86_64

openvas-manager-6.0.9-36.el6.art.x86_64

openvas-1.0-17.el6.art.noarch




重新启动 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 restart


openvasmd --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

#注意脚本名字一定不要和grep过滤的内容相同,这样脚本就很容易被误杀



===========================================

配置扫描


全局设置

  设置--时区--上海

1.新建端口列表

2.新建主机列表

3.新建任务列表

  大兴IDC(生产环境)


4.策略模板

5.定时任务

6.报警




Metasploit中使用OpenVas

msf > load openvas

msf > openvas_connect

msf > openvas_target_create

msf > openvas_config_list

msf > openvas_task_create

msf > openvas_task_start

msf > openvas_task_list

msf > openvas_report_list

msf > openvas_format_list

msf > openvas_report_download



===========================================

openvas相关报错

1.###openvasmd: symbol lookup error: openvasmd: undefined symbol: sqlite3_errstr


#安装

atomic-sqlite-sqlite-devel.x86_64

atomic-sqlite-sqlite.x86_64 



2.###当$OPENVASMD_HOST为空时会提示ERROR:OpenVAS Manager is NOT running!

# vim openvas-check-setup

OPENVASMD_HOST=`netstat-A inet -ntlp 2> /dev/null | grep openvasmd | awk -F\ '{print $4}' | awk -F:'{print $1}'`


如果是使用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


[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使用到的进程和端口:

1)9390所对应的是openvasmd服务,(使用service openvas-manager start启动的话,会报ERROR: OpenVAS Manager is NOT running!)

openvasmd -p 9390 -a 0.0.0.0


2)9391所对应的是openvassd服务,用于扫描。

service openvas-scanner start


3)9392所对应的gsad服务,用于提供Web UI。

service gsad start



3.###重建openvasmd --rebuild --progress卡死

重启redis服务

# service redis restart



4.###不同服务器扫描结果有差异!

1)openvas版本不同,漏洞库更新不一致

2)扫描器网络限制问题

3)服务器配置不一样,扫描结果也有差异,慢的可能延时长,会误识别或少识别检查项![namp扫描原理有介绍,如果时间太短,则影响精确性]



5.###Login failed. Waiting for OMP service to become available.

考虑是没有开启openvas服务,在终端首先开启openvas

# openvasmd -p 9390 -a 0.0.0.0


#禁用开机启动

# chkconfig  openvas-manager off

#打开rc.local文件

[root@openvas ~]# vim /etc/rc.local

#填入到尾部并保存

openvasmd --listen=127.0.0.1


6.发邮件没有附件报错

Note: This report exceeds the maximum length of 1048576 characters and thus
was truncated.

#原因是因为附件太大无法添加【autofp=0 apply_overrides=1 notes=1 overrides=1 result_hosts_only=1 first=1 rows=100sort-reverse=severity levels=hm min_qod=80 timezone=Asia/Shanghai sort=name

将rows大小改的小一些就可以了。