一、 前置说明

官方:漏洞扫描中最常用和强大的是某个”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. 【Java】【控制流程】

    #栗子 丢手帕 & 菱形 & 金字塔import java.io.*;import java.util.*; public class Test_one { public static ...

  2. 【UOJ#196】【BZOJ4574】[Zjoi2016]线段树

    题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=4574 http://uoj.ac/problem/196 考虑数字随机并且值域够大,我们 ...

  3. Entity Framework框架 (一)

    1. Entity Framework的详细介绍: Entity Framework简称EF,与Asp.net关系与Ado.net关系. Entity Framework是ado.net中的一组支持开 ...

  4. R语言多层绘图

    #########################################################第一种实现方法close.screen(all.screens = T)split.s ...

  5. 力扣(LeetCode)67. 二进制求和

    给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例 1: 输入: a = "11", b = "1" 输出: ...

  6. Qt5鼠标事件及实例

    mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QLa ...

  7. Codeforces 458C - Elections

    458C - Elections 思路: 三分凹形函数极小值域 代码: #include<bits/stdc++.h> using namespace std; #define ll lo ...

  8. Java中 Tomcat 是干什么的?

    Tomcat是web容器.它的作用稍后给你解释. 你在做web项目时,多数需要http协议,也就是基于请求和响应,比如你在百度输入一行内容搜索, 那么百度服务器如何处理这个请求呢,他需要创建servl ...

  9. 记录结果再利用的"动态规划"

    2018-09-24 15:01:37 动态规划(DP: Dynamic Programming)是算法设计方法之一,在程序设计竞赛中经常被选作题材.在此,我们考察一些经典的DP问题,来看看DP究竟是 ...

  10. MyBatis配置文件中的常用配置

    一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: <?xml version="1 ...