【译】使用OpenVAS 9进行漏洞扫描
本文译自Vulnerability Scanning with OpenVAS 9 part 1: Installation & Setup系列,本文将融合目前已经发表的四个部分。
Part I:安装和使用
安装Openvas 9
要在我们的Kali Linux系统上安装Openvas 9及其依赖项,我们只需运行以下命令:
apt-get update && apt-get install openvas
下一步运行安装过程,该过程将安装OpenVAS并下载大量网络漏洞测试(NVT)或签名。由于大量的NVT(50.000+),安装过程可能需要一段时间来完成并消耗大量的数据。在我们用于本教程的测试设置中,整个设置过程花费了10分钟完成,这还不错。(对我们来讲可能得两小时)
运行以下命令以启动安装过程:
openvas-setup
设置过程完成后,将启动所有必需的OpenVAS进程,并自动打开Web界面。 Web界面在端口9392上本地运行,可以通过浏览器访问:
https://localhost:9392/
OpenVAS还将设置一个管理员帐户并自动生成此帐户的密码,该密码显示在设置输出的最后一部分中:
【注】可以使用以下命令更改管理员密码:
openvasmd –user=[username]–new-password=[password]
openvasmd –user=admin –new-password=[password]
下一步是接受自签名证书警告并使用自动生成的管理凭据登录Web界面:
登录Web界面后,我们将重定向到Greenbone Security Assistant仪表板。 从现在开始,我们可以开始配置和运行漏洞扫描。
启动和停止OpenVAS
在我们开始安装虚拟设备之前,我想指出的最后一步是如何启动和停止OpenVAS服务。 OpenVAS服务可能会消耗大量不必要的资源,因此建议您在不使用OpenVAS时终止这些服务。
运行以下命令以停止服务:
openvas-stop
再次启动OpenVAS服务,请运行:
openvas-start
这样我们便可以开始使用OpenVAS进行漏洞扫描了。
Part II:漏洞扫描
本部分我们将学习如何配置和运行漏洞扫描。 出于演示目的,我们还安装了一个带有Metasploitable 2的虚拟机,我们将使用OpenVAS进行定位。 如果您不知道如何安装Metasploitable,可以查看Metasploitable 2的安装教程或Metasploitable 3。
在我们使用OpenVAS 9实际启动漏洞扫描之前,我们必须完成以下任务:
- 创建和配置目标
- 创建和配置扫描任务
- 运行扫描
在本部分,您需要安装和配置OpenVAS 9.0。 如果您此时尚未执行此操作,建议您首先按第1部分安装OpenVAS。 同时,建议启动并运行易受攻击的Metasploitable虚拟机,该计算机可从OpenVAS设备或已安装OpenVAS的Kali Linux VM访问。 本教程使用的实验室设置如下所示:
- 使用VMWare Workstation Pro 12的主机
- 安装了OpenVAS 9.0的Kali Linux 2018.2 VM(192.168.65.128)
- Metasploitable 2 VM(192.168.65.137)
所有虚拟机都使用NAT网络,可以在网络适配器的网络设置中进行配置。 既然我们已经完成了所有工作,那就让我们开始配置目标和扫描任务。
【提示】您是否忘记写下或更改您的OpenVAS管理员密码? 查看第一部分的安装教程,了解如何重置管理员密码。
在OpenVAS中创建目标
第一步是使用OpenVAS / Greenbone Security Assistant Web界面创建和配置目标。 在我们配置扫描任务的以下步骤中选择此新创建的目标。
创建目标,执行如下两个步骤:
- 转到顶部菜单中的“配置”,然后选择“目标”
- 单击左上角的蓝色图标以创建新目标
点击新目标按钮后,会出现一个对话框,我们需要输入以下信息:
- 目标名称,我们将其命名为Metasploitable 2
- 目标IP主机,它是我们的Metasploitable 2实验室机器的IP地址
其他设置默认即可,然后单击“创建”按钮。
新创建的目标现在将显示在可用目标列表中:
现在我们已经完成了目标设置,让我们继续创建扫描任务,扫描Metasploitable 2目标中的漏洞。
在OpenVAS中配置扫描任务
在本部分中,我们将创建一个新的扫描任务。 扫描任务定义将扫描哪些目标以及扫描选项,例如计划,扫描配置和同时扫描的目标以及每个主机的NVT。 在本教程中,我们将只创建一个扫描任务并使用默认扫描配置。 在使用OpenVAS 9.0的漏洞扫描第3部分(将于2018年5月25日发布)中,我们将对扫描配置进行更详细的介绍。
要创建新的扫描任务,我们必须执行以下步骤:
- 转到顶部菜单中的“扫描”,然后选择“任务”
- 指向左上角的蓝色图标,然后选择“新任务”
单击新扫描选项后,将出现一个对话框屏幕,我们必须输入以下信息:
- 任务名称,我们将其命名为“Scan Metasploitable 2”
- 确保选中我们之前创建的Metasploitable 2目标
- 勾选复选框(单次运行)
- 保持所有其他设置为默认值,然后单击“创建”按钮以创建新任务
新创建的任务现在将显示在任务列表中,如下所示:
还有一些其他选项可用于创建扫描任务。 我们可以使用扫描任务向导立即扫描目标以及高级扫描任务向导,该向导还提供了一些配置选项。 出于演示目的,我们将坚持我们刚刚创建的任务。
现在我们已经配置了扫描任务并将Metasploitable 2机器添加到目标列表,剩下的就是运行任务并等待结果。
运行OpenVAS漏洞扫描
要运行新创建的任务,我们只需单击绿色开始按钮,如下所示:
现在,扫描任务将针对所选目标执行。 请注意,完整扫描可能需要一段时间才能完成。 刷新任务页面时,您将能够检查执行任务的进度:
- 重新加载页面
- 检查任务状态/进度
等待一段时间后,扫描任务完成,状态变为“完成”:
正如预期的那样,我们可以看到OpenVAS发现了许多严重的漏洞。 我们来看看结果的细节。
查看扫描结果
现在漏洞扫描已经完成,我们可以浏览顶部菜单中的“扫描 ->报告”。 在报告页面上,我们可以找到已完成扫描任务的报告:
通过单击报告名称,我们可以概述Metasploitable 2计算机上发现的所有漏洞,这与预期的一样多。 结果默认按严重性顺序排序:
当我们单击漏洞名称时,我们可以概述有关漏洞的详细信息。 以下详细信息适用于我们在早期教程中介绍的虚幻IRCD中的后门漏洞:
最后,我们还可以以各种格式导出报告,例如:XML,HTML和PDF。 我们可以通过从下拉菜单中选择所需的格式来执行此操作,然后单击绿色导出图标,如下所示:
Part III:执行网络扫描
运行自定义漏洞扫描
前面我们学习了如何针对网络上的单个目标运行漏洞扫描。 本节我们将配置主机列表并使用计划定期运行扫描。
创建目标主机列表
在我们可以在特定主机或子网上运行计划任务之前,我们必须创建目标列表。 要执行此操作,请单击“配置”菜单中的“目标”菜单项,然后单击左上角的蓝色图标以创建新目标:
我们将新目标命名为“Target 192.168.100.1/24”。 在新目标对话框屏幕的下一部分中,我们可以使用几个不同的选项指定目标主机。 我们可以指定手动主机(范围),从文件中读取主机或从主机资产创建目标列表。 最后一个选项显示为灰色,因为我们的库存中目前没有主机资产。 当您必须使用单个目标列表扫描多个子网时,可以更轻松地从文本文件中读取主机。 为此,只需创建一个文本文件,并在一行中用逗号分隔每个目标IP或范围,如下所示:192.168.100.0/24,192.168.200.100-110,192.168.300.10
- 单IPv4地址:192.168.300.10
- IPv4格式的短地址范围:192.168.200.100-11
- 长格式的IPv4地址范围:192.168.200.100-192.168.200.110
- CIDR表示法中的IPv4地址范围:192.168.100.0/24
对于此演示,我们将使用手动选项并指定范围192.168.100.1/24。 此范围包含从192.168.100.1到192.168.100.254的所有IP地址。 然后我们有一些选项可以排除某些主机,反向查找,我们可以指定端口列表和活动测试设置。 除了我们设置为“ICMP和ARP Ping”的活动测试设置外,我们将保留所有设置的默认值。
设置主机发现任务
现在我们已经设置了目标列表,让我们运行扫描以发现我们之前在目标列表中指定的子网中的主机。 转到顶部菜单中的“扫描 ->任务”并创建一个新任务:
对于此任务,我们将“扫描目标”选项设置为新创建的目标列表,我们选择将结果添加到资产中。 然后我们将“扫描配置”设置为“主机发现”,然后单击“创建”按钮以创建新的扫描任务:
接下来,我们通过单击“运行任务”图标来运行新创建的任务:
主机发现扫描完成后,我们可以在结果页面上找到结果(扫描 ->结果):
结果列表包含使用ICMP或ARP Ping发现的所有主机。 我们还可以在OpenVAS的资产部分找到发现的主机:
运行系统发现扫描
我们现在概述了响应我们的主机发现探测器的所有主机,但这只告诉我们主机是生命。 要获得有关这些实时主机的更多信息,我们可以运行“系统发现”扫描。 在我们运行此扫描之前,让我们看看它到底做了什么。 转到“配置 ->扫描配置”,然后单击“系统发现”扫描配置:
当我们单击NVT系列条目时,我们可以看到System Discovery扫描使用各种检查来确定操作系统并发现SMB服务器,打印机和各种服务。 现在我们知道这次扫描的作用,让我们在几个目标上运行它。 从发现的主机中,我们选择了一些目标,并将它们包含在新的自定义目标列表中:
然后我们创建一个新的扫描任务,选择自定义目标列表,最后选择“系统发现”扫描:
接下来,我们可以执行任务并等待它完成。
这看起来比Host Discovery扫描更有趣,它甚至在扫描配置有限的情况下发现了一些严重的漏洞。 在扫描结果中,我们可以发现扫描发现了2个漏洞:DistCC Detection和允许匿名登录的FTP服务器。
另一个有趣的更新发生在资产部分。 当我们浏览资产 ->操作系统
运行完全和快速漏洞扫描
现在我们已经在192.168.100.1/24子网上发现了实时主机,基于这些主机创建了一个自定义目标列表并运行了一些扫描,让我们运行全速和快速漏洞扫描。 Full&Fast漏洞扫描是一种平衡扫描配置,经过优化可在最短的时间内提供最佳结果。 这种类型的扫描探测大多数NVT并使用以前收集的信息。 让我们通过创建一个新任务来设置此扫描:
我们再次使用我们之前创建的自定义目标列表,然后选择完全和快速扫描配置。 您还可以使用扫描配置设置指定同时扫描多少NVT和主机。 当您使用相对较重的扫描配置定位许多主机时,请考虑您的计算机有足够的资源可用于有效执行扫描任务。 此外,考虑到使用此类扫描一次扫描不同的主机会产生大量网络流量,甚至可能导致服务和主机崩溃。 在本次演示中,我们同时扫描了一台主机和20台NVT。 经过一个多小时的扫描,OpenVAS得出以下结果:
发现的漏洞包括信息泄露漏洞,例如主机192.168.100.106的“DCE / RPC和MSRPC服务枚举报告”,以及更严重的漏洞,例如“Microsoft Windows SMB Server Multiple Vulnerabilities-Remote(4013389)”或更好地称为MS17 -010和EternalBlue。 OpenVAS还扫描已知错误配置的目标,其中“IIS ASP.NET应用程序跟踪已启用”就是一个很好的例子。 可能会滥用启用应用程序跟踪等错误配置,以允许攻击者查看Web请求。 这些请求[FB1]可以包含敏感数据,例如具有登录凭据的POST请求。
到目前为止,结果非常有趣,因为我们发现了一些严重的漏洞,如MS17-010。我们还发现了不同的错误配置,允许攻击者从我们的系统中检索敏感数据,这些数据可用于访问系统或为以后的攻击阶段提供有用的信息。在这一点上,我不想详细讨论误报,甚至更糟糕的误报,但OpenVAS等扫描工具只能检测它扫描的漏洞。当我正在扫描我自己的私人实验室机器时,我知道有一些漏洞/错误配置,OpenVAS没有接收到它们,如果没有进一步测试它们就会被忽视。虽然OpenVAS确实揭示了严重的漏洞,但我们不能完全依赖扫描结果,因此结合自动扫描进行手动测试也很重要。在使用OpenVAS进行漏洞扫描的第4部分中,我们将介绍漏报(未检测到的漏洞),我们将看看我们可以采取哪些措施来避免这种情况。在下一节中,我们将了解如何使用OpenVAS执行凭证扫描。
Credentialed漏洞扫描
到目前为止,我们仅从网络角度扫描了漏洞目标,例如易受攻击的Web服务器,SMB和FTP服务器。 我们还可以在目标配置中提供凭据,以便OpenVAS能够登录并检查本地漏洞,例如内核和已安装软件中的安全问题,例如允许权限提升的漏洞。 使用凭据的另一种方法是检查目标是否为默认值或易于猜测凭据,例如admin / admin。 在这种情况下,OpenVAS将检查目标上的给定凭据,并报告它们是否正常工作。 一个很好的用例就是在扫描(一系列)Cisco设备时创建默认凭据。 在这种情况下,您可以添加cisco / cisco作为用户名和密码,或只添加用户名。 在本演示中,我们将扫描Metasploitable 2并提供管理员凭据。
要在目标上运行凭证扫描,我们必须首先创建凭据,方法是转到“配置 - >凭据”,然后单击蓝色星形图标以创建一组新凭据:
我们将其命名为“MS2”并提供Metasploitable 2的默认凭据(用户名和密码:msfadmin)。 下一步是创建一个新目标,输入目标IP地址并指定新创建的SSH访问凭据,以便OpenVAS能够运行经过身份验证的检查:
从这里开始,你将不得不创建一个新的扫描任务并运行它,就像我们在本教程中已经做过几次一样。 现在我们已经提供了凭据,扫描完成后,本地漏洞将包含在报告中。
安排扫描任务
我们将在本教程中介绍的最后一个主题是扫描任务调度。 当您希望在预先指定的时间内定期扫描主机或网络范围时,任务调度特别有用。 假设我们希望在晚上几乎没有流量时在公司网络上运行漏洞扫描。 在这种情况下,我们可以创建每天晚上11点运行的日程安排。 我们来看看如何做到这一点。
首先,我们需要创建一个计划,然后我们将其分配给扫描任务。 要创建计划,请转至“配置” - >“计划”,创建新计划并指定所需的参数:
此计划将从今天晚上11点开始每天运行漏洞扫描。 唯一剩下的就是创建一个新的扫描任务并分配计划:
Part IV:自定义扫描配置
打印机的自定义扫描配置
在本节中,我们将创建一个自定义扫描配置,以测试企业打印机和多功能(MFP)的漏洞。 我们要创建自定义扫描配置的原因是,在安全性和漏洞方面,打印机通常是被忽视的目标。 成功利用这些设备上的漏洞不仅可以让攻击者访问敏感数据,还可以获得网络上的滩头阵地。 许多企业打印机还使用轻量级目录访问协议(LDAP)对公司的域控制器进行身份验证。 在大多数情况下,设备不太可能通过管理员帐户进行身份验证,但可能会为攻击者提供对域帐户的访问权限。
在定位打印机时,尽可能优化扫描配置并仅扫描目标打印机的NVT非常重要。 许多打印机具有易碎的网络堆栈,无法处理大型扫描负载,甚至可能导致目标崩溃。 我们将排除与打印机无关的NVT,例如针对特定制造商的设备的NVT或针对本地漏洞的NVT。
创建自定义扫描配置
首先,我们将创建一个新的扫描配置,并将其命名为“打印机”。 我们可以选择复制现有的扫描配置并禁用我们不想使用的NVT,但由于我们在此处定位打印机,最好从空扫描配置开始,并启用适用于打印机设备的少数NVT。
接下来我们可以编辑扫描配置来定位NVT:
向下滚动到全局变量设置:从扫描中排除打印机,然后单击“编辑”图标:
启用“从扫描中排除打印机”:
接下来,我们创建一个新的扫描任务,并选择打印机目标列表作为目标,并选择新创建的扫描配置“完全和快速打印机”:
提示1:当您选择单个NVT时,请不要单击NVT系列复选框,因为这将添加来自特定系列的所有NVT。
提示2:在本演示中,我们仅添加了专门针对打印机的NVT。 由于大多数现代打印机运行不同的服务和服务器,因此建议同时启用面向FTP,Telnet,SSH,SNMP和Web服务器的NVT。
提示3:一般来说,我建议不要选择单个NVT的路线,除非它只是少数几个与打印机一样的NVT。
The End!!!
【译】使用OpenVAS 9进行漏洞扫描的更多相关文章
- (转译)2019年WEB漏洞扫描工具和软件前十名推荐
这些工具都有助于发现漏洞,从而最大限度地提高测试人员的时间和效率.这些工具,2019年更新,也可用于寻找漏洞. 为何扫描? 这资源是什么? Web应用程序对黑客具有极大的吸引力,并且出于百万种不同的原 ...
- 2018-2019-2 网络对抗技术 20165318 Exp6 信息搜集与漏洞扫描
2018-2019-2 网络对抗技术 20165318 Exp6 信息搜集与漏洞扫描 原理与实践说明 实践原理 实践内容概述 基础问题回答 实践过程记录 各种搜索技巧的应用 DNS IP注册信息的查询 ...
- 2018-2019-2 网络对抗技术 20165301 Exp6 信息搜集与漏洞扫描
2018-2019-2 网络对抗技术 20165301 Exp6 信息搜集与漏洞扫描 1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 (1)各种搜索技巧的应用 (2)DNS ...
- OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务
OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务 1. OpenVAS基础知识 OpenVAS(Open Vulnerability Assessment Sys ...
- OpenVAS漏洞扫描基础教程之创建用户
OpenVAS漏洞扫描基础教程之创建用户 OpenVAS管理服务 默认情况下,OpenVAS服务仅创建了一个名为admin的用户,而且是管理员用户(拥有最高的权限).如果想要其它客户端登陆的话,不可能 ...
- OpenVAS漏洞扫描基础教程之连接OpenVAS服务
OpenVAS漏洞扫描基础教程之连接OpenVAS服务 连接OpenVAS服务 当用户将OpenVAS工具安装并配置完后,用户即可使用不同的客户端连接该服务器.然后,对目标主机实施漏洞扫描.在本教程中 ...
- OpenVAS漏洞扫描基础教程之创建用户组与创建角色
OpenVAS漏洞扫描基础教程之创建用户组与创建角色 OpenVAS创建用户组 用户组就是指许多个用户的组合.在网络中,各个访问网络的用户的权限可能各不相同.所以,可以通过将具体相同权限的用户划为一组 ...
- 利用Ossim系统进行主机漏洞扫描
利用Ossim系统进行主机漏洞扫描 企业中查找漏洞要付出很大的努力,不能简单的在服务器上安装一个漏洞扫描软件那么简单,那样起不了多大作用.这并不是因为企业中拥有大量服务器和主机设备,这些服务器和设备又 ...
- Exp6 信息搜集与漏洞扫描 20164312 马孝涛
1.实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点(以自己主机为目标) (4)漏洞扫描:会扫, ...
随机推荐
- Linux内核分析(第五周)
系统调用的三层皮(下) 一.给MenuOs增加time和time-asm命令 ls rm menu -rf git clone xx(克隆新版本) cd menu make rootfs(自动编译生成 ...
- 每日scrum(2)
今天是冲刺的第二天,小组主要做了界面的美化,加入了软件的开始动画,以及学校景点的美图介绍: 主要的问题在于除了开始界面,进入软件之后还是有待改进,功能的呈现有待加强. 任务看板: 燃尽图: 会议照片:
- 第三次spring冲刺1
Not Check Out Check Out Done SPRINT GOAL: BETA-READY RELEASE 困难模式 DONE 修改已知bug DONE 美化界面 ...
- 手写vue双向绑定数据
来一张原理图: 实现思路: (1)绑定data 种的数据,为每个数据添加指令.通过Object,defineProperty() 来通知属性是否更改 (2) 找到每个DOM节点的指令.绑定事件.并绑定 ...
- ElasticSearch 2 (27) - 信息聚合系列之故事开始
ElasticSearch 2 (27) - 信息聚合系列之故事开始 摘要 到目前为止,本书都在着重介绍搜索.对于搜索,我们有查询条件以及与查找到与条件匹配的集合.这个过程就和如大海捞针一样. 对于聚 ...
- [日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决. .net framework 的版本说明
1. 性能组进行 单点性能测试时发现 商务智能的 并行分析有问题. 效率很低, 开发人员查看iis 的日志 发现错误原因是 Microsoft.jscript.ni.dll 有内存溢出的问题 开发人员 ...
- [转帖] Linux 创建一个简单的私有CA、发证、吊销证书
原创帖子地址: https://blog.csdn.net/mr_rsq/article/details/71001810 Linux 创建一个简单的私有CA.发证.吊销证书 2017年04月30 ...
- android 命令行安装apk
有两种方式可以在android模拟器或真机上使用命令行安装apk 一种是使用adb install命令,网上通常是这种方式 另一种是通过android提供的命令,pm install. 需要先进入an ...
- BeanFactory 简介以及它 和FactoryBean的区别(阿里面试)
BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的BeanFactory.原始的BeanFactory无法支持spring的许多插件,如AOP ...
- Java对象与Map间相互转换
将Java对象转为一个Map,以及将map转为对应Java对象,代码如下: public class BeanMapUtil { private static ConcurrentHashMap< ...