kali-rolling安装openvas 9并创建扫描任务教程

时间:2022-08-09 17:59:49

一、 前置说明

官方:漏洞扫描中最常用和强大的是某个”N“开头的漏洞扫描器(nessus),但由于许可证限制,kali中并未安装该漏洞扫描器。取而代之安装了nessus收费之后发起的开源版本openvas。(nessus有免费的的个人许可证,但也不适合kali预装)

官方:但由于占用空间太大,2016.2版本后kali就不再预装openvas了,需要我们自己手动安装。

msfconsole中可以load openvas,但那个只相当一个B/S架构中的客户端,要真能扫描还是得安装openvas作为服务端的。

 

二、openvas安装

2.1 安装openvas

官方和很多教程都推荐先升级系统再安装openvas,但实际发现安装openvas哪些包要更新的都会自己更新所以不用管直接安装即可,在网速可以的情况下大约要十来分钟

可考虑使用阿里源:deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free

apt-get install -y openvas

kali-rolling安装openvas 9并创建扫描任务教程

 

2.2 初始化openvas

初始化工作包括主要是创建ca证书(控制台https使用)、下载最新的扫描规则(NVT)、创建控制台admin用户、启动openvas等。

一个命令即可,不过没有vpn对于天朝的网络,在下载规则一步可能要一整天。

openvas-setup

 kali-rolling安装openvas 9并创建扫描任务教程

如果网络、关机、ctrl+c造成中断,再次运行即可,有类似游戏存档功能不会全都重新下载。

 

2.3 确认openvas初始化无误

openvas-check-setup

kali-rolling安装openvas 9并创建扫描任务教程

openvas-check-setup会检测openvas-setup各步执行结果是否都正常。

 

2.4 修改admin密码

openvas-setup会创建admin用户,并在打印的终端中打印其密码;但该密码是随机生成的过于难记,推荐不用管他直接修改admin用户的密码。

比如这里将admin用户的密码修改为abcd1234,随便修改为自己想要的即可,由于修改并不需要认证之前的密码所以不用管原密码是什么。忘记密码时也可以这么改。

openvasmd --user=admin --new-password=abcd1234

kali-rolling安装openvas 9并创建扫描任务教程

 

2.5 启动openvas并查看端口正确监听

openvas-start

kali-rolling安装openvas 9并创建扫描任务教程

按官方说法和之前的版本的经验,应该是openvasmd监听9390端口,openvassd监听9031端口,gsad监听9392端口。

但实际操作就是如图所示,openvasmd监听9390,gsad监听80(http)和9392(https);openvassd在openvas 9中改走unix domain socket。

 

2.6 登录openvas

 浏览器访问https://127.0.0.1:9392/,将证书添加信任,然后用1.5中修改的用户名密码登录即可

kali-rolling安装openvas 9并创建扫描任务教程

kali-rolling安装openvas 9并创建扫描任务教程

 

2.7 使用openvas进行扫描

点下Scans菜单下的Tasks菜单,点击左上角的扫描任务创建向导进行创建即可。基本就是输入要扫描的ip即可。

kali-rolling安装openvas 9并创建扫描任务教程

漏洞扫描器基本都是直接扫出机器存在哪些cve漏洞,然后我们只要去找cve相对应的exp就可以利用了。

对攻击者而言这是相当舒服的攻击(最舒服的是扫描漏洞后,扫描器还自带exp进行攻出)。

但就如《Metasploit渗透测试魔鬼训练营》所说的那样,由于扫描过程会发送大量数据包很容易被发现,甚至有可能扫死机器,所这只能是一种白盒扫描方式。

 

三、修改openvas监听地址

在2.5中我们看到openvas只是监听了127.0.0.1地址,这也许是安于安全考虑,但这意味着只能登录到openvas主机才访问openvas,这对个人使用来讲是不太方便的,我们需要让其监听外部ip。

在2.5中我们使用openvas-start命令启动的,我们从其入手:

kali-rolling安装openvas 9并创建扫描任务教程

使用which定位openvas-start所在位置,可以看到是/usr/bin/openvas-start。

然后查看/usr/bin/openvas-start的具体内容,可以看到是用service启动了三个服务。

service启动服务,那对应的脚本应该就是/etc/init.d目录下的greenbone-security-assistant、openvas-scanner、openvas-manager三个文件。
查看这三个文件,发现其中并没有直接配置的监听地址,但看到三个文件中都有类似的代码片段:

kali-rolling安装openvas 9并创建扫描任务教程

查看/etc/default/greenbone-security-assistant、/etc/default/openvas-scanner、/etc/default/openvas-manager三个文件确实在其中配置的地址。

kali-rolling安装openvas 9并创建扫描任务教程

但是很可惜,kali中修改这些文件中的地址并不起作用。

然后又看到上边有“This file is not used if you are using systemd. The options are hardcoded in the openvas-manager.service file.”的说明。

嗯,kali现在还是systemd,然后当前这个文件也不叫openvas-manager.service(反之,如果不是systemd那修改这三个文件应该是可以的)。

我们用locate看一下openvas-manager.service是什么

kali-rolling安装openvas 9并创建扫描任务教程

结合上下文看来意思就比较明白了,就是新建一个/etc/systemd/system/openvas-manager.service.d/local.conf文件,覆盖/lib/systemd/system/openvas-manager.service文件中的[Service]节区。

实验确认,不能简单地将/lib/systemd/system/openvas-manager.service等文件复制过去就完事,这样无法启动。

新的local.conf文件只认[Service]节区,而且格式只能是/etc/default/openvas-manager等文件在NOTE中所说的格式。

当然最简单地是直接修改/lib/systemd/system/openvas-manager.service等文件就完事,但这里就按官方的建议来。

 

3.1 修改gsa监听地址

注意--mlisten=127.0.0.1指的是gsa要连接到的manager的地址(is listening on),所以保持127.0.0.1不变

mkdir -p /etc/systemd/system/greenbone-security-assistant.service.d/       #创建配置文件存放目录
cat > /etc/systemd/system/greenbone-security-assistant.service.d/local.conf << EOF
[Service]
ExecStart=
ExecStart=/usr/sbin/gsad --foreground --listen=0.0.0.0 --port=9392 --mlisten=127.0.0.1 --mport=9390
EOF

kali-rolling安装openvas 9并创建扫描任务教程

 

3.2 修改Manager监听地址

mkdir -p /etc/systemd/system/openvas-manager.service.d/ #创建配置文件存放目录
cat > /etc/systemd/system/openvas-manager.service.d/local.conf << EOF
[Service]
ExecStart=
ExecStart=/usr/sbin/openvasmd --listen=0.0.0.0 --port=9390 --database=/var/lib/openvas/mgr/tasks.db
EOF

kali-rolling安装openvas 9并创建扫描任务教程

 

3.3 修改Scanner监听地址

这东西还真不太懂怎么改,也没必要改,只是为了证明2.5中所说的Scanner改走unix socket。

 kali-rolling安装openvas 9并创建扫描任务教程

 

3.4 重启openvas完成监听地址修改

按3.1和3.2修改完后,重启openvas即可。

openvas-stop    #停止openvas
openvas-start    #启动vas
netstat -anp | head   #查看端口监听

 kali-rolling安装openvas 9并创建扫描任务教程

可以看到gsa和manager都成功监听0.0.0.0地址。在外部以对外IP进行访问,如下图所示可以成功访问

kali-rolling安装openvas 9并创建扫描任务教程

 

参考:

https://www.kali.org/tutorials/configuring-and-tuning-openvas-in-kali-linux/

https://www.kali.org/penetration-testing/openvas-vulnerability-scanning/

https://www.kali.org/news/kali-linux-20171-release/

http://blog.csdn.net/shengerjianku/article/details/54600308

http://blog.csdn.net/cwtv123/article/details/77073900