Ubuntu 上 Nessus 漏洞扫描工具的使用指南

引言

Nessus 是由 Tenable Incorporation 开发的一款漏洞扫描工具。它是一款开源的、基于订阅的软件,可以扫描计算机/服务器上的所有端口,寻找已知的漏洞和利用方式,并且以多种方式呈现报告。

Nessus 使用不断更新的漏洞和利用数据库进行扫描。此外,它是一款对初学者友好的工具,不需要对操作系统或命令行工具有高级知识。因此,它是安全渗透测试中侦察/枚举阶段使用的最佳工具之一。

Nessus 是一款专有工具,根据提供的工具数量分为不同的版本;它们分别是:

  • Nessus Essentials
  • Nessus Professional
  • Nessus Expert

前提条件

继续本教程之前,您应该满足以下要求:

要完成本教程,你需要:

在开始本教程之前,

需要一个已设置的Ubuntu服务器,具有非root用户,具有sudo权限,并启用了防火墙以阻止非必要的端口。

设置完成后,以的非root用户身份登录并进行第一步。

建议使用至少有以下配置的服务器:

机器必须至少有 4 GB 的 RAM 可用。虽然 Tenable 推荐 8 GB 的 RAM,但对于相对较小的扫描,4 GB 就足够了。

Ubuntu 机器至少应该有 5 GB 的空间仅用于安装 Nessus Essentials 工具。

选择服务器提供商
为了本教程的演示,我将以一个具体的云服务提供商为例,展示如何进行操作。选择哪个提供商根据个人偏好和需求来决定。

以下步骤仅供参考,请根据实际需求选择配置。

购买云服务器
本示例中,我们选择了香港作为服务器区域。

点击 云产品云服务器立即购买

选择操作系统
在创建服务器实例时,选择 Ubuntu 作为操作系统。

连接到服务器
使用 X-shell 或偏好的 SSH 客户端,通过远程用户名和密码连接到服务器。成功连接后,将看到特定的欢迎信息,表明已成功登录。

https://syxoss.oss-cn-hangzhou.aliyuncs.com/Typora202411211021991.png

系统至少应该有四个双核处理器。超过这个数量将加快测试速度。

运行 Nessus 的系统最低处理器速度应该是 1 GHz 或更高。

Ubuntu 机器应该有非 root 用户账户,因为不使用超级用户(root)和访问它是安全的做法。

(可选)在本教程后面执行漏洞扫描时,应该有另一台机器(也是 Ubuntu 机器,用于本教程相同的目的)来执行扫描。目标机器也应该有非 root 用户账户和 root 账户的访问权限。

Ubuntu 机器上应该安装支持的浏览器( Google Chrome Mozilla Firefox )。我们在本教程中使用 Mozilla Firefox。

现在,让我们进入本教程的安装部分。

满足上一节提到的要求后,我们将在 Ubuntu 机器上安装 Nessus 工具。

我们首先使用 curl 下载 Ubuntu 的安装包:

sudo curl --request GET --url '<https://www.tenable.com/downloads/api/v2/pages/nessus/files/Nessus-10.4.2-ubuntu1404_amd64.deb>' --output /tmp/'Nessus-10.4.2-ubuntu1404_amd64.deb'

这将在 /tmp 文件夹中下载 Nessus 安装文件。现在,我们将使用 dpkg 在 Ubuntu 机器上安装 Nessus。输入以下命令将其安装到系统中:

sudo dpkg -i /tmp/Nessus-10.4.2-ubuntu1404_amd64.deb

之后,Nessus 工具已安装,现在我们需要重启 Nessusd 服务。输入以下命令:

sudo /bin/systemctl start nessusd.service

现在,您可以在本地浏览器中通过以下地址访问 Nessus:

<http://localhost:8834/>

注意: 8834 是 Nessus 的默认端口

在大多数浏览器中,您会看到一个安全弹出窗口,要求您 返回。然而,这是完全安全的,您可以点击 高级 然后 继续访问网站

第 2 步 – 在本地浏览器中设置 Nessus

现在,我们已经成功在计算机上安装了 Nessus。下一步是在本地浏览器中配置 Nessus 并安装所需的插件。

到达欢迎屏幕后,点击 Nessus Essentials 以继续使用 Nessus 的免费版本。如果您有 ProfessionalExpert 版本的订阅,您可以继续选择那个选项。安装过程将与此类似。

image.png

之后,系统会要求您提供姓名和电子邮件地址以接收您的 Nessus Essentials 的激活码。

image.png

如果您已经有激活码,可以跳过这一步。否则,请提供您的详细信息以在您提交的电子邮件中接收代码。

收到代码后,继续并在激活码块中输入它。之后,系统会要求您创建一个管理账户;

使用您选择的任何用户名并创建一个强密码。例如,在本教程中,用户名是 Sammy. 一旦您继续操作,Nessus 将开始安装必要的插件。根据您的互联网连接和处理器能力,这个过程可能需要一些时间。一旦您收到插件已安装并成功编译的通知,您可以进入下一步。

第 3 步 – 配置 Nessus 扫描设置以运行漏洞扫描

现在我们已经成功安装了 Nessus,我们可以对目标系统进行扫描以进行侦察。为此,在 Nessus 主页上打开 我的扫描 文件夹。如果您是第一次安装 Nessus,将不会有任何扫描可查看。所以,点击仪表板右上角的 新建扫描 按钮。

点击上述按钮后,您将被引导到扫描模板页面,那里有三个主要类别的扫描:

  • 发现
  • 漏洞
  • 合规性

前两个类别在 Nessus 的免费版本中可用。在本教程中,我们将坚持使用漏洞类别的扫描。

这一部分将配置一个 基本网络扫描 并探索选项。然后在接下来的区域中,我们将扫描我们的第二台 Ubuntu 系统。

image.png

扫描的配置设置

点击 基本网络扫描 选项,您将被带到扫描的 设置 页面。在那里,在 设置 下,您将看到不同的选项。以下表格简要解释了每个设置选项。

基本

这个部分包括三个子部分:

  • 通用 – 您必须在这里提供目标系统的名称和 IP 地址。有两个可选字段,描述文件夹。默认文件夹是 My Scan,但您可以更改为任何您选择的文件夹。描述 是一个可选字段,但在本教程中,我们只是添加了一些文本,解释说 此扫描用于演示目的。 要配置基本网络扫描(如后续部分所需),您必须在目标块中提供目标机器的 IP 地址(本教程中的第二台 Ubuntu 机器),如下所示。

您需要将 IP 地址 192.xxx.xxx.xxx 替换为您目标 Ubuntu 机器的 IP 地址。

  • 计划 – 此选项在默认设置中处于关闭状态。当您需要稍后安排扫描时使用。如果打开,您必须提供扫描的频率、开始时间和时区。

我们将不在本教程中安排任何扫描,因此我们将保持它 关闭

image.png

  • 通知 – 此选项将扫描通知发送到设置的电子邮件地址,完全是可选的。只需添加您希望接收有关您扫描的所有通知的电子邮件地址,Nessus 将发送给它们。

对于本教程,我们不需要任何电子邮件通知,因此我们不会在电子邮件收件人列表中提供任何内容,并保持它为空,如下所示。

发现

在这里,您必须决定扫描的范围。由于任何网络上都有 65535 个端口,扫描所有端口有时是不切实际的,因为大多数端口需要保持运行。然而,这是一个必要的设置,每个扫描都有所不同。

要执行基本网络扫描,您不必在本教程中稍后选择所有端口,因为该过程将耗时;因此,我们将保持发现范围为 标准端口

image.png

Nessus 提供了三个选项:

  • 常用端口 – 扫描常用端口,如 80 等。
  • 所有端口 – 扫描所有 65535 个端口。
  • 自定义端口 – 仅扫描给定的端口。

根据您的需求,您可以选择您喜欢的任何一个。

评估

在这一部分,您必须选择要评估的漏洞。这些是必要的设置,可以说是扫描设置中最重要的部分,因为它定义了将扫描目标系统(本教程中的第二台 Ubuntu 机器)的哪种漏洞。Nessus 在这一部分也提供了多种选项:

image.png

  • 默认 – 这是基本的评估方法,它不会在被扫描的 Web 应用程序/服务器上引发任何警报,但几乎不提供任何有价值的见解。
  • 扫描已知的 Web 漏洞 – 此选项针对常见的 Web 漏洞进行扫描。
  • 扫描所有 Web 漏洞(快速) – 此选项比前一个选项更健壮,并且扫描主域上的多达 1000 个页面。
  • 扫描所有 Web 漏洞(复杂) – 这是可用的最健壮的选项,因为它扫描了扫描时已知的所有漏洞,并执行

各种 HTTP 方法以扫描可能的漏洞。

  • 自定义 – 在这种方法中,您可以决定您的扫描技术;因此,它需要比本教程所需的更高级别的网络和 Web 应用程序知识。

我们将保持评估设置为 默认 以完成基本网络扫描,最小化自定义。当选择默认时,Nessus 将选择最佳的隐身和枚举方法。

报告

这个部分自定义报告。例如,您可以选择要包含在扫描结果中的哪些部分,并根据您的磁盘空间和其他要求选择扫描的详细程度。

要获得基本扫描的报告,如后续部分所示,您应该选择如下所示的设置,或者,

在 处理 下,勾选以下两个选项:

  1. 显示已取代的缺失补丁 – 此选项为您提供所有未更新的补丁列表。
  2. 隐藏作为依赖项启动的插件的结果 – 勾选此选项确保报告中不提及使用的插件(这可能会使报告不易阅读)

输出 部分,允许用户编辑扫描结果,允许您选择是否以 HTML 或 XML 文件(在后续部分中使用)获得。

高级

这个部分提供了更多高级选项,例如在检测到网络拥塞时减慢扫描请求。这在您在可能因过度拥塞而崩溃的活跃网络上进行扫描时非常有用。

在这里,默认 选项扫描 30 个主机(最多)并为每个主机提供 5 秒的读取超时。

扫描低带宽限制 选项减少了扫描的主机数量;但是,它们将每个主机的超时增加到 15 秒,从而为从目标机器获得响应提供了更多时间。

在更专业和积极地执行扫描时,必须注意这些设置。然而,对于我们的 基本网络扫描,我们将这些设置设置为 默认,因为我们不涉及高级选项。

第 4 步 – 使用 Nessus 执行漏洞扫描

现在我们已经涵盖了扫描配置,这一节将展示在类似的 Ubuntu 机器上执行的虚拟扫描,如本教程前面部分所用。

在第二台机器上,输入以下命令以获取机器的 IP 地址:

ip a | grep ‘inet 192’

在这个输出语句中将有两个 IPv4 地址。您的机器的 IP 地址将是那个以 192.###.###.###/24 结尾的。斜杠 / 之前的值是您的 IP 地址;记下它。

现在,转到安装了 Nessus 的机器,启动一个新的 基本网络扫描 如前一节所示,并为扫描输入一个名称。如果您愿意,可以添加一些描述。将文件夹保留为 My Scans,并在目标部分输入您目标机器的 IP 地址。

image.png

现在转到 发现 部分;从下拉菜单中选择 Port scan(standard ports)

image.png

接下来,点击 评估 部分,并从下拉菜单中选择 默认

image.png

报告 部分,保持所有复选框为其默认选择,因为此扫描是最基本的;您不需要自定义生成的报告。

image.png

然后,在 高级部分,将 扫描类型 保持为 默认,因为这是一个基本扫描,不需要高级自定义。

image.png

最后,通过点击 保存 保存扫描,您将被重定向到 我的扫描 文件夹。在那里,点击扫描前的 播放/启动 按钮(如下所示)

一旦您的扫描完成,您可以继续进入下一节,在那里我们将审查结果。

第 5 步 – 审查扫描结果

扫描完成后,点击它,您将被带到扫描结果部分。您可以通过点击右上角的报告按钮生成扫描结果的 HTML 报告。一个对话框将打开;在那里,选择 HTML 并继续。然后,报告将被下载到您的下载文件夹。在浏览器中打开它,您将得到这样的页面。

扫描结果

Nessus 将在这里显示它从扫描中收集的所有结果和信息。它发现的结果有五个类别:

  • 严重 – 严重或容易被利用的漏洞。
  • – 经验丰富的黑客可以利用的漏洞。
  • – 这些漏洞通常不易被利用,并且可以努力修复。
  • – 这些漏洞包括未更新的标准补丁等。需要高水平的技能才能利用此类漏洞。
  • 信息 – 这一部分提供有关机器的基本信息,例如其硬件和操作系统详细信息。

结论

本文提供了在 Ubuntu 上安装 Nessus 并对另一台 Ubuntu 目标机器进行扫描的逐步指南。我们还解释了 基本网络扫描 提供的结果,并将其导出为 HTML 报告