第一篇博客,就写一下openvas的简单安装与使用,因为对于安全从业者来说openvas还是很重要的。然后博主的博文基本都是面向有一点基础的朋友。如果有问题可以微博或者邮箱联系我啊~
fedora 26 in vm(关闭SELinux)
更新系统软件至最新版
$ sudo yum update -y
安装openvas软件包及其依赖
$ sudo yum install openvas*
安装redis数据库
$ sudo yum install redis* -y
安装sqlite3数据库
$ sudo yum install sqlite3* -y
安装证书生成工具
$ sudo yum install gnutls-ntils
编辑redis配置文件(/etc/redis.conf)
取消以下两行的注释(删除前面的#)
$ unixsocket /tmp/redis.sock
$ unixsocketperm 700
运行redis
$ sudo redis-server /etc/redis.conf &
加&表示在后台运行,也可以不加,但是得另开一个终端去执行下面的命令
一些安装出现的问题的解决方案
使用下面命令检查是否安装成功
$ sudo openvas-check-setup --v9
然后根据报错去解决问题。一般在报错ERROR后面会有FIX,FIX就是建议的解决方法,我们根据FIX可以去解决报错。
比如出现:
$ ERROR: The NVT collection is very small.
$ FIX: RUN A synchronization script like green-nvt-sync.
我们根据FIX去更新nvt
$ sudo greenbone-nvt-sync
建立本地scapdata数据库
$ sudo greenbone-scapdata-sync
时间较长
获取证书文件
$ sudo greenbone-certdata-sync
时间较长
创建需要的目录
$ sudo mkdir -p /var/lib/openvas/openvasmd/gnupg/
启动scanner
$ sudo openvassd
重建数据库
$ sudo openvasmd --rebuild
时间较长
创建用户admin
$ sudo openvasmd --create-user=admin --role=Admin
前面的admin是我们创建的,后面是指定管理员类型
设置admin的密码
$ sudo openvasmd --user=admin --new-password=*******
*******处自己设置密码
生成证书
$ sudo openvas-manage-certs -a
启动greenbone security assistant
$ sudo gsad --listen=127.0.0.1 --port=9392
监听本地,端口一般都为9392
运行openvas管理器
$ sudo openvasmd
最后使用命令再次检测是安装正常
$ sudo openvas-check-setup --v9
如果出现
$ It seems like your OpenVAS-9 installation is OK.
就OK啦,如果还有问题可以根据报错去修改
在浏览器中输入
$ https://127.0.0.1:9392
不可忽略https,需要添加信任,设置信任即可,这里就不放图了。
编辑nmap.nasl的文件
$ sudo vi /var/lib/openvas/plugins/nmap.nasl
改动1:
第388行改为:
$ if ("open">< status) {
改动2:
第407行改为:
$ if(svc)
改动3:
第411行改为:
$ log_message(port: port,proto: proto, data: "Nmap has identified this service as " + svc + " " + ver);
改动4:
第413行改为:
$ if (string !~"\?$")
改动5:
第417-421行改为:
$ }
$
$ }
$ }
$ }
总的更改
407:if(ver)改为if(svc)
411:log_message最后面ver前面添上svc
388:后面添上花括号,并且在418行对花括号进行闭合
413:svc改为string(共5处)这个地方可以不改
然后重启openvassd
使用下面命令开启
$ sudo redis-server /etc/redis.conf &
$ sudo openvassd
$ sudo openvasmd
$ sudo gsad --listem=127.0.0.1 --port=9392
可以先使用之前的命令check一下,确保没有问题。
然后登录https://127.0.0.1:9392