先对该工具进行熟悉:
OpenVAS 介绍
1.关于OpenVAS
OpenVAS(Open Vulnerability Assessment System)是一套开源的漏洞扫描系统,早期Nessus 是其中一个最流行的和有强力的漏洞扫描器,它最初是自由和开放源码,但在2005 年关闭了源代码,在2008 年取消了免费的“注册Feed”版本。现在每年花费1200 美元。在Nessus 的基础上发展了一个免费开源的分支,就是OpenVAS。OpenVAS 集成了多个服务、组件,既提供大量的免费扫描插件(NVT,Network Vulnerability Tests),也提供商业化的增强扫描插件(GSF,Greenbone Security Feed)。
官方网站:http://www.openvas.org/
2.框架结构
用户层接口:
Openvas-cli 命令行接口:从命令行访问openvas 服务层的程序
Greenbone-security-assistabt 访问web 端接口(gsad):访问opebvas 服务层的web 接口,默认监听地址为127.0.0.1,端口为9392
Greenbone-Desktop-Suite 桌面图形化接口(gsd):提供访问opebvas 服务层的桌面图形化接口
服务层组件
openvas-manager 管理器:与接口通信,分配扫描任务,并根据扫描结果生成评估报告,默认端口为9390
openvas-scanner 扫描器:调用各种漏洞测试插件,执行分配的扫描操作,默认端口为9391
openvas-adminstrator 管理员:负责管理配置信息,用户授权等相关工作,默认监听地址为127.0.0.1,端口为9393
文件系统
# ls /usr/sbin/ #//主要执行程序----
/bin是系统的一些指令。bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。
/sbin一般是指超级用户指令。主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。
/usr/bin 是你在后期安装的一些软件的运行脚本。主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。
/usr/sbin 放置一些用户安装的系统管理的必备程式例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。
如果新装的系统,运行一些很正常的诸如:shutdown,fdisk的命令时,悍然提示:bash:command not found。那么
首先就要考虑root 的$PATH里是否已经包含了这些环境变量。
可以查看PATH,如果是:PATH=$PATH:$HOME/bin则需要添加成如下:
PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin
/usr/sbin/gsad
/usr/sbin/openvassd
/usr/sbin/openvas-adduser
/usr/sbin/openvas-certdata-sync
/usr/sbin/openvas-start
/usr/sbin/openvasmd
/usr/sbin/openvas-mkcert
/usr/sbin/openvas-mkcert-client
/usr/sbin/openvas-nvt-sync
/usr/sbin/openvas-rmuser
/usr/sbin/openvas-scapdata-sync
/usr/sbin/openvassd
/usr/sbin/open
# ls /etc/init.d/ #//主要系统服务脚本-----
/etc/init.d目录在Linux系统中可是大名鼎鼎。它只负责一件事情,但却涉及到全系统。它包含系统中各种服务的start/stop脚本,从acpid到x11-common,其重要性可见一斑。
init.d目录下脚本的执行方式为
/etc/initi.d/command OPTION
command指服务的命令,比如bluetooth,networking,samba,ssh等等。OPTION指stop,start,reload,restart,force-reload。
大多数情况下你使用的是start,stop,restart。例如:你想关掉你的网路连接,你可以使用如下的命令:
/etc/init.d/networking restart
或者当你修改了你的网络配置,需要重启网络的时候。你可以使用下面的命令:
/etc/init.d/networking restart
/etc/init.d/gsad
/etc/init.d/openvas-manager
/etc/init.d/openvas-scanner
/etc/init.d/openvas-administrator
# ls /etc/openvas/ #//主要配置文件
gsad_log.conf
gsd_log.conf
openvasad_log.conf
openvasmd_log.conf
pwpolicy.conf
# ls /etc/sysconfig/ #//默认配置文件
/etc/sysconfig/gsad
/etc/sysconfig/openvas-manager
/etc/sysconfig/openvas-scanner
/etc/sysconfig/openvas-administrator
# ls /var/log/openvas/ #//主要日志文件
greenbone-nvt-sync.log
openvasmd.log
openvassd.log
openvasad.log
openvassd.dump
一.首先搞清楚 安装的linux系统是什么?
看本人linux操作系统(2)中linux系统的分类,查出我是centOS系统
二.百度上找到相关安装资料 如:
CentOS6.5搭建OpenVas完全搭建手册
https://blog.csdn.net/zhongbeida_xue/article/details/77369025
三.开始安装
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源,配置yum Atomicorp 仓库
[root@localhost ~]#wget -q -O - http://www.atomicorp.com/installers/atomic |sh
5.安装openvas,(下载整个软件包)
[root@localhost ~]#yum -y install openvas
----------------------------这一步出现报错如下:
已加载插件:fastestmirror, refresh-packagekit, security
设置安装进程
Loading mirror speeds from cached hostfile
* atomic: www5.atomicorp.com
* epel: mirrors.ustc.edu.cn
[1] 20850 segmentation fault (core dumped) yum install openvas
解决方法如下:参考https://blog.csdn.net/llnara/article/details/14521533
中文错误提示: 段错误
清楚是由于自己编译安装了zlib,并且修改/etc/ld.so.conf,加入/usr/local/zlib/lib ,
导致系统里面有两个版本的zlib,使用ldconfig -v|grep libz 可查看到两个版本的zlib,
libz.so.1 libz.so.1.2.3
libz.so.1 libz.so.1.2.7
于是,注释掉/etc/ld.so.conf里面的zlib:
include ld.so.conf.d/*.conf
#/usr/local/lib // 注释掉
执行一次 ldconfig,再yum update,完全恢复正常。
6.更新openvas数据库,设置用户名密码,下载完成要进行安装,后面还要配置一些设定(要个吧小时)
[root@localhost ~]#openvas-setup
安装了一个小时之后出现下面的报错:
CB-K15.xml
5439488 88% 4.92kB/s 0:02:24
rsync: connection unexpectedly closed (11708520 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [receiver=3.0.6]
rsync: connection unexpectedly closed (801 bytes received so far) [generator]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [generator=3.0.6]
Error: rsync failed. Your CERT data might be broken now.
结果机器人挂机后,重启了下服务器可以继续安装
安装结束后仍然无法连接,查看进程安装情况,使用命令:
openvas-check-setup
Step 1: Checking OpenVAS Scanner ...
OK: OpenVAS Scanner is present in version 5.0.7.
OK: OpenVAS Scanner CA Certificate is present as /var/lib/openvas/CA/cac ert.pem.
OK: NVT collection in /var/lib/openvas/plugins contains 48304 NVTs.
WARNING: Signature checking of NVTs is not enabled in OpenVAS Scanner.
SUGGEST: Enable signature checking (see http://www.openvas.org/trusted-n vts.html).
OK: The NVT cache in /var/cache/openvas contains 48307 files for 48304 N VTs.
OK: redis-server is present in version v=4.0.6.
OK: scanner (kb_location setting) is configured properly using the redis -server socket: /tmp/redis.sock
ERROR: redis-server is not running or not listening on socket: /tmp/redi s.sock
FIX: You should start the redis-server or configure it to listen on sock et: /tmp/redis.sock
ERROR: Your OpenVAS-8 installation is not yet complete!
没有安装redis或者没有监听/tmp/redis.sock
解决方法:安装redis并修改redis.conf文件,监听/tmp/redis.sock
找到如图的
Unixsocket /tmp/redis.conf
Unixsocketperm 700 将这两行的注释用的#去掉
因为我的redis的配置文件并不在目录/etc下
/etc/redis #ls
6379.conf
➜ /etc/redis #
所以我讲6379.conf复制到/etc下并改名如下:
/etc #vi /etc/redis.conf
然后重启
查看当前redis有没有运行 指令: ps aux| grep redis 如果没有运行的话然后运行redis service redis start
再次检查这一步错解决了。
再次执行openvas-check-setup,发现报错如下:没有客户端证书
解决方案:执行语句openvas-mkcert-client -n -i
再次执行openvas-check-setup,再次报错如下:没有管理员用户
按照提示创建:输入命令
openvasmd --create-user=
报错:
解决方法:去掉《》
重新输入
openvasmd --create-user=avatarmind --role=Admin && openvasmd --user=avatarmind --new-password=123456
成功!
再次openvas-check-setup,提示报错:NVTs的版本过低
执行openvasmd --rebuild,再次openvas-check-setup
解决方法如下:
过命令可以看到如下信息: netstat -an | grep 939查看
➜ /root #netstat -anp|grep 939
tcp 0 0 0.0.0.0:9391 0.0.0.0:* LIST EN 4833/openvassd
tcp 0 0 :::9390 :::* LIST EN 4117/openvasmd
tcp 0 0 :::9392 :::* LIST EN 7341/gsad
通过观察 9390端口使用 :::没有通过地址来监听所以无法网络通信
办法命令: 通过修改 openvasmd的端口来启用openvasmd 将端口改为其他端口 不用9390,然后在 netstat -an | grep 939查看
openvasmd -p 9399 -a 127.0.0.1
openvassd -a 127.0.0.1 -p 9393
gsad --http-only --listen=127.0.0.1 -p 9398
➜ /root #netstat -anp|grep 939查看下变成:
➜ /root #netstat -anp|grep 939
tcp 0 0 0.0.0.0:9391 0.0.0.0:* LIST EN 4833/openvassd
tcp 0 0 127.0.0.1:9397 0.0.0.0:* LIST EN 8439/gsad
tcp 0 0 127.0.0.1:9398 0.0.0.0:* LIST EN 8452/gsad
tcp 0 0 127.0.0.1:9399 0.0.0.0:* LIST EN 8144/openvasmd
tcp 0 0 :::9390 :::* LIST EN 4117/openvasmd
tcp 0 0 :::9392 :::* LIST EN 7341/gsad
再次openvas-check-setup
提示安装成功
此时需要清除下几个无用的端口服务,用下面的指令:
netstat -anp|grep 939
kill 8439
netstat -anp|grep 939
也可以继续重新设置(openvassd --listen=127.0.0.1 --port=939)
http://www.dailibu.com/xitongyunwei/2016056736.html
记录了无法登陆修改远程监听的方法
变成:
➜ /etc/default #netstat -anp|grep 939
tcp 0 0 127.0.0.1:9393 0.0.0.0:* LIST EN 25553/openvassd
tcp 0 0 10.50.10.78:9398 0.0.0.0:* LIST EN 26906/gsad
tcp 0 0 127.0.0.1:9399 0.0.0.0:* LIST EN 25547/openvasmd
You have new mail.
这下可以登录了
http://10.50.10.78:9398,输入用户名密码后
后来又遇到登陆时提示“gin failed. Waiting for OMP service to become available.”
然后则使用命令openvasmd -p 9390 -a 0.0.0.0
➜ /etc/default #netstat -anp|grep 939
tcp 0 0 127.0.0.1:9393 0.0.0.0:* LISTEN 25553/openvassd
tcp 0 0 10.50.10.78:9398 0.0.0.0:* LISTEN 26906/gsad
tcp 0 0 :::9390 :::* LISTEN 28434/openvasmd
再次登陆成功进入
遇到提示
Operation: Start Task
Status code: 503
Status message: Service temporarily dow
目前可以点击启动了
期间学习命令总汇:查询服务开启情况
netstat -anpt | grep :939