VULS:一款免费的开源LINUX漏洞扫描器

B站影视 2024-12-22 11:00 3

摘要:译自Vuls: A Free, Open Source Vulnerability Scanner for Linux,作者 Jack Wallen。

Vuls采用无代理SSH方式,允许您使用多种方法(例如快速扫描和深度扫描)扫描多个操作系统。

译自Vuls: A Free, Open Source Vulnerability Scanner for Linux,作者 Jack Wallen。

如果您需要扫描网络上的机器以查找漏洞,并且正在寻找最简单的选项之一,那么Vuls是一个不错的选择。

Vuls允许您使用多种方法扫描多个操作系统,例如快速扫描和深度扫描。Vuls的一大优点是它是无代理的,因此您无需担心在需要扫描的每台机器上安装代理。Vuls使用多个漏洞数据库,例如NVD、JVN、OVAL、RHSA/ALAS/ELSA/FreeBSD-SA和Changelog——因此您可以确定,如果存在漏洞,Vuls会发现它。

使用Vuls,您可以进行本地和远程扫描。所有远程扫描都是通过SSH完成的,因此任何目标都必须接受传入的SSH连接才能使其工作。

让我向您介绍安装Vuls的过程。我将在Ubuntu Server 22.04实例上进行演示。我将演示两种不同的Vuls安装方法。

您需要什么

要运行Vuls,您需要一个正在运行的Linux实例和一个具有sudo权限的用户。如前所述,我将在Ubuntu Server 22.04实例上进行演示。两种安装方法都可以使用。

最佳安装方法

此方法需要更多时间,但它将为您提供最新版本的Vuls。

首先,您需要运行系统的更新/升级。请记住,如果内核已升级,则需要重新启动才能使更改生效,这意味着您需要在可以重新启动的时间进行此操作。

使用以下命令运行更新和升级:

sudo apt-get update && sudo apt-get upgrade -y

完成后,使用以下命令安装必要的依赖项:

sudo apt-get install debian-goodies reboot-notifier -y

完成上述命令后,使用以下命令下载安装程序脚本:

wget https://raw.githubusercontent.com/vulsio/vulsctl/master/install-host/install.sh

使用以下命令授予安装程序脚本可执行权限:

使用以下命令运行安装程序:

系统将提示您接受安装。发生这种情况时,键入“y”并按键盘上的Enter键。安装大约需要2到5分钟才能完成。

安装完成后,使用以下命令验证安装是否成功:

您应该会看到帮助文件的内容。

更简单的安装方法

如前所述,此安装方法不会安装最新版本的Vuls,但它肯定更容易,因为标准存储库中有一个Vuls版本。要运行此安装,请返回终端窗口并发出以下命令:

sudo apt-get install vuls -y

允许安装完成,您就可以继续了。

配置Vuls

首先,您需要使用以下命令为Vuls创建一个新目录:

使用以下命令进入该目录:

使用以下命令创建配置文件:

将以下内容粘贴到新文件中:

[cveDict] type = "sqlite3" SQLite3Path = "/opt/vuls/cve.sqlite3" [ovalDict] type = "sqlite3" SQLite3Path = "/opt/vuls/oval.sqlite3" [gost] type = "sqlite3" SQLite3Path = "/opt/vuls/gost.sqlite3" [metasploit] type = "sqlite3" SQLite3Path = "/opt/vuls/go-msfdb.sqlite3" [servers] [servers.localhost] host = "localhost" port = "local" scanMode = [ "fast-root" ] #scanMode = ["fast", "fast-root", "deep", "offline"]

使用以下命令运行配置测试:

如果配置一切正常,您将在输出中看到类似以下内容:

[Nov 13 17:48:14] INFO [localhost] It can be scanned with fast scan mode even if warn or err messages are displayed due to lack of dependent packages or sudo settings in fast-root or deep scan mode [Nov 13 17:48:14] INFO [localhost] Scannable servers are below...localhost

创建CVE数据库

现在,我们需要创建一个CVE数据库。确保您位于/opt/vuls目录中,然后运行以下命令:

sudo gost fetch debian --dbpath /opt/vuls/gost.sqlite3 sudo go-cve-dictionary fetch nvd --dbpath /opt/vuls/cve.sqlite3 sudo goval-dictionary fetch debian 12 --dbpath /opt/vuls/oval.sqlite3 sudo go-msfdb fetch msfdb --dbpath /opt/vuls/go-msfdb.sqlite3

您现在应该会看到几个扩展名为.sqlite3的文件。

运行您的第一次扫描

让我们使用以下命令对localhost运行漏洞扫描:

扫描完成后,您可以使用以下命令查看结果:

您将看到一个多窗格窗口,显示所有发现的漏洞。

扫描特定发行版

假设您有一台 IP 地址为 192.168.1.100 的 RHEL 9 服务器,并且您想用 Vuls 扫描它。为此,您首先必须使用以下命令下载特定于 RHEL 9 的 OVAL CVE 数据库:

sudo goval-dictionary fetch redhat 9 --dbpath /opt/vuls/oval.sqlite3

因为 Vuls 使用 SSH 并依赖于 SSH 密钥认证,所以您需要生成一个 SSH 密钥:

使用以下命令将密钥复制到服务器:

ssh-copy-id USERNAME@192.168.1.100

将上面的USERNAME文本替换为远程服务器上的用户名。

然后我们需要编辑 Vuls 配置文件,所以用以下命令打开它:

sudo nano /opt/vuls/config.toml

[servers.rhel] host = "192.168.10.100" port = "22" user = "USERNAME" keyPath = "/home/USERNAME/.ssh/id_rsa" scanMode = [ "fast-root" ] # "fast", "fast-root" or "deep"

确保将 IP 地址替换为远程服务器的 IP 地址,并将USERNAME替换为远程机器上的实际用户名。 保存并关闭文件。

再次使用以下命令运行配置测试:

您应该不会看到任何错误。

要在/opt/vuls目录中运行远程扫描,请发出以下命令:

扫描完成后,使用sudo vuls tui命令查看结果。

这就是在 Ubuntu Server 22.04 上安装 Vuls 漏洞扫描程序的全部内容。试试这个工具,看看它是否能帮助您发现连接到局域网的机器上的漏洞。

本文在云云众生()首发,欢迎大家访问。

来源:新浪财经

相关推荐