一、 前置说明

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

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

说明:msfconsole中可以load openvas,但那个只相当一个C/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

2.2 初始化openvas

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

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

openvas-setup

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

2.3 确认openvas初始化无误

openvas-check-setup

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

2.4 修改admin密码

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

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

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

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

openvas-start

按官方说法和之前的版本的经验,应该是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中修改的用户名密码登录即可

2.7 使用openvas进行扫描

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

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

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

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

三、修改openvas监听地址【可选】

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

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

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

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

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

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

但是很可惜,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是什么

结合上下文看来意思就比较明白了,就是新建一个/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

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

3.3 修改Scanner监听地址

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

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

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

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

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

参考:

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

kali-rolling安装openvas 9并创建扫描任务教程的更多相关文章

  1. kali-rolling安装nessus 7并创建扫描任务教程

    一.下载 下载页面:https://www.tenable.com/downloads/nessus 如果自己安装的kali是32位的则选择上边的32位版本下载 二.安装 直接用dpkg安装即可: d ...

  2. kali Rolling安装之后的一些常用配置总结

    添加普通用户 useradd -m -G sudo,video,audio,cdrom -s /bin/bash OKing把某个用户添加到组中: sudo usermod -a 用户名 -G 组名 ...

  3. kali Rolling 安装QQ

    ------------------------------------------------------------------- 环境: kali Rolling   64位 所需软件包: Wi ...

  4. kali Rolling安装之后的一些常用配置总结(更新)

    原文: https://ssooking.github.io/kali-rolling-an-zhuang-zhi-hou-de-yi-xie-chang-yong-pei-zhi-zong-jie/ ...

  5. kali Rolling 安装QQ和虚拟机

    环境: kali Rolling   64位 WPS 官网linux版下载链接:http://community.wps.cn/download/ 使用dpkg命令安装,遇到依赖问题,用apt-get ...

  6. kali rolling 安装typecho

    #1 apt-get install nginx php7.0 php7.0-mysql php7.0-gd php7.0-cgi php7.0-cli php7.0-curl php7.0-fpm ...

  7. Eclipse 安装配置和 Git 创建代码库 教程

    1. Eclipse 安装 http://www.eclipse.org/downloads/ 这是eclipse的官网,进入下载,步骤如下图: 选择Download或者下面的 [Select Ano ...

  8. Kali linux 2016.2(Rolling)里安装OpenVAS

    不多说,直接上干货! 本博文,是在Kali 2.0 linux里,安装OpenVAS. 前言 OpenVAS是一款开放式的漏洞评估工具,主要用来检测目标网络或主机的安全性.与安全焦点的X-Scan工具 ...

  9. kali 安装openvas

    因为Kali Linux上没有默认安装OpenVas,因此只好自己摸索着安装了一遍. 如果没有设置过源(/etc/apt/sources.list),设置如下: deb http://http.kal ...

随机推荐

  1. 简单实现RN调用原生方法(IOS)

    在React Native中,一个“原生模块”就是一个实现了“RCTBridgeModule”协议的Objective-C类(个人理解RCTBridgeModule就是react与native之间的桥 ...

  2. Codeforces 785E. Anton and Permutation

    题目链接:http://codeforces.com/problemset/problem/785/E 其实可以CDQ分治... 我们只要用一个数据结构支持单点修改,区间查询比一个数大(小)的数字有多 ...

  3. flutter安装与配置 v1.2.1版本

    1---- 上面是下载地址https://flutter.dev/docs/development/tools/sdk/archive#windows 2---- 下载后,解压安装到C盘 3--- 测 ...

  4. 力扣(LeetCode)1.两数之和

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元 ...

  5. 网页常见单位: px em pt % rem vw、vh、vmin、vmax , rem 使用

    1.网页常见单位:  px  em  pt    vw\vh   rem 1.1 px单位名称为像素,相对长度单位,像素(px)是相对于显示器屏幕分辨率而言  (最终解析单位) em单位名称为相对长度 ...

  6. 查询选修了全部课程的学生姓名_如何解?-MS-SQLServer/应用实例

    查询选修了全部课程的学生姓名:student 是学生表 course 是选课表 sc 是课程表select snamefrom studentwhere not exists(select *from ...

  7. SPOJ 刷题记录

    按点赞数降序 297 二分 #include<bits/stdc++.h> using namespace std; #define fi first #define se second ...

  8. Unity--- 资源路径问题

    使用 System.IO.Path 这个API得到的路径,其实也是以"\"分隔路径的. 我们在windows下打开资源管理器,某个目录或文件的路径为:E:\uniuProject5 ...

  9. POP3、SMTP和IMAP介绍和设置

    什么是POP3.SMTP和IMAP? 参照:http://help.163.com/09/1223/14/5R7P6CJ600753VB8.html 用于 Outlook 的 POP 和 IMAP 电 ...

  10. 利用jenkins+git自动执行接口测试代码

    事前准备 部署好jenkins.申请一个码云账号.代码同步至码云 1.在码云上新建一个项目,并把代码同步上去 我设置成了私有项目 2.为项目添加部署公钥 因为是私有项目,所以需要添加一个部署公钥,不然 ...