引言
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 客户端,通过远程用户名和密码连接到服务器。成功连接后,将看到特定的欢迎信息,表明已成功登录。
系统至少应该有四个双核处理器。超过这个数量将加快测试速度。
运行 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 的免费版本。如果您有 Professional 或 Expert 版本的订阅,您可以继续选择那个选项。安装过程将与此类似。
之后,系统会要求您提供姓名和电子邮件地址以接收您的 Nessus Essentials 的激活码。
如果您已经有激活码,可以跳过这一步。否则,请提供您的详细信息以在您提交的电子邮件中接收代码。
收到代码后,继续并在激活码块中输入它。之后,系统会要求您创建一个管理账户;
使用您选择的任何用户名并创建一个强密码。例如,在本教程中,用户名是 Sammy.
一旦您继续操作,Nessus 将开始安装必要的插件。根据您的互联网连接和处理器能力,这个过程可能需要一些时间。一旦您收到插件已安装并成功编译的通知,您可以进入下一步。
第 3 步 – 配置 Nessus 扫描设置以运行漏洞扫描
现在我们已经成功安装了 Nessus,我们可以对目标系统进行扫描以进行侦察。为此,在 Nessus 主页上打开 我的扫描 文件夹。如果您是第一次安装 Nessus,将不会有任何扫描可查看。所以,点击仪表板右上角的 新建扫描 按钮。
点击上述按钮后,您将被引导到扫描模板页面,那里有三个主要类别的扫描:
- 发现
- 漏洞
- 合规性
前两个类别在 Nessus 的免费版本中可用。在本教程中,我们将坚持使用漏洞类别的扫描。
这一部分将配置一个 基本网络扫描 并探索选项。然后在接下来的区域中,我们将扫描我们的第二台 Ubuntu 系统。
扫描的配置设置
点击 基本网络扫描
选项,您将被带到扫描的 设置
页面。在那里,在 设置
下,您将看到不同的选项。以下表格简要解释了每个设置选项。
基本
这个部分包括三个子部分:
- 通用 – 您必须在这里提供目标系统的名称和 IP 地址。有两个可选字段,描述 和 文件夹。默认文件夹是 My Scan,但您可以更改为任何您选择的文件夹。描述 是一个可选字段,但在本教程中,我们只是添加了一些文本,解释说
此扫描用于演示目的。
要配置基本网络扫描(如后续部分所需),您必须在目标块中提供目标机器的 IP 地址(本教程中的第二台 Ubuntu 机器),如下所示。
您需要将 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 地址。
现在转到 发现 部分;从下拉菜单中选择 Port scan(standard ports)
。
接下来,点击 评估 部分,并从下拉菜单中选择 默认
。
在 报告 部分,保持所有复选框为其默认选择,因为此扫描是最基本的;您不需要自定义生成的报告。
然后,在 高级部分,将 扫描类型 保持为 默认
,因为这是一个基本扫描,不需要高级自定义。
最后,通过点击 保存 保存扫描,您将被重定向到 我的扫描 文件夹。在那里,点击扫描前的 播放/启动 按钮(如下所示)
一旦您的扫描完成,您可以继续进入下一节,在那里我们将审查结果。
第 5 步 – 审查扫描结果
扫描完成后,点击它,您将被带到扫描结果部分。您可以通过点击右上角的报告按钮生成扫描结果的 HTML 报告。一个对话框将打开;在那里,选择 HTML 并继续。然后,报告将被下载到您的下载文件夹。在浏览器中打开它,您将得到这样的页面。
扫描结果
Nessus 将在这里显示它从扫描中收集的所有结果和信息。它发现的结果有五个类别:
- 严重 – 严重或容易被利用的漏洞。
- 高 – 经验丰富的黑客可以利用的漏洞。
- 中 – 这些漏洞通常不易被利用,并且可以努力修复。
- 低 – 这些漏洞包括未更新的标准补丁等。需要高水平的技能才能利用此类漏洞。
- 信息 – 这一部分提供有关机器的基本信息,例如其硬件和操作系统详细信息。
结论
本文提供了在 Ubuntu 上安装 Nessus 并对另一台 Ubuntu 目标机器进行扫描的逐步指南。我们还解释了 基本网络扫描
提供的结果,并将其导出为 HTML 报告
。