Nessus-渗透测试实用手册(全)

Nessus 渗透测试实用手册(全)

原文:annas-archive.org/md5/462D0495C8C5E7E26BF8E965AD0A9FD8

译者:飞龙

协议:CC BY-NC-SA 4.0

前言

IT 安全是一个广阔而令人兴奋的领域,漏洞评估和渗透测试是跨组织中最重要和常见的活动,以保护 IT 基础设施并满足合规性要求。《学习 Nessus 进行渗透测试》让您了解如何使用常用工具 Nessus 有效地进行 VA 和 PT。

本书将向您介绍漏洞评估和渗透测试等常见测试。对 Nessus 工具的介绍后,将介绍在 Windows 和 Linux 平台上安装 Nessus 的步骤。本书将逐步解释如何进行实际扫描和结果解释,包括进一步的利用。还将解释其他提供的功能,如使用 Nessus 进行合规性检查。还将解释如何分析结果以排除虚假阳性和关键性。将通过易于理解的示例解释如何使用 Nessus 输出进行渗透测试。最后,在不同章节中,还将解释来自 VA 活动中面临的现实挑战的提示和见解。

希望您喜欢阅读本书!

本书涵盖的内容

第一章,“基础知识”,介绍了漏洞评估和渗透测试,以及 Nessus 作为工具的介绍和安装设置步骤。

第二章,“扫描”,解释了如何使用 Nessus 配置扫描。本章还涵盖了扫描的先决条件,如何配置扫描策略等。

第三章,“扫描分析”,解释了对扫描输出的分析,包括结果分析、虚假阳性分析、漏洞分析和利用漏洞。

第四章,“报告选项”,涵盖了如何利用 Nessus 使用不同的报告选项。本章还讨论了报告生成、报告定制和报告自动化。

第五章,“合规性检查”,解释了如何利用 Nessus 的审计选项,它与漏洞评估有何不同,如何配置审计策略,以及 Nessus 针对不同环境提供的常见合规性检查。

您需要什么

假设您有一台符合要求的计算机来安装和运行 Nessus 工具。为了运行示例扫描,一些具有不同操作系统的授权目标机器或虚拟镜像将会很有用。

本书的受众

本书为安全专业人员、网络管理员、网络安全专业人员、安全管理员和信息安全官员提供了使用 Nessus 漏洞扫描工具进行漏洞评估,以识别 IT 基础设施中的漏洞的深入见解。

约定

在本书中,您会发现许多文本样式,用于区分不同类型的信息。以下是一些样式的示例,以及它们的含义解释。

文本中的代码词显示如下:“此选项使用 SSH 连接中可用的netstat命令来查找 Unix 系统中的开放端口。”

新术语重要单词以粗体显示。例如,屏幕上看到的单词,例如菜单或对话框中的单词,会在文本中显示为:“在首选项选项卡下,有一个下拉菜单可选择不同的合规性检查。”

警告或重要说明以这样的方式出现在一个框中。

提示

提示和技巧会以这种方式出现。

第一章:基础知识

如今,安全是任何组织最重要的主题,无论其规模或业务类型如何。这主要是因为组织不想因安全受到影响而失去声誉或业务;其次,他们必须满足法律和监管要求。在基础设施的技术安全方面,漏洞评估和渗透测试(PT 或 PenTest)起着至关重要的作用。本章介绍了 PT 或 PenTest 是什么,为什么需要以及如何为组织设置和管理 Nessus。

本章将向您介绍 Nessus,这是一个用于漏洞评估和渗透测试的工具。我们还将涵盖以下主题:

  • 漏洞评估

  • 渗透测试

  • Nessus 简介

  • 在不同平台上安装 Nessus

  • 更新 Nessus 插件

  • Nessus 用户管理

  • Nessus 系统配置

漏洞评估和渗透测试

漏洞评估(VA)和渗透测试(PT 或 PenTest)是使用不同工具进行的最常见的技术安全风险评估或技术审计类型。如果这些工具被最佳地使用,它们将提供最佳结果。不正确的配置可能导致多个错误的阳性结果,这些结果可能反映或可能不反映真正的漏洞。漏洞评估工具被广泛应用于所有组织,从小型组织到大型企业,以评估其安全状态。这有助于他们及时做出保护自己免受这些漏洞影响的决策。本书概述了使用 Nessus 进行漏洞评估和 PenTest 的步骤。Nessus 是一个广泛认可的用于此类目的的工具。本节向您介绍了与这两种评估类型相关的基本术语。

就 IT 系统而言,漏洞可以定义为系统/基础设施中的潜在弱点,如果被利用,可能导致对系统的攻击。

漏洞的一个例子是系统中的弱密码,可以通过暴力攻击(字典攻击)来利用。这可能导致密码被破解,未经授权的人获得对系统的访问权限。

注意

本书中的“系统”一词指的是信息技术或非信息技术环境中存在的任何资产。

漏洞评估是一种逐步识别基础设施中存在的漏洞的方法。这可以使用自动扫描工具(如 Nessus)来完成,该工具使用其对应于基础设施中不同类型已知安全漏洞的插件集,或者使用基于手册的清单方法,该方法使用最佳实践和已知漏洞跟踪站点上的已发布漏洞。手动方法不如基于工具的方法全面,并且需要更多时间。漏洞评估工具执行的检查也可以手动完成,但这将比自动工具需要更多的时间。

渗透测试在漏洞评估中有一个额外的步骤,即利用漏洞。渗透测试是一种侵入性测试,进行渗透测试的人员将首先进行漏洞评估以识别漏洞,然后尝试利用已识别的漏洞渗透系统。

漏洞评估的需求

你理解为什么需要漏洞评估或渗透测试非常重要。尽管进行漏洞评估或 PenTest 有多种直接或间接的好处,但以下是一些记录下来的,以便你理解。

风险预防

漏洞评估揭示了系统中的漏洞/空白/漏洞。通过定期运行这些扫描,组织可以及时识别 IT 基础设施中已知的漏洞。漏洞评估减少了不符合不同合规性和监管要求的可能性,因为您已经知道了您的漏洞。及时了解这些漏洞可以帮助组织在被利用之前提前修复它们并减轻涉及的风险。被利用漏洞的风险包括:

  • 由于漏洞利用而导致的财务损失

  • 组织声誉

  • 数据盗窃

  • 机密性妥协

  • 完整性妥协

  • 可用性妥协

合规要求

众所周知的信息安全标准(例如 ISO 27001、PCI DSS 和 PA DSS)规定了必须执行漏洞评估的控制要求。

一些国家对某些特定行业部门(如银行业和电信业)进行漏洞评估有特定的监管要求。

漏洞评估和渗透测试的生命周期

本节描述了 VA 和 PenTest 生命周期中的关键阶段。这些生命周期几乎相同;渗透测试涉及利用已识别的漏洞的额外步骤。

建议根据组织的测试要求和业务目标执行测试,无论是漏洞评估还是渗透测试。此生命周期涉及以下阶段:

  1. 界定

  2. 信息收集

  3. 漏洞扫描

  4. 假阳性分析

  5. 漏洞利用(渗透测试)

  6. 报告生成

以下图示了建议遵循的不同顺序阶段,用于进行漏洞评估或渗透测试:

漏洞评估和渗透测试的生命周期

阶段 1 - 界定

界定是任何安全评估活动的首要步骤。为了执行 VA 或 PenTest,第一步是确定评估范围,例如要对其进行评估的基础设施,例如服务器、网络设备、安全设备、数据库和应用程序。界定取决于漏洞评估的业务目标。在界定期间,还应达成扫描窗口的协议。还应达成允许的攻击类型。在确定评估范围之后,该阶段还包括测试的计划和准备工作,包括确定团队、测试的日期和时间。在开始参与之前,还应注意另一个重要因素,即在进行这些测试的基础设施方和安全测试人员之间签署正式的参与协议。界定还应包括确定要测试的基础设施元素的数量。

除了基础设施范围和其他程序管理模式外,还应确定评估的确切范围、组织对业务目标的方法以及评估的方法。为了确定业务目标,组织应确定希望模拟的攻击类型。

一家公司可能寻求的一个目标是:“通过只知道公开的 IP 地址,找出外部攻击者针对外部暴露的基础设施能够实现什么。”这种要求将通过对基础设施和应用程序进行外部黑盒渗透测试来满足,并且方法和方法应符合这一要求。

根据基础设施从互联网或内部网络的可访问性,测试可以从外部或内部网络进行。此外,根据详细信息的类型,基础设施测试可以是黑盒或灰盒。根据基础设施的类型,应启用漏洞扫描工具的插件或功能,并辅以适当的手动检查。

注意

在黑盒测试中,只会向测试人员提供 IP 地址等详细信息。关于基础设施的洞察力,例如类型和操作系统版本,不会与 Nessus 扫描器共享;这种类型的测试将涉及非凭证扫描。这使得测试人员可以模拟对基础设施了解有限的外部攻击者。

灰盒测试将包括一些基础设施的详细信息,例如允许获取更全面的管理员凭据的设备类型和软件版本,以便更全面地使用工具进行结果。此外,为了模拟对基础设施有了解的内部攻击者,对于 Nessus 扫描器,这种类型的测试将涉及凭证扫描,提供更全面的结果。

第二阶段 - 信息收集

信息收集是 VA-PT 评估的第二个和最重要的阶段。这个阶段包括使用技术(WhoIS)和非技术被动方法(如搜索引擎和互联网群体)来获取有关目标系统的信息。这一步是至关重要的,因为它有助于更好地了解目标基础设施及其资源。由于评估的时间表通常是有限的,因此在此阶段捕获的信息有助于通过使用适用于目标系统的正确工具和方法来使测试工作朝着正确的方向进行。对于黑盒评估来说,这一步变得更加重要,因为关于目标系统的信息非常有限。

信息收集后,会采用更加技术化的方法来使用 ping 和 Telnet 等工具来映射目标网络,并使用诸如 NMAP 之类的端口扫描器。使用这些工具可以使评估人员找到活动主机、开放服务、操作系统和其他信息。

通过网络映射收集的信息将进一步验证通过其他被动手段收集的有关目标基础设施的信息,这对配置漏洞扫描工具非常重要。这确保了扫描的更加适当。

第三阶段 - 漏洞扫描

这个阶段涉及对目标基础设施进行实际扫描,以识别系统的现有漏洞。这是使用诸如 Nessus 之类的漏洞扫描器完成的。在扫描之前,工具应根据初始阶段捕获的目标基础设施信息进行最佳配置。还应注意,工具能够通过允许访问诸如防火墙之类的相关中间系统来到达目标基础设施。这些扫描器执行协议 TCP、UDP 和 ICMP 扫描,以查找目标机器上运行的开放端口和服务,并将它们与工具的签名数据库中定期更新的已知发布的漏洞进行匹配。此阶段的输出提供了目标基础设施中存在的漏洞的整体视图,如果利用这些漏洞可能导致系统受损。

第四阶段 - 误报分析

在扫描阶段的输出中,人们会获得目标基础设施的漏洞列表。其中一个关键活动是进行误报分析,即删除工具错误报告的不存在的漏洞。所有扫描工具都容易出现误报,可以使用诸如将漏洞相互关联和以前收集的信息和扫描报告进行分析,以及实际检查系统访问是否可用等方法进行分析。

漏洞扫描器为已识别的漏洞提供其自己的风险评级;可以重新考虑基础设施元素(服务器或网络设备)的实际关键性和漏洞的影响。

第 5 阶段 - 漏洞利用(渗透测试)

如果系统所有者需要证明现有漏洞或利用以了解攻击者可以对易受攻击系统造成的影响程度,测试人员将需要在受控环境中演示利用漏洞,而不会使基础设施不可用,除非有这样的要求。渗透测试是漏洞评估的下一步,旨在基于已识别的漏洞进行渗透目标系统。对于利用,可以利用我们自己的知识或公开可用的对已知漏洞的利用。渗透测试或漏洞利用可以广泛分为预渗透、利用和后渗透等阶段。

预渗透阶段的活动在 1 到 4 阶段中进行解释,即枚举基础设施和识别漏洞。

一旦利用任何漏洞来访问系统,攻击者应该进一步详细了解网络,通过嗅探流量、映射内部网络,并尝试获取更高权限的帐户,以获得对系统的最大访问权限。这将使测试人员能够对网络发动进一步攻击,以进一步增加受损系统的范围。后渗透步骤还将涉及通过进行清除日志和禁用防病毒等活动来清除痕迹。

作为后渗透阶段的测试人员,您可以演示攻击者如何通过后门和 rootkit 保持对系统的访问。

第 6 阶段 - 报告生成

根据工作范围完成评估后,需要进行最终报告,涵盖以下关键领域:

  • 关于评估的简要介绍

  • 评估范围

  • 管理/执行摘要

  • 风险严重性的发现摘要

  • 每个发现的详细信息及其影响以及您修复漏洞的建议

Nessus 简介

Nessus 是最广泛使用的漏洞评估产品之一。这个工具由 Renaud Deraison 于 1998 年首次发布,过去 15 年来一直是行业中最受欢迎的漏洞扫描工具之一。

Nessus 的官方网站(http://www.tenable.com)对其进行了如下描述:

“Nessus®是业界最广泛部署的漏洞和配置评估产品。Nessus 具有高速发现、配置审计、资产概况、敏感数据发现、补丁管理集成以及安全姿态的漏洞分析。Nessus ProfessionalFeed®提供了一个不断更新的库,其中包含超过 50,000 个个别漏洞和配置检查,并得到专家漏洞研究团队的支持,Nessus 为市场提供了准确性。Nessus 可扩展以服务最大的组织,并且部署快速简便。”

多年来,Nessus 已经从纯粹的漏洞扫描工具发展为包括配置审计、合规审计、补丁审计、控制系统审计和移动设备审计等附加评估和审计功能。它以其易用性和灵活性而闻名。

Nessus 漏洞扫描器涵盖的关键基础设施包括以下内容:

  • 网络设备:包括 Juniper、Cisco、防火墙和打印机

  • 虚拟主机:包括 VMware ESX、ESXi、vSphere 和 vCenter

  • 操作系统:包括 Windows、Mac、Linux、Solaris、BSD、Cisco iOS 和 IBM iSeries

  • 数据库:包括 Oracle、MS SQL Server、MySQL、DB2、Informix/DRDA 和 PostgreSQL

  • Web 应用程序:包括 Web 服务器、Web 服务和 OWASP 漏洞

Nessus 漏洞扫描器是一款易于使用的工具。对于这个工具的新手来说,可以很容易地学会它。

初始 Nessus 设置

有关如何安装 Nessus 的详细步骤将在本章后面给出。安装 Nessus 后,您可以为您的 Nessus 扫描仪进行一次性设置,例如设置用户帐户以访问扫描仪;一般设置,如配置 SMTP 或 Web 代理、饲料设置、移动设置和结果设置;以及配置高级配置设置。这些设置将在本章后面详细介绍。它们非常独特,适用于您的扫描环境,这取决于您组织的安全策略和偏好。在进行扫描之前,您可能还希望根据要求创建一些通用策略。

安排扫描

Nessus 提供了在未来对目标主机进行扫描的灵活性。这就像作业调度一样。您可以提前配置和安排预定义的时间和策略。Nessus 将在指定的时间自动启动扫描,并将结果发送到预定义的电子邮件地址。这不需要任何手动触发来调用扫描。您还可以安排重复扫描,比如“我的扫描目标 IP 应该在每周四的欧洲中部时间凌晨 3 点进行扫描”。大多数时候,大型企业组织面临着很多挑战,以确定扫描窗口。扫描窗口是扫描的时间范围,定义了扫描应该在何时进行以及扫描应该在何时完成。通常,扫描窗口是根据扫描机器上的生产负载来决定的。建议只在非高峰时段扫描生产机器。非高峰时段是指目标或扫描机器在一天/一周内最少使用的时间。

Nessus 插件

为了实现全面的安全检查,Nessus 提供了大量插件,这些插件分组在一起提供类似的安全检查。分组允许一次性禁用或启用大量基于目标机器的插件。主要插件系列的示例包括 Windows、Linux、Solaris、Cisco 和数据库。有关插件和家庭饲料之间的区别的详细信息,请参阅 Nessus 官方网站plugins.nessus.org

作为最广泛使用的工具之一,Nessus 在discussions.nessus.org上拥有一个活跃的在线支持社区。

Nessus 是一种成本效益最高的扫描工具之一,具有低总拥有成本(TCO)和可以扫描无限数量的 IP 等功能。Nessus 订阅包括软件更新、访问 Tenable 的合规性和审计文件以及支持。此外,它还包括每日漏洞和配置检查的自动安装更新。

注意

除了介绍 Nessus,本章还描述了漏洞评估和渗透测试的基础知识,这是使用 Nessus 进行的两种最常见的技术风险评估类型。除此之外,还描述了 Nessus 中的各种安装选项。

使用 Nessus 进行补丁管理

Nessus 在补丁管理方面非常成功;这是通过将 Nessus 与各种补丁管理解决方案集成实现的。这里的好处是,您无需向 Nessus 提供扫描目标机器的凭据;相反,您需要为补丁管理系统提供凭据。这是因为补丁管理系统将已经具有到达目标主机的凭据。

使用 Nessus 进行治理、风险和合规性检查

Nessus 提供不同格式的输出,如 HTML、CSV 和 PDF。这使得将输出提供给不同的工具进行集成变得更加灵活。这些工具可以是治理、风险和合规性工具,如 EMC RSA Archer SmartSuit 或任何其他类似的工具。

在不同平台上安装 Nessus

Nessus 支持几乎所有流行的操作系统。根据操作系统的可用性,可以按照本节中给出的安装步骤来安装 Nessus。最新的信息/步骤也可以从 Nessus 的官方网站获取。在撰写本书时,Nessus 支持以下操作系统平台:

  • Microsoft Windows – XP, 2003, 2008, Vista, 2012, 7 和 8

  • Linux – Debian, Red Hat, Fedora, SuSE, Ubuntu

  • Solaris

  • Mac

  • Free BSD

  • 校验和 GCP 密钥

有关上述列表的最新详细信息可以从 Tenable Nessus 的官方网站www.tenable.com/获取。

先决条件

扫描机应该有 4GB 的内存(最好)。但是,请参考 Nessus 的官方网站www.tenable.com/获取最新的要求。

更好的处理器将支持快速扫描。扫描机应根据 Nessus 扫描的范围进行选择;如果您计划对大型企业进行漏洞评估,建议使用高端服务器机器。

注意

没有防火墙应该阻止 Nessus 生成的流量到达扫描目标系统。如果有防火墙,应配置防火墙规则以允许 Nessus 机器生成的所有流量到达扫描目标。请不要忘记在扫描活动完成后停用此防火墙规则。

如果使用 Web 代理访问扫描机器,应在 Nessus 中输入代理身份验证凭据。这取决于您的扫描环境是否需要此可选设置。

您应该具有在机器上安装 Nessus 的管理权限,并且需要激活 Nessus 插件订阅码以更新插件。

在 Windows 7 上安装 Nessus

要获取最新的 Nessus 软件包,无论是购买还是评估,都应该浏览 Tenable Nessus 的官方网站www.tenable.com/

  1. 登录 Nessus 网站,从产品部分购买并下载最新的 Nessus 软件。

应根据要安装 Nessus 的操作系统下载 Nessus 软件包。应按照 Nessus 网站上给出的步骤下载 Nessus 软件包。

重要的是要注意,应根据您计划扫描其他系统的扫描机操作系统来下载 Nessus,而不是根据您打算扫描的操作系统来下载。例如,如果您需要从 Windows 2008 服务器机器扫描 10 台 Linux 机器、一台 Solaris 机器和五台 Windows 机器,应下载 Windows 2008 操作系统的 Nessus 软件包。根据操作系统的位数,可以选择 32 位/64 位软件包。

  1. 一旦您下载了 Nessus 可执行文件(Nessus 安装程序包),双击它开始安装。如果您没有管理员权限,请按下Shift并右键单击可执行文件;点击“以管理员身份运行”以使用管理员帐户运行安装程序。

  2. 您可能会收到一个安全警告“是否要运行此文件?”。点击“运行”按钮。

  3. 点击“运行”后,安装程序将弹出一个窗口以继续安装。

  4. 点击“下一步”,这将弹出 Nessus 许可协议的窗口。每个人都有必要阅读许可协议并遵守。

  5. 要继续进行 Nessus 安装,您需要接受许可协议并点击“下一步”。

  6. 您可以选择更改要安装 Nessus 的目录。点击“下一步”以继续。在 Windows 7 上安装 Nessus

  7. 点击“安装”以继续。

  8. 在安装过程中,您可能会收到一个提示,询问“是否要安装此设备软件?”。如果您需要信任 Tenable 网络安全公司的所有软件,请选择复选框“始终信任 Tenable 网络安全公司的软件”。这不是必选项。点击“安装”以继续。

  9. 以下截图表示安装成功。点击“完成”以继续:在 Windows 7 上安装 Nessus

成功安装 Nessus 后,您需要进行基本配置,如默认设置、用户创建和激活码。

以下截图显示了 Nessus 的 Web 视图。Nessus 默认在端口 8834 上运行:

在 Windows 7 上安装 Nessus

Nessus 警告有关 SSL 证书。它默认不带 SSL 证书。Nessus 管理员必须获取 SSL 证书以配置 SSL。

如果您想现在安装 SSL 证书,请安装它;否则,点击“无论如何进行”将带您进入介绍页面。

点击“开始”以继续。

在 Windows 7 上安装 Nessus

在此之后,您需要做的第一件事是设置管理帐户。此帐户在 Nessus 服务器上创建。此帐户应始终记住以进行 Nessus 管理。

在 Windows 7 上安装 Nessus

在创建管理帐户之后,Nessus 将提示进行插件订阅和代理设置,这是可选的。

在 Windows 7 上安装 Nessus

插件订阅必须根据您预期的使用情况进行。注册后,您将获得一个激活码,您需要将其用于插件订阅。

在 Linux 上安装 Nessus

要获取最新的 Nessus 软件包,无论是购买还是评估目的,您应该访问 Tenable Nessus 的官方网站www.tenable.com/

  1. 登录到 Nessus 网站,从“产品”部分购买并下载最新的 Nessus 软件,根据您的操作系统和版本。这里概述的步骤适用于 Red Hat Linux 5.2。

  2. 一旦您下载了 Nessus 可执行文件(Nessus 安装程序包),双击它开始安装过程。安装需要管理员/根权限。在 Linux 上安装 Nessus

您将看到以下截图中显示的“正在安装软件包”窗口:

在 Linux 上安装 Nessus

  1. 点击“应用”按钮。在 Linux 上安装 Nessus

  2. 点击“无论如何安装”以继续安装。在 Linux 上安装 Nessus

前面的屏幕截图显示 Nessus 已成功安装在 Red Hat Linux 环境中。要开始,应启动 Nessus 服务。

  1. 应在 Linux 终端上执行以下命令以启动 Nessus 服务:
# /sbin/service nessusd start

以下屏幕截图显示了 Nessus 服务启动状态为OK

在 Linux 上安装 Nessus

  1. 配置 Nessus 扫描仪,将 URL https://localhost.localdomain:8834/ 输入到 Linux 框的 Web 浏览器中。

此页面显示了安全连接错误,可以通过向 Web 浏览器添加例外来纠正。

  1. 单击或者您可以添加例外链接。

  2. 单击添加例外,然后单击获取证书。这将激活确认安全例外按钮。一旦您点击这个按钮,Web 浏览器将显示 Nessus 扫描仪主页。

要进一步配置,可以按照 Windows 安装中概述的相同步骤进行注册、激活、更新插件、用户管理等操作。

定义更新

更新 Nessus 定义(插件)很重要,因为这可以使 Nessus 保持更新,并能够识别所有最新的漏洞。在使用 Nessus 进行成功的漏洞扫描之前,重要的是在进行扫描之前检查并更新 Nessus 的最新插件。

要在 Windows 机器上更新 Nessus,应执行以下步骤:

  1. 使用管理员帐户登录 Nessus 服务器。

  2. 从顶部菜单栏单击配置选项卡。

  3. 单击配置选项卡后,Nessus 将打开系统配置设置。这将有子选项卡,即常规设置订阅设置移动设置结果设置高级设置

  4. 在左侧选择面板上单击订阅设置选项卡。这将打开一个页面以更新 Nessus 插件订阅。定义更新

Nessus 提供以下多个订阅选项:

  • 在线插件更新

  • 离线插件更新

  • 基于自定义插件源主机的更新

在线插件更新

在线插件更新是更新 Nessus 插件的最流行选项,并提供通过互联网更新插件的能力。这需要 Nessus 机器上相当良好速度的互联网连接。在 Nessus 注册和激活后,可以通过单击更新插件按钮来更新插件。

离线插件更新

当插件存档在本地目录中,Nessus 可以获取并更新时,使用离线插件更新。这不需要 Nessus 系统上的互联网连接。要设置离线更新,首先获取 Nessus 订阅激活代码,可以从 Nessus 支持或用于 Nessus 订阅注册的注册电子邮件 ID 中检索。

下一步是生成用于下载插件的挑战代码以及激活代码。

要在 Windows Nessus 机器上生成挑战代码,请在命令行工具中运行以下命令:

\Program Files\Tenable\Nessus> nessus-fetch.exe --challenge

对于 Linux Nessus 机器,命令略有不同;应在 Linux 终端上运行以下命令:

# /opt/nessus/bin/nessus-fetch --challenge

这将生成一个长字符串的字符,称为挑战代码。一个示例挑战代码是 19c4ed603ac3e436a14239852c8fbf8f26f02d7b

为了继续离线下载插件,请转到 Nessus 插件离线下载页面plugins.nessus.org/offline.php。加载后,页面提示输入挑战代码和激活代码。输入这些代码。

离线插件更新

基于自定义插件源主机的更新

可以使用此选项设置自定义插件源主机。可以提供主机名或主机 IP 地址来设置这个。

用户管理

用户管理是 Nessus 提供的附加功能,对于 Nessus 在多个地点由多人使用的大型企业环境非常有用。在这种环境中,此功能使管理员能够为 Nessus 扫描仪上的多个用户启用不同级别的访问权限。

Nessus 为用户提供以下两种不同的角色:

  • 管理员

  • 非管理员

管理员角色可以访问 Nessus 的所有功能,而非管理员角色的访问权限有限。非管理员角色无法访问用户管理、常规设置、Feed 设置和高级设置。

在安装 Nessus 时,会为 Nessus 管理创建一个管理员用户。要进行 Nessus 用户管理,必须使用此帐户登录,因为它具有管理员权限。

在 Windows 机器上可以浏览 URL https://localhost:8834/

用户管理

输入管理员用户名和密码进行登录。这将显示 Nessus 的主页,如前面的截图所示。

在管理员登录下将显示多个选项卡。单击用户选项卡以进行用户管理活动。

在 Nessus 中,用户管理提供以下选项:

  • 添加新用户

  • 删除现有用户

  • 更改现有用户的密码

  • 更改现有用户的角色

添加新用户

单击新用户按钮以添加新用户。

添加新用户

这将显示新用户提示,以设置新用户的用户名、密码和角色,如下截图所示:

添加新用户

删除现有用户

删除用户是在 Nessus 扫描仪上不再需要用户时使用的功能。在这种情况下,从用户标题中选择需要删除的用户,并单击右侧显示的选项中的删除用户按钮。

删除现有用户

更改现有用户的密码或角色

有时,管理员会收到更改用户密码的请求。这可能是因为用户忘记了密码,或者因为需要更改用户的角色。在这种情况下,选择需要更改密码或角色的用户,并双击该用户。这将提示您使用以下窗口设置新密码或更改角色:

更改现有用户的密码或角色

Nessus 系统配置

Nessus 系统配置设置可以在配置选签下查看。这有五个不同的设置组,如下所示:

  • 常规设置

  • Feed 设置

  • 移动设置

  • 结果设置

  • 高级设置

常规设置

通过使用管理员权限登录到 Nessus,可以在配置下看到常规设置选项卡。在设置类型下拉菜单中存在两种不同的常规设置选项:

  • SMTP 服务器

  • Web 代理

SMTP 服务器设置允许您配置与 Nessus 服务器配合使用的 SMTP 服务器,以通过自动电子邮件发送完成扫描的结果。

常规设置

SMTP 设置

可以根据您的 SMTP 配置配置不同的 SMTP 设置。SMTP 设置在以下表中进行了解释:

SMTP 设置 描述
主机 SMTP 服务器主机名或 IP。
端口 连接 SMTP 服务器的端口号。
发件人邮箱 报告电子邮件中应显示的发件人电子邮件 ID。
身份验证方法 SMTP 身份验证方法。
用户名 用于对 SMTP 服务器进行身份验证的用户名。
密码 与此用户名对应的密码。
Nessus 服务器主机名 仅用于电子邮件链接,需指定 Nessus 服务器主机名或 IP 地址。
发送测试邮件 允许您通过发送测试邮件进行测试。

Web 代理设置

一些组织在外部和内部网络之间托管 Web 代理服务器以传递流量。在 Web 代理环境中更新 Nessus 的最新插件,需要根据组织设置配置 Web 代理设置。这使 Nessus 能够通过互联网访问 Nessus 插件服务器以下载最新的插件。

可以根据您的 Web 代理配置配置不同的 Web 代理设置。这些设置在以下表中有解释:

Web 代理设置 描述
主机 代理主机名或 IP。
端口 代理连接的端口号。
用户名 连接代理的用户名。
密码 用于连接代理的用户名的密码。
用户代理 如果代理使用特定于过滤器的 HTTP 用户代理,则需要。需要指定自定义用户代理字符串。

Feed Settings

Feed Settings 在本章的定义更新部分中有解释。

Mobile Settings

最近,随着移动设备在企业领域的广泛使用,移动设备安全问题已成为优先考虑的问题,例如自带设备BYOD)等概念被积极使用。这些设备连接到企业网络时,会带来其移动平台固有的漏洞。Nessus 提供了移动安全扫描选项,用于扫描最近连接到各自服务器的移动设备的信息和漏洞。

目前,插件与 iPhone 4、iPad、Windows Phone 和 Android 设备相关,并且 Nessus 具有扫描Active Directory Service InterfacesADSI)和苹果配置管理器以识别连接到这些服务器的移动设备和识别漏洞的能力。

Mobile Settings 选项卡提供了配置以下类型设置的选项:

  • ActiveSync(Exchange)

  • 苹果配置管理器

  • Good For Enterprise

可以在以下截图中看到:

移动设置

ActiveSync(Exchange)

Nessus 可以配置为使用 ActiveSync 收集使用此协议获取电子邮件(通过 Exchange)的所有移动设备的信息。如果您有 Exchange 部署,可以配置域控制器设置,如以下表中所列:

ActiveSync 移动设置 描述
域控制器 域控制器 IP。
域名。
域用户名 连接域的用户名。
域密码 用于连接的用户名的密码。

苹果配置管理器

Nessus 可以配置为使用苹果配置管理器收集有关所有 iOS 设备的信息。如果您部署了苹果配置管理器,可以配置以下表中列出的苹果配置管理器设置:

Apple 配置管理器移动设置 描述
苹果配置管理器服务器 苹果配置管理器服务器 IP。
Apple 配置管理器端口 连接的苹果配置管理器服务器端口。
Apple 配置管理器用户名 登录的用户名。
Apple 配置管理器密码 与用户名对应的密码。
SSL 根据环境选择/取消此选项。
验证 SSL 证书 如果要验证 SSL 证书,请选中此选项。
强制设备更新 如果要强制设备更新,请选中此选项。
设备更新超时(分钟) 设备更新超时时间(分钟)。

Good For Enterprise

Nessus 可以配置为使用 Good 移动设备管理收集使用此协议的所有移动设备的信息。如果您部署了 Good For Enterprise,可以配置以下表中列出的设置:

适用于企业移动设置 描述
GMC 服务器 需要在此处提及 GMC 服务器 IP。
端口 用于与 GMC 服务器连接的端口号。
域名。
用户名 用于连接的用户名。
密码 与用户名对应的密码。
SSL 根据环境选择/取消选择此选项。
验证 SSL 证书 如果要验证设备,请选中此选项。

结果设置

结果设置可在配置下找到。这允许您添加规则以禁用插件或更改其严重性。

以下屏幕截图显示了如何添加新的插件规则:

结果设置

以下表详细说明了新的插件规则选项:

新插件规则选项 描述
主机 如果结果插件规则仅适用于特定 IP/主机,则可以在主机字段中提及主机。如果规则适用于整个扫描的主机,则可以将其留空。
插件 ID 要提供的插件 ID,以指定规则所适用的插件。
过期日期 可在此处指定规则的过期日期,以防需要在特定日期过期。
严重性 可根据您想要设置的规则从下拉菜单中设置严重性。可以是隐藏、信息、低、中、高或严重。

高级设置

Nessus GUI 配置菜单包含多个可配置选项。

建议根据您的扫描环境审查和适当修改这些设置。可以使用保存按钮更改并保存选项,也可以使用选项旁边的X符号将其完全删除。

在修改即将出现的表中的max_hostsmax_checks值时需要特别注意。这些值代表一次扫描中要扫描的最大检查数和主机数,并直接影响要执行的扫描。如果max_checks的值大于5,可能会对目标服务器产生不利影响,因此应避免使用。同样,较高的max_hosts值可能会使主机扫描系统不堪重负,这取决于安装 Nessus 的主机的容量。建议将此值保持相对较低(可以从 10 开始);可以根据环境和系统能力进行优化。

以下屏幕截图显示了其后的表中的一些选项;可以使用添加设置选项卡和X按钮分别添加或删除选项。

高级设置选项及其用途如 Nessus 文档中所述,均在以下表中提及:

新插件规则选项 描述 默认值
允许后扫描编辑 如果启用,可以进行后扫描编辑。
auto_enable_dependencies 自动激活依赖于它的插件。如果禁用,尽管在扫描策略中选择了所有插件,但可能不会运行所有插件。
自动更新 控制自动插件更新。如果启用并且 Nessus 已注册,它将自动从 plugins.nessus.org 获取最新的插件。如果扫描仪位于无法连接到互联网的隔离网络上,则禁用。
auto_update_delay 两次更新之间等待的小时数。四小时(4)是允许的最小间隔。 24
cgi_path 在测试 Web 服务器时,使用冒号分隔的 CGI 路径列表。 /cgi-bin:/scripts
checks_read_timeout 允许您指定测试套接字的读取超时时间。 5
disable_ntp 禁用旧的 NTP 遗留协议。
disable_xmlrpc 禁用新的 XMLRPC(Web 服务器)接口。
Dumpfile 允许您指定调试输出的转储文件位置(如果生成)。 C:\ProgramData\Tenable\Nessus\nessus\logs\nessusd.dump
global.max_hosts 可以扫描的最大主机数。 130
global.max_scans 如果设置为非零,这允许您定义可以并行进行的最大扫描次数。 0
global.max_simult_tcp_sessions 最大同时 TCP 连接数。 50
global.max_web_users 如果设置为非零,这定义了可以并行连接的(Web)用户的最大数量。 1024
listen_address 用于侦听传入连接的 IPv4 地址。如果设置为 127.0.0.1,这将仅限制对本地连接的访问。 0.0.0.0
listen_port 用于侦听(旧的 NTP 协议)的端口。用于 4.2 版本之前的 NessusClient 连接。 1241
log_whole_attack 允许您记录攻击的每个细节,有助于调试扫描中的问题,但这可能会占用磁盘空间。 No
Logfile Nessus 日志文件的存储位置。 C:\ProgramData\Tenable\Nessus\nessus\logs\nessusd.messages
max_checks 对每个已测试主机的最大同时检查次数。 5
max_hosts 扫描期间一次检查的最大主机数。 5
nasl_log_type 指导nessusd.dump中 NASL 引擎输出的类型。 Normal
nasl_no_signature_check 允许您指定 Nessus 是否应将所有 NASL 脚本视为已签名。选择 Yes 是不安全的,不建议使用。 No
non_simult_ports 允许您指定不应同时运行两个插件的端口。 139, 445, 3389
optimize_test 允许您优化测试过程。将其更改为 No 会导致扫描时间更长,通常会产生更多的误报。 Yes
plugin_upload 允许您指定管理员用户是否可以上传插件。 Yes
plugins_timeout 插件活动的最长生命周期(以秒为单位)。 320
port_range 端口扫描器将扫描的端口范围。可以使用关键字DefaultAll,以及逗号分隔的端口或端口范围的列表。 Default
purge_plugin_db 允许您指定 Nessus 是否应在每次更新时清除插件数据库。这将指示 Nessus 在每次更新时删除、重新下载和重建插件数据库。选择Yes将导致每次更新都要慢得多。 No
qdb_mem_usage 指示 Nessus 在空闲时使用更多或更少的内存。如果 Nessus 在专用服务器上运行,将其设置为High将使用更多内存以提高性能。如果 Nessus 在共享机器上运行,将其设置为Low将使用更少的内存,但以适度的性能影响为代价。 Low
reduce_connections_on_congestion 允许您在拥塞情况下减少连接。 No
report_crashes 允许您指定是否匿名报告崩溃给 Tenable。 Yes
Rules Nessus 规则文件(nessusd.rules)的位置。 C:\ProgramData\Tenable\Nessus\conf\nessusd.rules
safe_checks 安全检查依赖于横幅抓取而不是主动测试漏洞。 Yes
silent_dependencies 如果启用此选项,则插件依赖项列表及其输出将不包括在报告中。插件可能被选择为依赖于其他插件运行的策略的一部分。默认情况下,Nessus 将运行这些插件依赖项,但不会在报告中包括它们的输出。将此选项设置为No将导致所选插件和任何插件依赖项都出现在报告中。 Yes
slice_network_addresses 如果设置了此选项,Nessus 将不会逐步扫描网络(10.0.0.1,然后 10.0.0.2,然后 10.0.0.3,依此类推),而是尝试在整个网络中切分工作负载(例如,它将扫描 10.0.0.1,然后 10.0.0.127,然后 10.0.0.2,然后 10.0.0.128,依此类推)。 No
ssl_cipher_list 确保在连接到端口 1241 时只使用“强大”的 SSL 密码。支持关键字 strong 或通用的 OpenSSL 指定,如 www.openssl.org/docs/apps/ciphers.html 中列出的。 强大
stop_scan_on_disconnect 允许您停止扫描似乎在扫描期间已断开连接的主机。
stop_scan_on_hang 允许您停止似乎挂起的扫描。
throttle_scan 当 CPU 过载时,节流扫描会起作用。
www_logfile 允许您指定 Nessus web 服务器(用户界面)日志的存储位置。 C:\ProgramData\Tenable\Nessus\nessus\logs\www_server.log
xmlrpc_idle_session_timeout Nessus 的空闲会话超时时间。 30
xmlrpc_listen_port Nessus web 服务器监听的端口(新的 XMLRPC 协议)。 8834

所有这些高级设置在应用之前都需要进行适当的分析。推荐的设置可能因环境而异。

本章的一些部分,即特定配置设置,已经引用了 Nessus 网站上可用的学习材料:www.tenable.com

总结

在本章中,我们学习了漏洞评估和渗透测试的基础知识,并对 Nessus 进行了介绍。

VA 和 PT 是关键的技术风险评估类型,其中 VA 专注于发现基础设施中的弱点或漏洞,而 PT 则进一步利用这些漏洞。

此类评估是作为预防控制进行的,以识别和减轻漏洞或满足各种合规性要求。此类测试的关键活动包括范围界定、信息收集、漏洞扫描、误报分析、漏洞利用(渗透测试)和报告生成。范围界定包括对黑盒(对基础设施没有信息)和灰盒(共享凭据和基础设施详细信息)测试的不同方法。

在本章中,我们还对 Nessus 进行了介绍,作为广泛使用的漏洞扫描器之一。它使用安全检查(称为插件),在扫描期间识别漏洞。关键的插件系列包括 Windows、Linux、Solaris、Cisco 和数据库。多年来,Nessus 还增加了配置和合规性检查等功能,除了漏洞扫描器的主要功能。

Nessus 可以安装在所有主要操作系统上,本章还提到了在 Windows 7 和 Linux 操作系统上安装 Nessus 的详细步骤以及先决条件。

在初始设置期间,创建了初始管理员帐户以便作为管理员登录 Nessus,并根据要求激活了家庭或专业订阅。

接下来是更新插件。还解释了离线更新插件的选项。Nessus 提供了一个用户管理部分,用于创建 Nessus 用户并为将来使用授予这些权限。最后,介绍了 Nessus 系统配置设置,如Feed SettingsMobile SettingsAdvanced Settings

在下一章中,我们将学习如何使用 Nessus 扫描 IT 基础设施。

第二章:扫描

漏洞扫描,或者换句话说,识别目标基础设施中的漏洞,是任何漏洞扫描器(如 Nessus)执行的关键活动。在使用这些扫描器执行漏洞评估时,配置扫描参数非常重要,要以最有效的方式考虑目标基础设施。这将导致在优化的扫描时间内获得最有效的扫描结果。

本章将介绍如何设置 Nessus 进行漏洞扫描。 Nessus 中的扫描配置包括两个主要步骤,即配置扫描策略和使用配置的策略启动扫描。本章将涵盖的关键领域如下:

  • 扫描先决条件

  • 策略配置

  • 凭证和非凭证扫描

  • 扫描配置

  • 扫描执行和结果

扫描先决条件

成功的漏洞扫描需要正确设置 Nessus 并满足一些先决条件。这将确保所有批准都有记录,所有备份都就位,并且在扫描之前已经达成了扫描窗口的协议。如果防火墙在 Nessus 和目标之间阻止流量/数据包,Nessus 将无法到达目标。

现在我们将看到最常见的先决条件,这些先决条件适用于大多数 Nessus 扫描;但是,我鼓励您根据您的扫描环境和组织的适用性进行分析。

基于扫描的目标系统管理员凭证

始终建议使用凭证扫描以获得更好的结果;这意味着在扫描目标系统之前,您应该获取目标系统的凭证,或者有人可以在开始扫描之前在 Nessus GUI 中输入目标系统的管理凭证,而不与您分享。这将帮助 Nessus 更多地探测目标系统,以发现最大的漏洞。如果您正在执行无凭证扫描,即您将无法访问凭证,这个特定的先决条件不适用。

无防火墙的直接连接

建议 Nessus 与目标系统直接连接以获得更好的结果;这意味着 Nessus 和目标系统之间不应该有防火墙或任何其他阻止流量的设备。如果 Nessus 和目标系统之间有防火墙,则应配置防火墙规则以允许 Nessus 和目标系统之间的所有流量。不要忘记在扫描完成后立即删除或停用此规则。这是因为 Nessus 会向目标系统生成大量恶意数据包/流量来探测漏洞。如果有防火墙存在,这将阻止所有这些恶意数据包到达目标系统。

同意的扫描窗口

目标系统的所有者可以告诉您漏洞扫描的最佳时间,具体取决于目标系统的高峰和低峰负载。这个合适的时间窗口称为扫描窗口。如果您在生产系统上运行扫描,与目标系统所有者达成扫描窗口协议非常重要。建议在目标系统负载最低的非高峰时段运行 Nessus 扫描。

扫描批准和相关文件工作

与目标系统所有者进行清晰的讨论非常重要,让他们了解由于恶意扫描可能发生的影响,这可能是侵入性扫描,也可能不是。每一方都应该了解进行漏洞扫描的风险并同意。这应该为法律目的记录下来。此外,每个进行漏洞评估或渗透测试的团队成员都应该签署一份保密协议。

包括数据和配置的所有系统备份

在进行扫描之前,重要的是对目标系统进行完整备份。这将确保如果由于漏洞扫描而导致目标机器出现问题,最新的备份可以立即恢复以使目标机器恢复正常。备份管理员应确保他们执行完整备份,其中包括所有数据、配置、集成信息、代码、发布说明等。

更新 Nessus 插件

在运行扫描之前,应更新 Nessus 插件的最新定义;这将确保您的 Nessus 加载了所有最新的检查项,以发现最新的漏洞。

根据目标系统的操作系统和信息创建扫描策略

在运行扫描之前,应根据目标系统的操作系统和环境配置扫描策略。策略应相应地在 Nessus 中进行配置。如何创建策略在本章的下一节中有详细说明。

配置扫描策略以检查组织的安全策略合规性

每个组织都有自己的安全策略。Nessus 提供了根据组织策略定制扫描策略的能力;例如,密码复杂性。在配置 Nessus 策略时,您应该小心地根据目标组织的密码策略定制密码策略。一个组织的密码策略可能会说,如果密码长度小于六个字符,则任何配置的密码都不符合规定,而其他组织可能会说,小于八个字符是不符合规定的。在运行扫描之前,Nessus 允许您根据您的要求定制策略。

收集目标系统的信息

在上一章中,我们看到了漏洞评估的不同阶段。扫描之前的一个阶段是信息收集,这又是扫描阶段的先决条件。您应该从公共网站、互联网和内部员工(在内部扫描或灰盒扫描的情况下)收集所有可能的信息。这些信息对于调整您的 Nessus 扫描策略以配置或选择所需的检查项是有用的,这些信息是基于您获取的有关目标系统的信息,也有助于映射网络以包括 IP 地址。

足够的网络带宽来运行扫描

使用良好的网络带宽运行扫描非常重要;如果在低带宽上运行扫描,可能会出现数据包在中途丢失的情况,扫描可能会中断。为了避免所有这些情况,建议在有良好网络带宽时运行扫描。这也将帮助您及时完成扫描。

目标系统支持人员

建议有目标系统管理员或专家支持人员来分析目标系统的健康和性能。如果他们在扫描窗口期间可用,他们可以持续监控目标系统并发出警报。如果系统表现不佳,停止扫描;或者如果出现问题,可以恢复系统。

策略配置

策略配置是在扫描之前执行的主要步骤。策略配置简单地意味着根据目标基础设施为 Nessus 设置最优化的扫描配置。

在设置策略时可以配置的关键参数如下:

  • 策略的名称

  • 所需的端口扫描类型

  • 扫描性能,例如每次并行扫描的最大检查次数等,这将决定扫描时间

  • 为被本地扫描的基础设施输入凭据的选项

  • 选择最合适的插件的选项

  • 提供不同下拉选项的高级首选项,以选择配置以进一步微调策略,具体取决于目标;例如,数据库合规性检查、Cisco IOS 合规性检查等

策略配置

Nessus 提供了一个选项,如果您已经从其他地方获得了扫描策略,可以上传扫描策略。同样,还提供了导出和复制现有策略的选项。如果您有多个 Nessus 系统,可能希望使用导出和上传选项在所有 Nessus 系统上拥有相同的策略。如果您不再使用某个策略,也可以删除该策略。

默认策略设置

默认情况下,Nessus 扫描仪中预加载了四个默认策略模板;这些模板将使用户能够使用这些基本策略开始扫描,并了解典型策略配置的外观,或根据我们的要求进行自定义。

默认策略如下所示:

  • 外部网络扫描

  • 内部网络扫描

  • PCI DSS 审计策略

  • Web 应用程序测试策略

这些策略是不言自明的。如果要扫描外部网络,请使用外部网络扫描策略;如果要扫描内部网络,请使用内部网络扫描策略;如果要进行 PCI DSS 目的的扫描,请使用 PCI DSS 审计策略;最后,如果要扫描应用程序以查找与 Web 应用程序相关的漏洞,例如跨站请求伪造、跨站脚本和 SQL 注入,请使用 Web 应用程序测试策略。

建议使用这些默认策略作为基本模板来创建自己的定制策略。您可能希望复制现有的默认策略,并根据您的扫描要求将其保存为新名称。

新策略创建

下一节将使您熟悉在 Nessus 中设置扫描策略时可用的不同选项。要开始配置新的扫描策略,请在策略选项卡下单击+新策略选项。在此选项卡下,有四个策略设置选项可用,即常规设置凭据插件首选项

常规设置

常规设置选项卡使用户能够设置一般信息,例如扫描名称、扫描设置类型和描述。此设置下可用的设置包括基本、端口扫描、性能和高级。

基本设置包括以下选项:

  • 名称:此选项允许为策略分配一个唯一名称

  • 可见性:此选项允许与他人共享策略或保留私人使用;只有管理员用户可以共享策略

  • 描述:此选项提供了一个选项,可以为将来参考向策略添加描述;例如,为数据库扫描配置的策略的描述可以更新为用户可以回忆和根据其设置目的使用策略的方式

  • 允许端口扫描报告编辑:此选项允许您在端口扫描后删除报告中的项目;通常,在从合规性角度进行扫描时,应禁用此选项,以展示报告未被篡改,如下截图所示:

常规设置

端口扫描设置包括以下选项:

  • 端口扫描范围:指定要扫描的端口数量。默认表示 Nessus-services 文件中找到的 4,790 个常见端口,ALL表示所有 65,365 个端口。也可以使用-符号指定特定的端口范围。还可以使用t:u:后跟端口范围在同一策略中扫描 TCP 和 UDP 的不同端口范围。可以使用逗号符号指定同一策略中 TCP/UDP 的不同端口范围;例如,T 90;1000,U:350-400

  • 将未扫描的端口视为关闭:如果在策略中选择了此选项,如果 Nessus 无法扫描端口,Nessus 将将端口视为关闭。

  • Nessus SNMP 扫描器:它允许 Nessus 在扫描时针对 SNMP 服务进行目标定位;这通过在策略的首选项部分添加 SNMP 设置来补充,以获得更好的扫描结果。

  • netstat 端口扫描器(SSH):此选项使用 SSH 连接上可用的netstat命令来查找 UNIX 系统中的开放端口。此命令需要身份验证凭据。

  • 对远程主机进行 ping:此选项通过对端口进行 ping 来帮助找到活动系统。根据 ping 的响应,Nessus 将确定端口是否开放。

  • Netstat 端口扫描器(WMI):此选项使用 WMI 连接上可用的netstat命令来查找 Windows 系统中的开放端口。此命令需要身份验证凭据。

  • Nessus TCP 扫描器:此选项是 Nessus 内置的选项,用于查找开放的 TCP 端口。

  • Nessus SYN 扫描器:此选项使用 Nessus 内置的 SYN 扫描功能来识别开放端口。

常规设置

性能设置包括以下选项:

  • 每个主机的最大检查数:此选项使 Nessus 能够对单个目标机器同时启动的检查数量进行限制。

  • 每次扫描的最大主机数:此选项使 Nessus 能够并行扫描最大数量的主机。

  • 网络接收超时(秒):此选项显示 Nessus 将等待主机响应的最长时间。默认情况下,此值设置为 5 秒,并且也可以被特定插件中提到的值所取代。在连接缓慢的情况下,可以将其设置为更高的值。

  • 每个主机的最大同时 TCP 会话数:此选项限制了对单个目标机器的最大 TCP 会话数。

  • 每次扫描的最大同时 TCP 会话数:此选项限制了整个扫描期间的最大 TCP 会话数,无论扫描了多少目标机器。

  • 在拥塞时减少并行连接:此选项使 Nessus 能够减少在网络上发送的数据包数量,以避免网络带宽被占满。

  • 使用内核拥塞检测(仅限 Linux):此功能适用于部署在 Linux 上的 Nessus 扫描器。一旦启用此选项,Nessus 将监视 CPU 和其他内部参数,并相应地修改资源利用情况。

高级设置包括以下选项:

  • 安全检查:此选项禁用可能对目标机器产生影响的插件。选择此选项对运行安全扫描非常重要。

  • 静默依赖:如果选中此选项,将包括报告中未列出的依赖项。

  • 将扫描详细信息记录到服务器:此选项将额外的信息记录到 Nessus 服务器日志中;这有助于从插件的角度评估扫描,也就是说,它有助于确定是否启动和使用了特定的插件。

  • 断开连接时停止主机扫描:如果启用此选项,如果 Nessus 感觉到目标机器没有对发送的数据包做出响应,它将停止扫描目标机器。这可能是由于某种原因,例如目标机器被关闭或者对目标机器的流量被阻止。

  • 避免顺序扫描:可以向 Nessus 提供一组在扫描范围内的主机列表;如果选择了此选项,Nessus 将以随机方式进行扫描,而不是按顺序进行。

  • 按其 DNS 名称指定主机:此选项使得在扫描后准备的报告中使用主机名,而不是目标机器的 IP 地址。

凭证扫描

Nessus 提供了一个执行有凭证或认证扫描的功能。使用此选项,Nessus 能够登录到本地系统,查找本地系统级别的漏洞,如缺失的补丁和操作系统设置。通常,在网络上进行非凭证扫描时,Nessus 不会突出显示这些漏洞。简而言之,凭证扫描选项有助于在使用提供的凭证登录系统后找到系统的本地漏洞。凭证扫描执行与系统的本地用户相同的操作;这取决于 Nessus 使用的本地用户账户被授予的访问级别。

以下截图显示了为Windows 凭据SSH 设置Kerberos 配置明文协议设置配置凭证扫描的选项:

有凭证的扫描

Windows 凭据选项

在 Windows 凭据选项下,Nessus 捕获了服务器消息块SMB)配置详细信息。SMB 是一种文件共享协议,将帮助 Nessus 发现 Windows 系统中的本地漏洞。建议始终使用具有管理员权限的帐户以获得凭证扫描的最佳可能结果。

Windows 用户名、密码和域

SMB 域字段是可选的,Nessus 将能够使用域凭据登录而无需此字段。用户名、密码和可选域指的是目标机器知道的一个账户。

即使不使用凭证,Nessus 也会尝试使用以下组合登录到 Windows 服务器:

  • 没有密码的管理员

  • 一个随机的用户名和密码,用于测试访客账户

  • 没有用户名或密码来测试空会话

Nessus 支持多种不同类型的 Windows 系统认证方法。每种方法都需要用户名、密码和域名(有时对于认证是可选的)。设置选项使您能够指定使用 NTLM 或 Kerberos 选项。

Windows 用户名、密码和域

SSH 设置选项

从下拉菜单中选择SSH 设置选项,允许您输入用于扫描 UNIX 系统的凭据。凭据用于从远程 UNIX 系统获取本地信息。用于输入帐户的 SSH 用户名的字段将执行对目标 UNIX 系统的检查,以及 SSH 密码或 SSH 公钥和私钥对。如果需要,还有一个用于输入 SSH 密钥的密码短语字段。

提供的凭证具有root权限时,最有效的凭证扫描是那些。由于许多站点不允许远程登录为root,Nessus 用户可以使用susudosu+sudodzdo,并为已设置为具有susudo权限的帐户单独设置密码。

如果有一个 SSH known_hosts文件,并且作为扫描策略的一部分提供,Nessus 将只尝试登录到此文件中的主机。首选的 SSH 端口可以设置为指示 Nessus 连接到 SSH,如果它运行在除 22 端口之外的端口上。如果要使用特权升级的帐户(而不是 root),可以在使用特权升级下提到。

最佳实践建议使用 SSH 密钥进行身份验证,而不是 SSH 密码。这将确保用于审核 SSH 服务器的相同用户名和密码不会用于尝试登录到可能不受您控制的系统。

SSH 设置选项

Kerberos 配置选项

Kerberos 配置选项允许您使用远程系统的 Kerberos 密钥指定凭据。

明文协议设置选项

如果没有安全加密选项来进行凭据扫描,Nessus 提供了在telnetrshrexec上进行明文协议扫描的功能。在这个选项中,密码在明文通道中不安全地传输。此选项还允许您检查修补级别。

明文协议设置选项

插件

插件是 Nessus 用于漏洞检查的文件。这些插件会定期更新,以包含最新的漏洞检查。

插件被分成产品系列,以便准确有效地将相似的插件分组在一起。因此,通过选择适当的插件系列,可以有效地启用或禁用大量适用/不适用的插件,并且点击量最小。

此外,Nessus 会在发布新漏洞时发布新的插件。

以下屏幕截图显示了“策略插件配置”窗口的外观:

插件

以下表格表示插件颜色及其含义。基本上,这表示从特定插件系列中启用的插件数量。

颜色 含义
绿色 表示该系列中的所有插件都已启用。
灰色 表示该系列中的所有插件都已禁用。
蓝色 表示混合选择,在插件系列中,一些插件被选中,一些被取消选中。

所选插件的详细信息也将在报告中表示,以反映由特定插件导致的漏洞。

过滤

在“插件”页面的顶部,有一个过滤选项可用。此选项允许通过应用过滤器选择启用策略的插件。

过滤

可以通过使用“添加过滤器”和“清除过滤器”按钮来添加和删除过滤器。Nessus 还提供了“匹配”选项,包括“任何”和“全部”。 “任何”选项表示满足指定的任何一个过滤器选项。 “全部”选项表示应指定整个过滤器条件。

通过使用过滤选项,可以选择最优化的扫描插件。同时,建议首先显示所有过滤器,然后使用过滤选项应用策略。

可以在Tenable 文档中查看不同插件系列和过滤标准的详细信息:

“拒绝服务”系列包含一些插件,如果未启用“安全检查”选项可能会导致网络中断,但也包含一些有用的检查不会造成任何伤害。可以将“拒绝服务”系列与“安全检查”一起使用,以确保不运行任何潜在危险的插件。但是,建议不要在生产网络上使用“拒绝服务”系列。

首选项

首选项是 Nessus 策略的更深层设置,具有动态性质。动态意味着下拉菜单中的选项可能会根据插件和许可证的变化而变化。

这些设置可以由创建扫描策略的人根据目标系统的要求选择。例如,如果您计划扫描数据库,那么在创建策略时,从“首选项”下拉菜单中选择“数据库设置”。这个特定的设置允许您输入数据库详细信息和数据库凭据,以进一步探测数据库。这将使您的 Nessus 扫描发现更多的漏洞。

我建议查看 Nessus 网站www.tenable.com,了解最新的设置及其解释。

扫描配置

读者在跳转到本节之前需要按顺序阅读本章。在前面的章节中,我们已经解释了在运行扫描之前应该注意的先决条件。还讨论了如何根据目标组织的安全策略配置和定制扫描策略,以及凭据扫描和非凭据扫描之间的区别。

配置新的扫描

如何启动和执行扫描在本节中有所说明。为了启动扫描,我们假设在本章中先前提到的扫描先决条件已经执行。要启动扫描,请使用您的 Nessus 凭据登录 Nessus,并从 Nessus 的最上方栏中单击扫描队列

扫描队列栏有两个按钮,分别是新扫描选项,后者是一个下拉菜单,提供了恢复扫描、暂停扫描或停止运行中扫描的选项。单击新扫描按钮启动新的扫描。

最左侧面板有两个选项,一个是常规设置,另一个是电子邮件设置。

常规设置

常规设置是新扫描的设置,例如扫描的名称是什么,您是否要立即运行它或将其保存为模板,以便以后运行哪个扫描或者您可能想要安排扫描在指定的时间进行,以及在哪个扫描中将自动进行。您还可以从策略的下拉菜单中选择要用于此新扫描的策略。此外,这是您提供要扫描的 IP 的地方。这还为您提供了上传文件的能力,该文件包含要在此新扫描期间扫描的 IP 列表。

常规设置

以下表格描述了前面截图中给出的设置:

常规扫描设置 描述
名称 您想如何命名您的扫描

| 类型 | 这在下拉菜单中有以下三个选项:

  • 立即运行: 如果您想立即运行扫描

  • 模板: 如果您想将扫描保存为模板,以便以后运行

  • 定时: 如果您想要在指定时间安排扫描,扫描将在此时间自动启动

|

策略 这又是一个下拉菜单,列出了您所有的 Nessus 扫描策略。我们在前一节中讨论了如何创建策略。应该从下拉菜单中选择此策略,该策略将用于扫描。
扫描目标 所有需要扫描的 IP 应在此列出。
上传目标 如果您有一个文本文件,其中包含要扫描的 IP 列表,可以在 Nessus 中导入相同的文件。

最后,您有一个运行扫描按钮,将启动扫描。

电子邮件设置

如果您的 Nessus 配置了 SMTP 服务器,则可以为扫描配置电子邮件设置。这用于在完成后自动通过电子邮件发送扫描结果。可以在收件人输入框中输入收件人的电子邮件 ID。还可以配置报告过滤器。在这种情况下,如果报告过滤器匹配,结果将通过电子邮件发送给收件人,如下图所示:

电子邮件设置

以下表格描述了前面截图中给出的设置:

电子邮件扫描结果设置 描述
收件人 您想要自动发送扫描结果的电子邮件收件人的电子邮件 ID 应在此处输入。
报告过滤器 可以在此处配置报告过滤器以匹配特定条件或过滤器。如果匹配,结果的自动电子邮件将触发给收件人。

最后,您有一个运行扫描按钮,将启动扫描。

扫描执行和结果

在前一节中,我们已经看到了如何启动扫描。一旦单击运行扫描,扫描就会进行。

已完成扫描的结果可以在结果选项卡下查看。双击扫描结果将打开特定扫描结果的详细视图。这有三个不同的选项卡,即主机漏洞导出结果。在主机选项卡下,可以查看主机摘要。这包括漏洞的严重性计数(关键,高,中,低和信息性)。

以下截图显示了一个被扫描的主机,该主机有 37 个关键漏洞,130 个高风险漏洞,140 个中风险漏洞,0 个低风险漏洞和 49 个信息性漏洞:

扫描执行和结果

下一个选项卡是漏洞;这显示了每个漏洞的风险严重程度的漏洞摘要。双击任何漏洞将带您进入该漏洞的详细视图,其中包括概要,描述,解决方案,漏洞网页链接,插件信息,风险信息,漏洞信息,参考信息,插件输出等。详细视图中还提供了风险严重性修改选项。

最后一个选项卡是导出结果;这提供了在不同格式(如 HTML,PDF 和 CSV)中导出 Nessus 扫描结果报告的选项。还可以从以下选项中选择要包含在报告中的内容:

  • 主机摘要和执行摘要

  • 按主机分类的漏洞

  • 按插件分类的漏洞

  • 合规性检查执行

  • 合规性检查

可以根据要求选择其中一个或多个选项。

本章的部分内容参考了 Nessus 网站上提供的学习材料:www.tenable.com

摘要

在本章中,我们学习了如何设置 Nessus 进行漏洞扫描。Nessus 中的扫描配置包括两个主要步骤,即配置扫描策略和使用配置的策略启动扫描。

扫描前提条件包括决定扫描范围,获得批准,决定扫描窗口,更新插件,备份,确保正确的网络访问,确定联系点,并决定使用凭据或非凭据扫描。

在先决条件中,第一个关键步骤是设置扫描策略,其中将包括四个默认策略模板(外部,内部,PCI DSS 和 Web 应用程序)。Nessus 还提供了使用新策略选项创建自定义策略的选项。

在创建新策略时有四个设置选项,即常规设置高级设置(包括策略名称,可见性,端口扫描选项,扫描性能和安全检查),凭证扫描(使用此选项,Nessus 能够登录到本地系统以查找本地系统级别的漏洞,如缺失的补丁和操作系统设置)。此部分解释了为不同基础架构添加凭据的选项,插件(包括根据扫描范围的基础架构类型选择正确的安全检查系列,如 Windows,Cisco 和数据库)。应避免使用拒绝服务插件,除非有特别要求,因为它可能导致停机。首选项菜单包括更高级别的设置,应根据扫描的基础架构进行配置。

策略设置后是实际扫描;关键活动包括选择新扫描,常规设置选项包括扫描的名称类型策略,可以是默认或自定义的,以及扫描目标,包括要扫描的基础架构的 IP(可以使用文本文件)。还解释了如何在扫描完成后通过邮件发送扫描结果。最后,简要解释了从结果选项卡检索扫描结果的选项。

在下一章中,我们将学习如何进行扫描结果分析,内容涵盖了假阳性分析、漏洞分析、利用漏洞等等。

第三章:扫描分析

漏洞扫描分析是扫描的下一步。为了使漏洞扫描评估成功和有效,准确分析漏洞是绝对必要的。由于大多数扫描仪产生的扫描输出与其存储库中可用的漏洞插件一致,因此强烈建议进行人工分析,以避免误报和误报。一般来说,误报或误报代表漏洞在扫描输出中要么被错误报告,要么根本没有报告的情况。定义如下:

  • 误报:更常见的是,这个术语意味着在系统中报告为活动的漏洞实际上并不存在;这意味着这可能是错误的漏洞报告的结果

  • 误报:漏洞扫描中的输出基本上意味着实际基础设施中存在的漏洞在扫描输出中未报告

在本章中,我们将学习如何有效分析 Nessus 扫描结果的输出,内容涵盖以下主题:

  • 结果分析

  • 误报分析

  • 漏洞分析

  • 漏洞利用

结果分析

在本书的上一章中,我们学习了如何执行和保存扫描结果。本节介绍了如何阅读和解释 Nessus 扫描报告。为了举例说明,我们使用了一份 Linux 系统漏洞的样本报告。我们用于参考的报告以 HTML 格式保存,并包括了在保存报告时选择的“主机摘要”、“按主机分类的漏洞”和“按插件分类的漏洞”等详细信息。

报告解释

Nessus 提供不同的选项,如 HTML、PDF 和逗号分隔值(CSV)来保存报告。在保存报告时,为了获得漏洞或主机的摘要和详细信息,应选择这两个选项。

以下屏幕截图显示了 HTML 格式的典型 Nessus 扫描报告:

报告解释

主机摘要(执行)

主机摘要(执行)部分将包括针对每个关键类别的漏洞的数量,以及每个漏洞的摘要详细信息;其中包括以下内容:

  • 严重性(与 CVSS 分数一起的严重性评级):这定义了观察到的漏洞有多严重

  • 插件 ID:这是用于检查发现的漏洞的插件的唯一标识符

  • 名称:显示漏洞的名称

以下屏幕截图显示了显示主机摘要的样本报告:

主机摘要(执行)

按主机分类的漏洞

报告的“按主机分类的漏洞”部分提供了每个主机漏洞发现的摘要。摘要提供了有关扫描运行时间、扫描主机的基本详细信息以及按关键级别分组的漏洞数量的详细信息。

以下屏幕截图是显示主机摘要的样本报告:

按主机分类的漏洞

前面的屏幕截图显示了“按主机分类的漏洞”选项,包括以下部分:

  • 扫描信息:此部分以日期/时间/年份格式显示了扫描的开始时间和结束时间。

  • 主机信息:此部分显示 DNS 名称、IP、MAC 地址和操作系统。

  • 结果摘要:此部分按 Nessus 分配的关键性评级对漏洞进行了分组,给出了漏洞的数量。这些类别包括关键、高、中、低和信息。它还显示了 Nessus 报告的漏洞总数。

提示

通用漏洞评分系统(CVSS)

根据评分系统,Nessus 使用通用漏洞评分系统CVSS)对漏洞进行评分。这是一个基于漏洞特征和影响的开放源漏洞评级系统。它包括漏洞的固有特征、随时间变化的漏洞特征以及特定于环境的漏洞特征等参数。有关详细信息,请访问www.first.org/cvss/cvss-guide

以下表格列出了 Nessus 使用的基于漏洞评级的 CVSS 分数。如本章前面所述,Nessus 报告的评级可以进一步分析如下:

CVSS 分数 严重性
0 信息
<4
<7
<10
10 严重

注意

CVSS 分数是从互联网上的不同内容引用的,包括 Nessus 用户指南,可在www.tenable.com找到。

插件漏洞

插件漏洞部分包含有关漏洞的所有相关详细信息。以下部分显示了一张截图,其中包含了描述漏洞的详细信息以及对每个字段的简要解释。

以下截图仅用于说明目的;其他参考链接和通用漏洞和暴露CVE)已被删除:

插件漏洞

以下截图显示了报告中的参考CVSS 基础分数

插件漏洞

以下截图显示了插件信息部分:

插件漏洞

在前面的截图中捕获的漏洞详细信息如下:

漏洞参数 详细信息
概要 本部分显示了漏洞的关键特征。例如,在这里,概要部分描述了缺失的安全补丁。
描述 本部分提供了有关漏洞的详细信息,并包括由于已识别漏洞而存在的关键安全问题。例如,在截图中提到了由于缺失补丁而存在的关键安全问题以及 CVE 编号。此部分还涵盖了高级别的建议。
另请参阅 本部分包含供更好理解组件/基础设施供应商发布的问题的参考链接(如果有)。
解决方案 本部分提供了漏洞缓解的建议。
风险因素 本部分显示了已识别漏洞的风险评级。例如,严重
CVSS 基础分数 本部分显示了基于该分数计算风险评级的 CVSS 分数。
参考 本部分显示了观察到的问题的 CVE 和 CWE 信息。XREF 是与漏洞相关的其他信息源的交叉引用。
插件信息 本部分显示了使找到此漏洞的插件的详细信息。
主机 本部分显示了观察到此漏洞的主机的 IP 地址,以及有关观察到漏洞的基础设施的当前和建议详细信息。

提示

通用漏洞和 暴露CVE)是公开已知的安全漏洞和暴露的数据库。每个漏洞都被分配一个唯一的 CVE 编号,该编号在 Nessus 报告中进行交叉引用,以提供有关漏洞的进一步详细信息。有关更多信息,请参阅cve.mitre.org

通用弱点枚举CWE)是一本常见弱点类型的词典,提供了各种常见漏洞的详细信息。Nessus 也参考了这一点,以更好地理解漏洞。有关更多信息,请参阅cwe.mite.org

错误阳性分析

错误阳性是指任何扫描工具突出显示的问题或漏洞,但实际上并不存在于目标系统中。错误阳性率因工具而异;以下是可以考虑进行错误阳性分析的一些常见指针。

了解组织的环境

以下是组织的基本理解,将有助于错误阳性分析:

  • 基本的组织基础设施细节,如网络布局、基础设施、操作系统、应用程序和使用的技术,将有助于根据实际实施的技术和版本交叉检查漏洞评估(VA)结果,以消除错误阳性

  • 在 VA 扫描周期中使用内部基础设施的情况下,这在这些细节是 readily available 时将更有益

  • 在作为外部顾问进行限时扫描的情况下,很难获得所有这些细节。在这种情况下,作为预先参与的先决条件的一部分,可以寻求访问相关基础设施利益相关者,以了解技术细节

目标关键漏洞

在存在大量漏洞的情况下,至少应该交叉验证最关键的漏洞,以避免误报。

概念验证

如果可以访问进行 VA 扫描的服务器/设备,可以通过登录服务器或尝试针对漏洞提供概念验证来交叉检查漏洞。例如,如果漏洞说明服务器上正在运行明文文件传输协议FTP)或 Telnet 服务,我们可以登录服务器以交叉检查这些服务是否实际在运行,或者尝试从测试机器连接 FTP 或 Telnet 协议来提供概念验证。

端口扫描工具

诸如Nmap之类的开源扫描工具也可以用于再次枚举基础设施,以交叉检查 VA 报告的发现的开放漏洞。

工作量估计

由于工作量估计是一项耗时的活动,应考虑额外的工作量和资源,以包括去除错误阳性。此外,基于参与规模和性质,应该做出实际的决定,定义将进行此活动的程度。

漏洞分析

在一般术语中,漏洞分析被认为与漏洞评估类似。然而,我觉得这两者之间有一点小小的区别。漏洞分析是漏洞评估周期的一部分,您在其中识别漏洞,量化风险,并确定风险的优先级。漏洞分析调查了漏洞评估工具检测到的漏洞。

应该注意,漏洞分析是一个可选步骤,取决于漏洞评估工具的能力、扫描环境、深入分析等。应考虑所有这些因素进行漏洞调查。如今,大多数漏洞评估工具提供无或最小的错误阳性的自动报告。Nessus 就是其中之一。

当由安全运营中心SOC)或内部安全部门进行漏洞评估时,你可能不想花太多精力进行手动分析,而更倾向于将所有扫描结果交给不同的团队进行漏洞关闭。在这种情况下,你可能不太关心漏洞的严重性等。如果我们谈论另一种情况,你作为第三方审计师与一家公司合作,并进行漏洞评估,那么在这种情况下,你向公司报告的每个漏洞都将被严肃对待,并且必须对漏洞的存在、严重性、适用性等有适当的理由。

在这一部分,我们将探讨之前提到的第二个场景,即第三方顾问为客户进行审计或技术漏洞评估的情况,其中漏洞报告需要在适用性、风险严重性、环境依赖性和没有误报方面都是完美的。

一旦你从 Nessus 等漏洞扫描器获得扫描结果报告,你可以对每个漏洞进行详细审查,至少检查以下几个方面:

  • 误报

  • 风险严重性

  • 适用性分析

  • 修复建议

误报

本章的第二部分详细介绍了误报分析。

风险严重性

风险严重性是与每个漏洞相关的风险严重性,取决于环境和业务性质。风险严重性可以是定量的或定性的。一般来说,最好并且在行业上被认可的是使用定性的风险严重性。风险可以被分类为关键信息。一些组织只将它们分类为中等

大多数通过不同的安全认证(如 ISO 27001)的大型企业都有定义好的风险管理流程。这些风险管理流程定义了他们的风险严重性以及其定义、风险矩阵、风险接受标准等。在进行漏洞评估时,如果你遵循风险矩阵,可能需要重新分类风险严重性评级。

例如,一个组织的公共网站上运行没有 SSL 的漏洞。这个漏洞可能被漏洞扫描器宣布为风险评级,然而,如果进行漏洞分析,可能会宣布不同的风险级别。

让我们来看一个场景,你正在为一个小型非政府组织进行漏洞评估;他们的网站上没有敏感信息,但发现了 SSL 的漏洞。网站上的所有信息都是公开的。在这种情况下,你可能会说漏洞风险评级为信息,而扫描工具可能会报告为

在另一个场景中,你正在为一家中型公司进行漏洞评估,他们在网站上进行调查和公开报告,发现了相同的 SSL 漏洞。这里记录的大部分信息都是机密的,不应该被泄露。在这种情况下,你可以说漏洞风险评级为,并且将被扫描工具评为

另一个场景是,你正在为一家大型银行进行漏洞评估,他们的网站上有网银登录。银行客户登录使用网银服务进行财务交易;同样,发现了相同的 SSL 漏洞。在这种情况下,如果 SSL 没有被实施,这是一个关键的风险评级漏洞,工具将报告为

如果我们想根据风险评级来处理风险,那么重新审视漏洞扫描工具给出的风险评级就非常重要。

适用性分析

漏洞评估工具发现的每个漏洞可能并不适用于组织。漏洞适用性用于检查自动漏洞评估工具报告的漏洞是否适用于组织。

例如,一个应用程序中存在的弱密码漏洞。这个漏洞可能被漏洞扫描器评定为风险等级,然而,如果进行漏洞适用性分析,可能会被判定为不适用。

让我们举个例子,假设你正在对一个小型组织进行漏洞评估。漏洞扫描器报告了一个应用程序的弱密码漏洞。工具发现该应用程序的一些密码只有七个字符长,这被报告为风险严重漏洞。在进行适用性分析时,我们发现组织已经批准了一个安全密码策略,即使密码只有七个字符长也被认为是强密码;因此,这个漏洞对组织不适用。

重新审视风险,看看它们是否真的适用于组织或者不适用。

修复建议

Nessus 在工具生成的报告中为每个漏洞提供了修复建议。其中一些可以通过多种方式修复,例如使用补偿控制。漏洞可以通过多种方式进行修补或修复。

让我们通过一个样本漏洞来说明这一点。例如,在一个服务器上发现了明文协议 FTP 开放。通常推荐的修复方法是使用安全文件传输协议SFTP。另一个解决方案可能是分析是否需要开放 FTP。可能存在这样一种情况,即在测试期间 FTP 被保持开放;现在即使在生产环境中,FTP 也是开放的并且不再使用。在这种情况下,应该关闭该服务器上的 FTP 端口。在这种情况下,我们看到对于同一个漏洞有两种修复方法:一种是使用 SFTP 代替 FTP,另一种是关闭 FTP 端口。同样,建议明智地应用这些修复方法。

漏洞利用

在第一章基础知识中,我们介绍了漏洞评估和渗透测试练习之间的区别。基本上,这两者之间的区别与利用漏洞有关。在漏洞评估中,你只需要发现漏洞;但在渗透测试中,你还需要利用漏洞。

渗透测试不一定是侵入性的;它也可以局限于概念的证明。如今,大多数组织希望他们的渗透测试范围仅限于产生概念的证明,因为如果你进行侵入性测试,你的系统/服务可能会崩溃。

市场上有多种渗透测试工具,配备了脚本、程序、有效载荷和注入,用于进行渗透测试。

以下是一些示例,展示了漏洞如何被利用。以下漏洞是由 Nessus 扫描器在一个样本机器上报告的。

漏洞利用示例 1

第一个示例的漏洞标题是一个应用程序主页上发现的跨站脚本XSS)。

假设漏洞扫描结果显示在目标主机上运行的一个应用程序中存在 XSS 漏洞。XSS 的详细信息在以下 Nessus 报告中给出,反映了页面漏洞存在的应用程序:

Nessus 报告头 Nessus 报告示例文本
摘要 远程网络服务器托管了一个易受跨站脚本攻击的 PHP 脚本。
描述 phpMyAdmin 的版本未能验证error.php脚本的error参数中用户输入的 BBcode 标记,然后使用它生成动态 HTML。攻击者可能能够利用这个问题,通过向用户的浏览器注入任意 HTML 或脚本代码,以在受影响站点的安全上下文中执行。例如,这可以用于显示一个带有任意文本和指向外部站点的链接的页面。
解决方案 升级到 phpMyAdmin 3.4.0-beta1 或更高版本。
另请参阅 www.phpmyadmin.net/home_page/security/PMASA-2010-9.php
插件信息 发布日期:2011 年 1 月 6 日,修改日期:2011 年 10 月 24 日
风险信息 中等 4.3(CVSS2#AV:N/AC:M/Au:N/C:N/I:P/A:N)3.6(CVSS2#AV:N/AC:M/Au:N/C:N/I:P/A:N)
漏洞信息 跨站脚本允许攻击者运行脚本,可能导致窃取 Web 浏览器会话信息或创建指向破坏 Web 应用程序的 Web 链接。
参考信息 BID 45633CVE CVE-2010-4480XREF OSVDB:69684XREF EDB-ID:15699
插件输出 Nessus 能够使用以下 URL 利用该问题:http://192.168.56.3/phpMyAdmin/error.php?type=phpmyadmin_pmasa_2010_9.nasl&error=%5ba%40http%3a%2f%2fwww.phpmyadmin.net%2fhome_page%2fsecurity%2fPMASA-2010-9.php%40_self]Click%20here%5b%2fa]

一旦漏洞扫描器报告了跨站脚本,如果您被要求对该机器进行渗透测试,您需要进一步渗透该漏洞。这可以通过运行恶意脚本来完成概念验证和利用。

跨站脚本(也称为 XSS)可以存在于接受 URL 中的某些输入的输入参数中,也可以存在于 Web 应用程序的一个输入框中。要利用它,您需要篡改进入参数的最终用户输入,进一步显示相同的输入。您可能需要使用诸如 Burp Suits、Bayden Tamper IE 或任何其他 HTTP 流量拦截器的工具。通过使用拦截器,您可以操纵从客户机到服务器的 HTTP 请求。

测试 XSS 是否存在,可以使用以下示例有效负载作为输入到最终用户的输入参数:

<script>alert("XSS Exist")</Script>
"><script>alert("XSS Exist")</Script>

根据您正在利用的代码,需要调整前面的有效负载。

要进一步渗透,可以使用以下示例有效负载:

<script>alert(document.cookie)</script>
onmouseenter="alert(document.cookie);
onreadystatechange="alert(document.cookie);

这将在屏幕上弹出实时 cookie 详细信息,如下图所示:

Exploit example 1

在持久性 XSS 的情况下,最终用户输入存储在数据库中,并在浏览应用程序页面时再次显示给所有用户。您应该尝试以下有效负载,它在 Web 页面上创建一个超链接,将用户重定向到攻击者的网站:

http://TargetIP:8080/ShowingImage.asp?id=<img%20src="img/419979.JPG">
<a href = "http://www.attackerURL.com">click</a>

Exploit example 1

XSS 可以通过对脚本和编码有深入的理解来进一步利用。

漏洞示例 2

第二个示例的漏洞标题是利用在路由器上发现的弱密码或易于猜测的密码。

Nessus 具有审查思科设备配置是否符合行业最佳实践的能力。当管理员没有仔细配置思科设备时,可以观察到一种常见的漏洞,即使用默认或弱密码。

思科互联网操作系统Cisco IOS)是思科网络设备(如路由器和交换机)的操作系统。我们将以路由器为例进行说明。思科路由器配置文件包含路由器执行网络中路由功能所需的所有相关配置。

Cisco IOS 提供了设置不同类型密码的选项:类型 0 通常表示没有加密的密码,类型 7 表示使用 service password encryption 命令加密的密码,该命令使用专有算法,类型 5 表示密码受到 enabled-secret 命令的保护,该命令在配置中使用 MD5 哈希。当我们在 Cisco 路由器配置中看到类型 5 或类型 7 密码时,它们将显示为加密的。

Exploit example 2

Cisco 类型 7 密码不被认为是安全的,因为它使用弱算法加密,并且可以被破解。

通过提供适当权限的凭据扫描 Cisco 路由器配置时,Nessus 将突出显示使用弱密码。

一旦 Nessus 报告突出显示使用了弱类型 7 密码,并且可以进一步使用互联网上提供的许多免费工具之一来破解。为了演示目的,使用以下 URL:

www.ibeast.com/content/tools/CiscoPassword/index.asp

如果 Nessus 突出显示在扫描 Cisco 路由器后使用了弱或类型 7 密码;我们在我们的示例中使用了一个类型 7 密码 ( 0822455D0A16 )

如果我们拿这个密码并使用前面的链接来破解它,几秒钟内我们就会知道默认密码,也就是 cisco,已经被使用。

在下面的截图中,我们在一个常见的密码破解工具中输入了一个类型 7 密码:

Exploit example 2

以下截图显示了工具给出的输出(破解密码):

Exploit example 2

利用示例 3

第三个示例的漏洞标题是可能的 SQL 注入。

SQL 注入是一种应用程序漏洞,可以通过 Nessus 发现。 SQL 注入允许攻击者通过直接与应用程序后面运行的数据库通信并执行 SQL 查询来注入或运行恶意 SQL 命令。这可能与在数据库服务器上运行fdisk命令完全格式化服务器并在服务器上创建本地管理员一样具有破坏性。这还允许攻击者运行扩展存储过程,这些是非常强大的命令。通过运行恶意 SQL 查询,攻击者可以修改形成 SQL 查询的输入字符串,以便输出将从数据库中显示所需的模式和数据。

当漏洞扫描器报告 SQL 注入漏洞并且您正在进行渗透测试时,您需要进一步利用它。

利用的过程如下:

在应用程序登录页面上,需要输入用户名和密码时,使用以下表中提到的输入注入来检查该特定页面是否真的存在 SQL 注入:

序列号 注入字符串
1 用户名:admin(任何用户名)密码:' OR 1=1--
2 用户名:admin'; --密码:' OR 1=1--
3 用户名:administrator'; --密码:' OR 1=1--

所有利用都是独特的,因此,我建议根据目标机器构建您的注入、脚本和有效载荷。

总结

扫描分析包括对扫描输出的分析,以确保漏洞的验证和准确报告。这包括删除虚假阳性和虚假阴性。

虚假阳性更常见;这个术语意味着系统中报告为活动的漏洞实际上并不存在,这意味着可能是错误的漏洞报告的结果。

通过了解组织的环境,概念验证和使用端口扫描工具进行验证,可以消除误报。由于这是一项耗时的活动,可以使用目标关键的漏洞来进行大范围的参与。对于这项活动的工作量估计也应提前考虑。

结果分析包括查看 Nessus 扫描输出,涵盖所有必要的细节,如概要,描述,风险因素,包括 CVE 分数,这是一个公开已知的安全漏洞和风险的数据库。每个漏洞都被分配一个唯一的 CVE 编号,该编号在 Nessus 报告中进行交叉引用,以提供有关漏洞的进一步详细信息。

除了消除误报外,分析还将根据系统的关键性进行严重性分析,以满足组织的业务需求,对于高度关键的服务器上的低或中等漏洞,需要相应地进行优先处理。还应交叉检查特定报告的漏洞是否适用于组织。

根据报告中给出的建议,并考虑其他可用的替代控制措施来减轻漏洞,应该着手关闭漏洞。

在识别漏洞后,漏洞利用(或渗透测试)是下一步。Nessus 提供了一个选项,可以检查已识别漏洞的利用是否在利用框架(如 Metasploit 或 Canvas)中可用。这还涉及进一步学习和研究,以选择适当的有效载荷,例如跨站脚本和 SQL 注入等少数漏洞的情况。

第四章:报告选项

易于理解和令人印象深刻的报告是成功的漏洞评估的关键。在撰写漏洞评估报告之前,了解目标受众非常重要。大多数情况下,漏洞评估报告将由不同的团队和不同水平的受众阅读。其中一些人可能对技术术语非常了解,而另一些人可能对技术一无所知;因此,报告中应包含适当的材料,以满足技术和非技术受众的需求。生成全面的漏洞评估报告对于让他人了解文本中发现的漏洞非常重要,以便目标读者能够轻松理解。

本章将向您展示如何编写成功的漏洞报告。本章将涵盖的关键领域如下:

  • 报告生成

  • 报告定制

  • 报告自动化

漏洞评估报告

漏洞评估或渗透测试报告中包含和不包含什么一直是讨论的话题。重要的是要理解,没有一个好的报告,漏洞评估是无法达到其目标的。

撰写报告时应考虑受众。在大型企业中,漏洞评估报告通常分发给不同团队,这些团队对报告的理解程度不同。

管理专业人士对每个漏洞的详细信息不感兴趣。他们更愿意看到一份评估摘要,其中包括已识别漏洞的数量的快速截图,按其严重性分类;这可以更好地以图形方式呈现,并附有关键/高/中/低严重漏洞的部分文本。另一方面,技术人员希望看到有关漏洞报告的更多技术细节和逐步过程,以便在渗透测试报告中能够重现漏洞。技术人员还希望收到有关如何修复漏洞的建议。

Nessus 生成了一份成功扫描的报告,其中包含每个漏洞的详细信息。根据受众的不同,报告可以进行定制。如果您经常进行扫描并希望每次以相同格式生成报告,则建议选择并应用适当的过滤器来决定报告内容。安全顾问可能不希望这样做,因为他们会从不同的客户那里得到不同的报告要求。

Nessus 报告生成

Nessus 为所有已完成的扫描生成报告,可以将其导出到本地系统,并且还允许您从以前的扫描中生成报告。在 Nessus 中有多种格式的报告可供选择。

完成扫描后,Nessus 会存储扫描结果。如下截图所示,Nessus 将扫描结果存储在结果标签页下:

Nessus 报告生成

双击扫描结果将显示该特定扫描结果的详细视图。此视图有三个不同的标签页:主机漏洞导出结果。在主机标签页下,可以看到主机摘要。这包括漏洞的严重程度(关键、高、中、低和信息性)计数。

以下截图显示了一个主机已经被扫描,其中有三十七个关键漏洞,一百三十个高危漏洞,一百四十个中危漏洞,零个低危漏洞和四十九个信息性漏洞:

Nessus 报告生成

下一个选项是漏洞选项卡;这显示了每个漏洞的风险严重性的漏洞摘要。双击任何漏洞将带您进入该漏洞的详细视图,其中详细说明了简介、描述、解决方案、漏洞网页链接、插件信息、风险信息、漏洞信息、参考信息、插件输出等。详细视图中还提供了风险严重性修改选项。以下截图显示了漏洞摘要视图:

Nessus 报告生成

最后一个选项是导出结果;这提供了以不同格式导出 Nessus 扫描结果报告的选项,例如 HTML、PDF 和 CSV。您还可以从以下选项中选择要包含在报告中的内容:

  • 主机摘要(高管):此选项将导出显示发现的漏洞的高级摘要的报告

  • 按主机分类的漏洞:此选项将导出按主机显示漏洞的报告

  • 合规性检查(高管):此选项将导出与所选合规性检查相关的高管摘要报告

  • 按插件分类的漏洞:此选项将导出按插件显示漏洞的报告

  • 合规性检查:此选项将导出与所选合规性检查相关的详细报告

前述选项如下截图所示:

Nessus 报告生成

可以根据需要选择一个或多个选项。

Nessus 提供了一个选项,在导出报告之前删除或清除漏洞,这样如果您知道该漏洞对您不适用,可以从 Nessus 漏洞列表中删除或清除它。

报告过滤选项

结果页面的顶部,有一个过滤选项。此选项允许您根据从下拉菜单中选择的少数可用标准来过滤 Nessus 报告。您可以一次添加多个过滤器。

例如,您可以通过选择过滤器下拉菜单中的选项添加多个过滤器,以获取具有高风险因素的漏洞报告,可以在 MetaSploit 中利用 Exploit Available 并且易于利用的漏洞。

以下截图显示了如何添加过滤器:

报告过滤选项

可以使用添加过滤器清除过滤器按钮添加和删除过滤器。Nessus 还提供了匹配选项,包括任意全部条件。任意条件表示是否满足任何一个指定的过滤器选项。全部条件表示应满足所有设置的过滤条件。

Nessus 报告工具中的其他选项用于比较两次扫描的结果和审计跟踪。Nessus 还允许您从不同的机器上传扫描结果,使用这些结果可以根据您的需要生成报告。

Nessus 报告内容

Nessus 报告包含了关于扫描和漏洞的大量细节。关于扫描的信息以扫描的 IP 列表、扫描的开始时间和结束时间、DNS 名称、MAC 地址、操作系统以及结果摘要的形式呈现,结果摘要包括了整体漏洞数量以及按严重程度分类的漏洞数量。

Nessus 报告中包含了以下扫描信息:

  • 目标 IP 地址

  • 目标主机名称

  • 目标 MAC 地址

  • DNS 名称

  • 扫描开始时间

  • 扫描结束时间

  • 目标操作系统

以下截图显示了一些字段:

Nessus 报告内容

Nessus 报告详细说明了在扫描主机的 Nessus 扫描中发现的漏洞。这包括了每个漏洞的以下信息:

  • 针对插件编号的漏洞

  • 简介

  • 描述

  • 关于该漏洞的另请参阅链接

  • 解决方案

  • 风险因素

  • CVSS 基础分数

  • 参考资料

  • 插件信息

  • 利用方式

  • 端口

以下屏幕截图显示了一个漏洞样本,其中显示了 Nessus 生成的报告中漏洞的详细信息:

Nessus 报告内容

报告定制

在前一节中,我们了解到 Nessus 报告捕获了关于每个漏洞报告的许多细节。有时,当您作为漏洞评估报告的顾问时,您可能不希望使用 Nessus 生成的报告与客户分享,因为它包含了关于每个漏洞的许多细节;这对于安全顾问来说可以理解并且有用,但对于只需要了解漏洞是什么以及需要做什么来修复它的最终客户来说则不是。另一种情况可能是您希望以客户提供的不同格式展示报告;为此,您需要相应地定制报告。

您可以自行决定要包括在漏洞评估报告中的参数。Nessus 生成的默认报告非常好且全面。可能会发生您还需要在报告中看到易于利用性或者修复漏洞所需的工作量。漏洞报告中包含什么和不包含什么完全取决于创建报告的人和组织的要求。您需要相应地定制报告。

可以通过从默认 Nessus 报告中删除特定字段并添加额外字段来进行定制,这些额外字段是您需要的,除了默认字段。如果需要以 Microsoft Word 格式创建报告,可以从 Nessus 生成的默认报告中复制粘贴。

我建议采用以下格式生成令人印象深刻的报告:

  • 报告首页:

  • 客户名称

  • 分配或项目名称

  • 报告提交者

  • 文档信息页面:

  • 文档标题

  • 版本

  • 作者姓名

  • 审阅者姓名

  • 批准者姓名

  • 带日期的文档更改历史

  • 文档分发列表

  • 文档数据分类

  • 每页页眉和页脚包括数据分类、页码、文档名称、组织标志等

  • 执行摘要:

  • 关于漏洞评估项目及其范围的简要介绍

  • 漏洞计数及其严重性分类

  • 关键、高、中、低和信息性漏洞的图形表示及其计数

  • IP/漏洞计数图

  • 漏洞名称、风险评级、业务影响和同一报告中详细信息的链接的表格

  • 详细部分:

  • 关键风险漏洞

  • 漏洞名称

  • 漏洞描述

  • 业务影响

  • 受影响的 IP 或应用程序名称

  • 利用的工具(可选)

  • 缓解/建议

  • 缓解先决条件

  • 如果适用,用于缓解的补丁名称

  • 漏洞参考链接

  • CVE 参考

  • Nessus 插件信息

  • 可利用的(Metasploit、core impact、CANVAS 等)

  • 实施步骤

  • 实施成本

  • 实施复杂性

  • 如果缓解不成功,则回滚步骤

  • 高风险漏洞

  • 与关键风险漏洞下提到的字段相同

  • 中等风险漏洞

  • 与关键风险漏洞下提到的字段相同

  • 低风险漏洞

  • 与关键风险漏洞下提到的字段相同

  • 信息性漏洞

  • 与关键风险漏洞下提到的字段相同

渗透测试报告与漏洞评估报告有些不同。渗透测试报告还应包括一个关于如何利用漏洞以及显示如何利用漏洞的证据的部分。

报告自动化

报告自动化部分不仅适用于 Nessus;一般来说,市场上提供的多个漏洞评估工具及其旧版本不支持生成 Microsoft Excel 或 PDF 格式的报告。为了充分利用这些自动生成的报告,并使其符合组织的首选报告格式,大多数是 Excel 或 Word,可以编写脚本将这些默认报告转换为我们自己需求的报告。

Nessus 报告自动化的另一个需求是,在集成 Nessus 报告时使用不同的工具,如 Archer 和 Agiliance,这些是治理风险和合规性工具;安全信息和事件管理工具;或者您组织中可用的任何其他工具,您希望 Nessus 生成漏洞评估结果。在这些情况下,为了集成,每个工具对报告都有特定的先决条件格式。大多数工具接受 CSV 格式。为了将报告转换为所需的格式,我建议编写脚本。

总结

本章涵盖了 Nessus 中的报告选项。漏洞评估报告的内容应根据报告的受众进行定制,从高级管理层到致力于漏洞关闭的技术团队。完成扫描后,输出可以在 Nessus 的结果选项卡下找到。在此选项卡下,我们有主机摘要、发现的漏洞以及导出结果的选项。

结果可以以不同的格式导出,如 PDF、CSV 和 HTML,Nessus 提供了五个选项来决定要包括的内容,即主机摘要(执行)按主机的漏洞合规性检查按插件的漏洞合规性检查(执行)结果选项卡还有一个过滤选项,其中下拉菜单可以过滤所需的类别和类型的漏洞,并可以从整体输出中进行过滤。

报告捕获了扫描信息以及漏洞详细信息,包括概要、描述、解决方案、风险、插件、CVSS 评分和其他重要细节。

本章还涵盖了外部顾问视角的报告定制以及报告中应该捕获的详细信息类型。最后,介绍了报告自动化的概念;这可以通过脚本完成,也可以通过与 GRC 合规工具或 SIEM 解决方案的集成完成。

第五章:合规性检查

Nessus 以漏洞扫描器而闻名,但它也提供了进行合规性检查的选项。使用这个选项,可以交叉检查基础设施(如服务器、网络设备、数据库和桌面)的安全配置设置是否符合组织正在遵循的定义的政策或最佳实践。

合规性检查审计是一个重要且必要的功能,根据组织当前的安全需求。所有具有安全意识的组织都为其 IT 和网络基础设施定义和实施安全配置设置,以防止它们因任何错误配置而受到安全威胁的威胁。此外,由于监管要求,当公司必须遵守不同的合规性法规时,也会出现对安全加固和实施检查的合规性要求,例如信息安全管理系统的 ISO 27001、医疗行业的 HIPAA 和金融领域的 SOX。

检查服务器、网络设备是否符合这些定义的控制措施或安全配置,需要进行定期的合规性检查活动。手动进行这样的合规性检查,特别是当基础设施规模较大,甚至在每台设备的采样和要检查的控制数量较多时,将是一项繁琐且耗时的工作。这可能还会导致错误的可能性,以及在操作和合规团队之间进行准备、验证和修正工作时所消耗的时间。

Nessus 提供的合规性检查选项将有助于以自动化的方式进行此类检查。Nessus 还提供了修改合规性文件的选项,使其符合组织的设备加固政策。

提示

漏洞扫描通常会识别系统中存在的众所周知的漏洞,为此插件是可用的,并会识别缺失的补丁。

审计将检查基础设施是否符合本地政策中定义的安全配置。

在漏洞扫描期间减少漏洞并不意味着系统已经安全配置。例如,如果一个组织的密码策略要求最少 10 个字符,因为它处理敏感信息,那么一台服务器可能已经更新了补丁,或者在进行 VA 扫描时漏洞相对较少。这是因为服务器不会确保配置了 10 个字符的密码策略。这个功能在 Nessus 专业版中是可用的。

Nessus 的合规性检查适用于主要平台,如服务器操作系统(Windows 和 Unix)、数据库、桌面和网络设备,以及 PCI DSS 等审计标准。

本章将涵盖以下主要领域:

  • 审计策略

  • 如何配置 Nessus 合规性检查策略

  • Nessus 中的合规性报告

  • 不同类型基础设施的合规性检查选项

审计策略

要进行这些合规性审计,文件中提供了.audit扩展名的策略,适用于不同的基础设施元素,如数据库、Windows 和 Cisco。这些审计文件还包含了 SOX 和 PCI-DSS 等众所周知标准所涵盖的常见检查点。这些文件还包含了来自众所周知的安全治理和咨询机构,如 NIST 和 CERT 的建议。

这些审计文件可以根据本地政策或加固文件进行调整。Tenable 提供了从其支持站点下载这些审计文件的选项,并提供了解这些文件语法的文档,以便根据您的要求进行定制。Tenable 还提供了将具有.inf扩展名的 Windows 策略文件转换为具有.audit扩展名的文件的工具。

要启用合规性检查选项,最终用户首先需要点击+添加策略。合规性检查选项可在策略 | 插件 首选项下找到。

在各种 Nessus 插件中,用于合规性检查的感兴趣的插件系列是策略合规性。该插件检查涵盖了不同的基础设施组件,如服务器和网络。

以下屏幕截图显示了策略合规性插件系列:

审计策略

要使用自定义的审计文件,可以在策略下使用首选项选项。在首选项选项卡下,有一个下拉菜单,可以选择不同的合规性检查,如Cisco IOS 合规性检查数据库合规性检查。在这里,用户还可以选择并上传多个用于执行合规性检查的审计文件。

以下屏幕截图显示了所选的数据库合规性检查选项:

审计策略

凭证

要进行合规性检查,Nessus 需要提供凭证以便登录系统进行本地检查。使用的凭证应该是特权帐户的凭证,即在 Unix 帐户的情况下是超级用户特权,具有读取本地机器策略的管理特权。在进行数据库合规性检查时,将需要数据库凭证。在进行 Cisco IOS 合规性检查时,将需要启用密码进行配置审计。凭证可以在策略 | 凭证下添加,就像在进行 VA 扫描时所做的那样。

以下屏幕截图是在进行 Cisco 配置审计时提供凭证的示例:

凭证

合规性报告

为了获得与目标的合规状态相关的报告,Nessus 在保存报告时提供了合规性检查合规性检查(执行)等选项。使用这些选项之一,可以获取系统针对.audit文件中的控制的合规状态。报告中会提到合规性是否失败、通过或跳过,以及执行摘要。不确定的测试会在错误和警告下报告。

以下屏幕截图展示了使用合规性检查合规性检查摘要选项生成的报告:

合规性报告

审计基础设施

合规性插件可在策略合规性插件系列下找到。该部分列出了该系列下可用的插件,展示了可以进行合规性审计的基础设施类型。对于每种基础设施元素,如服务器、网络和数据库,需要选择适当的策略文件、凭证和插件,如本章前面提到的部分所述。

Windows 合规性检查

使用该插件,可以检查 Windows 框架策略选项下设置的合规性参数。在 Windows 审计中进行的一些检查的示例包括以下内容:

  • 注册表设置

  • 文件权限

  • 密码策略

  • 锁定策略

  • 审计策略

  • 用户权限策略

  • 服务审计

Windows 文件内容

Windows 文件内容选项允许 Nessus 检查 Windows 文件类型(Excel、Adobe 或文本文件),这些文件可能包含个人可识别信息(PII)和信用卡详细信息等敏感数据。

Unix 合规性检查

Nessus 可以对 Solaris、Red Hat、AIX、HP-UX、SUSE、Gentoo 和 freebsd 等不同版本的 Unix 进行合规性检查。关键检查包括以下内容:

  • 密码管理

  • 文件权限

  • 密码文件管理

  • 权限管理

  • 根访问管理

  • 运行进程

Cisco IOS 合规性检查

使用此插件,可以检查运行 Cisco IOS 设备配置文件的 Cisco 设备。合规性检查可以针对已保存、运行或启动的配置进行。示例包括以下内容:

  • 接口应用的访问列表

  • SNMP 社区字符串受 ACL 保护

  • 未被禁用的不必要服务

  • 更改了 SNMP 默认社区字符串

数据库合规性检查

Nessus 还可以检查不同数据库是否符合安全策略的合规性。支持的数据库包括 MS SQL、Oracle、MySQL PostgreSQL、IBM DB2 和 Informix/DRDA。为了确保报告的完整性,用于登录数据库的帐户应具有 SYSDBA 或 SA 权限。数据库合规性检查插件通常使用SELECT查询从数据库中获取安全配置。以下是一些示例:

  • 检查是否存在没有到期详细信息的登录

  • 检查未经授权的存储过程是否已启用

PCI DSS 合规性

支付卡行业数据安全标准PCI-DSS)是一种用于支付卡的知名标准。Nessus 提供 PCI DSS 合规性插件,以检查配置是否符合该标准的要求。

VMware vCenter/vSphere 合规性检查

VMware vCenter/vSphere 合规性检查插件使用 VMware SOAP API 来审计 ESX VMware、ESXi 和 vCenter/vSphere 虚拟化软件。进行审计的凭据信息可以添加到策略的VMware vCenter SOAP API 设置中的高级部分。示例包括以下内容:

  • 缺少补丁

  • 缺少安全更新

Nessus 合规性检查选项中还包括以下其他平台(请在 Tenable 官方网站support.tenable.com/上交叉检查更新的文档)本章的部分内容参考自 Nessus 网站www.tenable.com上可用的学习材料:

  • IBM iSeries 合规性检查

  • Juniper Junos 合规性检查

  • NetApp Data ONTAP 合规性检查

  • Palo Alto Network PAN-OS 合规性检查

  • Check Point GAiA 合规性检查

提示

合规性插件仅适用于专业订阅客户。

摘要

Nessus 提供使用该工具进行自动合规性检查的选项,除了漏洞扫描。使用此选项,可以交叉检查基础设施的安全配置设置(如服务器、网络设备和数据库)是否符合组织正在遵循的定义策略或最佳实践。合规性要求也源自组织遵守的不同合规性标准。此功能仅适用于专业订阅用户。

策略合规性插件系列可用于合规性检查扫描。该插件系列包括但不限于服务器、网络设备和 PCI DSS 等标准。Nessus 的结果选项卡还提供了一个合规性选项,可以在保存输出时专门生成合规性报告。这些合规性检查可以通过使用.audit文件进行修改。需要在工具中更新正在执行合规性审计的基础基础设施的适当凭据。

posted @ 2024-05-04 01:10  绝不原创的飞龙  阅读(1039)  评论(0编辑  收藏  举报