如何在 Ubuntu 22.04 上使用 Nessus 进行漏洞扫描
介绍
Nessus 是 Tenable Incorporation 开发的漏洞扫描工具。它是一款基于订阅的开源软件,可扫描计算机/服务器上的所有端口以查找已知漏洞和漏洞,并以各种方式呈现报告。
Nessus 使用不断更新的漏洞利用和漏洞数据库来扫描可能的漏洞利用。此外,它是一个适合初学者的工具,因为它不需要操作系统或命令行工具的高级知识。因此,它是用于安全渗透测试的侦察/枚举阶段的最好的工具之一。
现在,由于 Nessus 是一种专有工具,因此它具有不同的可用性。根据提供的工具数量,Nessus 分为三层:他们是:
- Nessus 要点
- 内瑟斯专业
- 内瑟斯专家
Nessus Essentials 是 Nessus 工具的免费版本,它包含定期漏洞扫描所需的所有工具。 Nessus Professional 是下一个最佳版本,提供比免费版本更多的功能。它适合专业渗透测试人员和安全从业人员。最后一个是Nessus Expert,是Nessus提供的全套功能,非常适合小型企业的IT部门等。
为了进行演示,我们将使用该工具的 Nessus Essential 版本。然而,每场演出的安装过程都是相似的。
先决条件
要继续学习本教程,您应该满足以下要求:
- 运行 Ubuntu 22.04 版本的服务器或虚拟机, Desktop Distro 或其 服务器替代。
- 机器必须至少有 4 GB 可用 RAM。尽管 Tenable 建议使用 8 GB RAM,但对于相对较小的扫描,4 GB 就足够了。
- Ubuntu 计算机应至少有 5 GB 空间用于安装 Nessus Essentials 工具。
- 系统应至少有四个双核处理器。超过这个值只会加快测试速度。
- 在系统上运行 Nessus 的最低处理器速度应为 1 GHz 或更高。
- Ubuntu 机器应该有一个非 root 用户帐户,因为不使用超级用户(root)并访问它是一种安全的做法。
- (可选)为了在本教程后面执行漏洞扫描,应该有另一台计算机(在本教程中也用于相同目的的 Ubuntu 计算机)来执行扫描。目标计算机还应具有非 root 用户帐户并有权访问 root 帐户。
- 受支持的浏览器(Google Chrome、 Mozilla Firefox ) 应安装在 Ubuntu 计算机中。我们在本教程中使用 Mozilla Firefox。
现在,让我们进入本教程的安装部分。
第 1 步 - 安装 Nessus Essentials 工具
满足上一节提到的要求后,我们将在 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'
这已将 Nessus 安装文件下载到 /tmp
文件夹中。现在,我们将使用 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 免费层。如果您订阅了专业或专家级别,则可以继续使用该选项。安装过程将与此类似。
之后,系统会要求您提供姓名和电子邮件地址,以接收 Nessus Essentials 的激活码。
如果您已经激活,则可以跳过此步骤。或者,请提供您的详细信息,以便在您提交的电子邮件中接收代码。
收到代码后,继续并将其输入到激活代码块中。之后,系统会要求您创建一个管理帐户;
使用您选择的任何用户名并创建一个强密码。例如,在本教程中,用户名是 Sammy
。完成此操作后,Nessus 将开始安装必要的插件。根据您的互联网连接和处理器功能,此过程需要一些时间。一旦收到插件已成功安装并编译的通知,您就可以继续下一步。
步骤 3 – 配置 Nessus 扫描设置以运行漏洞扫描
现在我们已经成功安装了 Nessus,我们可以在目标系统上运行扫描以进行侦察。为此,请打开 Nessus 主页上的 **** 我的扫描**** 文件夹。如果您是第一次安装 Nessus,则不会有任何扫描可供查看。因此,请点击仪表板右上角的新扫描按钮。
单击上述按钮后,您将被引导至扫描模板页面,其中扫描分为三大类:
- 发现
- 漏洞
- 遵守
前两个类别在 Nessus 的免费套餐中提供。在本教程中,我们将坚持扫描漏洞类别。
本部分将配置基本网络扫描并探索选项。然后在下面的区域中,我们将扫描我们的第二个Ubuntu系统。
扫描的配置设置
单击基本网络扫描
选项,您将进入扫描的设置
页面。在设置
下,您将看到不同的选项。下表给出了每个设置选项的简要说明。
基本
本节包括三个小节:
- 一般 – 您必须在此处提供目标系统的名称和 IP 地址。有两个可选字段:说明和文件夹。默认情况下,该文件夹是“我的扫描”,但您可以将其更改为您选择的任何文件夹。 描述是一个可选字段,但在本教程中,我们只是放置了一个文本来解释
此扫描用于演示目的。
配置基本网络扫描(根据需要)在后面的部分中),您必须在目标块中提供目标计算机(本教程中的第二台 Ubuntu 计算机)的 IP 地址,如下图所示。
您需要将 IP 地址 192.xxx.xxx.xxx 替换为目标 Ubuntu 计算机的 IP 地址。
- 计划 – 此选项在默认设置中处于关闭状态。当您需要稍后安排扫描时使用此功能。如果打开,您必须提供扫描的频率、开始时间和时区。
我们不会在本教程中安排任何扫描,因此我们将其关闭。
- 通知 – 此选项将扫描通知发送到设置的电子邮件地址,并且完全是可选的。只需添加您希望接收有关扫描的所有通知的电子邮件地址,Nessus 就会将其发送到该地址。
对于本教程,我们不需要任何电子邮件通知,因此我们不会向电子邮件收件人列表提供任何通知并将其留空,如下所示。
发现
在这里,您必须决定扫描的范围。由于任何网络上都有 65535 个端口,因此有时只能扫描所有端口,因为大多数端口都需要运行。然而,这是一项必需的设置,因扫描而异。
要执行基本网络扫描,您不必在本教程后面选择所有端口,因为该过程将非常耗时;因此,我们将把发现范围保留在标准端口。
Nessus 提供了三个选项,
- 常用端口——扫描80等常用端口。
- 所有端口 – 扫描所有 65535 个端口。
- 自定义端口 – 仅扫描给定端口。
根据您的需要,您可以选择您喜欢的。
评估
在此部分中,您必须选择要评估的漏洞。这些是必需的设置,可以说是扫描设置中最重要的部分,因为它定义了将为目标系统(本教程中的第二台 Ubuntu 计算机)扫描哪种类型的漏洞。 Nessus 在本节中还提供了各种选项:
- 默认 - 这是基本的评估方法,它不会在正在扫描的 Web 应用程序/服务器上引发任何警报,但几乎不会产生任何有价值的见解。
- 扫描已知的 Web 漏洞 - 此选项扫描常见的已知 Web 漏洞。
- 扫描所有 Web 漏洞(快速)- 此选项的扫描能力比前一个选项更强大,可扫描主域上的多达 1000 个页面。
- 扫描所有 Web 漏洞(复杂) - 这是最强大的选项,因为它会在扫描时扫描所有已知漏洞并执行各种 HTTP 方法来扫描可能的漏洞。
- 自定义 - 在这种方法中,您可以决定您的扫描技术;因此,它需要比本教程更高的网络和 Web 应用程序知识。
我们应将评估设置保留为默认
,以通过最少的自定义完成基本网络扫描。当选择默认值时,Nessus 将选择可用的最佳隐身和枚举方法。
报告
此部分自定义报告。例如,您可以选择要包含在扫描结果中的部分,并根据您的磁盘空间和其他要求选择扫描的详细程度。
要获得后面部分所示的基本扫描报告,您应该选择如上图所示的设置,或者,
在处理下,选中以下两个选项:
显示已被取代的缺失补丁
- 此选项为您提供所有非最新补丁的列表。隐藏作为依赖项启动的插件的结果
- 检查此选项可确保报告中未提及所使用的插件(这可能会降低报告的可读性)
在输出部分下,“允许用户编辑扫描结果,允许您选择是否获取 HTML 文件或 XML 文件(在后面的部分中使用)”。
高级
本部分提供了更高级的选项,例如在网络上检测到拥塞时减慢扫描请求。当您扫描可能因拥塞而崩溃的活动网络时,这非常有用。
此处,默认选项扫描 30 个主机(最多),并为每个主机提供 5 秒的读取超时时间。
扫描低带宽限制选项可减少扫描的主机数量;但是,它们将每个主机的超时时间增加到 15 秒,从而提供更多时间来获取目标计算机的响应。
在更专业、更主动地执行扫描时必须注意这些设置。但是,对于我们的基本网络扫描
,我们仅将这些设置设置为默认,因为我们不处理高级选项。
步骤 4 – 使用 Nessus 执行漏洞扫描
现在我们已经介绍了扫描配置,本节将展示在类似 Ubuntu 机器上执行的虚拟扫描,如本教程前面部分所使用的那样。
在第二台计算机上,键入以下命令以获取计算机的 IP 地址:
ip a | grep ‘inet 192’
此输出语句中将有两个 IPv4 地址。您计算机的 IP 地址将以 192.###.###.###/24
结尾。 /
之前的值为您的IP地址;请注意相同。
现在,移动到带有 Nessus 的计算机,启动新的基本网络扫描
(如上一节所示),然后输入扫描名称。如果您愿意,可以添加一些描述。将该文件夹保留为My Scans
,然后在“目标”部分中键入目标计算机的 IP 地址。
现在转到发现部分;从下拉菜单中选择“端口扫描(标准端口)”。
接下来,单击评估部分,然后从下拉菜单中选择默认
。
在报告部分中,将所有复选框保留为默认选择,因为此扫描是最基本的扫描;您不必自定义生成的报告。
然后,在高级部分中,将扫描类型保留为默认
,如下所示是基本扫描,不需要高级自定义。
最后,单击保存保存扫描,您将被重定向到我的扫描文件夹。在那里,单击扫描前面的*播放/启动*按钮(如下图所示)
扫描完成后,您可以继续下一部分,我们将在其中查看结果。
第 5 步 – 查看扫描结果
扫描完成后,单击它,您将进入扫描结果部分。您可以通过单击右上角的“报告”按钮生成扫描结果的 HTML 报告。将打开一个对话框;在那里,选择 HTML 并继续。然后,报告将下载到您的下载文件夹中。在浏览器中打开它,您将看到这样的页面。
Nessus 将向您显示从此处扫描收集的所有结果和信息。它发现的结果分为五类:
- 严重 – 严重或容易利用的漏洞。
- 高 – 经验丰富的黑客可以利用的漏洞。
- 中 – 这些漏洞通常不容易被利用,并且可以通过努力修复。
- 低 – 这些漏洞包括未更新的标准补丁等。利用此类漏洞需要高水平的技能。
- 信息 – 此部分提供有关机器的基本信息,例如其硬件和操作系统详细信息。
结论
本文提供了在 Ubuntu 22.04 上安装 Nessus 的分步指南,并使用相同的指南扫描另一台 Ubuntu 22.04 目标计算机。我们还解释了基本网络扫描
提供的结果,并将其导出为HTML报告
。
任何想要扩展 Nessus 知识的人都可以随时参考 Nessus 文档。此外,为了更好地掌握 Nessus 工具,有必要对计算机网络有一定的了解。对于任何试图进入网络安全领域的人来说,这可能是下一步。