
从您的漏洞扫描中创建 可操作的数据

VulnWhisperer 是一个漏洞管理工具和报告聚合器。VulnWhisperer 将从不同的漏洞扫描器中拉取所有报告,并为每个报告创建一个具有唯一文件名的文件,随后将这些数据用于同步到 Jira 并馈送到 Logstash。Jira 会利用扫描器提供的数据执行完整的闭环同步,而 Logstash 则对报告内的所有信息进行索引和标记(请参见 /resources/elk6/pipeline/ 下的 logstash 文件)。数据随后被传输到 ElasticSearch 进行索引,最终在 Kibana 中以可视化且可搜索的格式呈现,并带有预定义的仪表板。
VulnWhisperer 是一个开源社区资助的项目。VulnWhisperer 目前可以运行,但需要进行文档整改和代码审查。这已列入未来一两个月的路线图(预计 2022 年 2 月或 3 月)。请注意,众筹是一种选择。如果您希望帮助启动和运行 VulnWhisperer,对新功能感兴趣,或需要付费支持(对于那些需要商业支持合同才能实施开源解决方案的用户),请通过 [email protected] 联系我们。
需要帮助或只是想聊一聊?加入我们的 slack 频道
安装操作系统包依赖项(基于 Debian 的发行版,CentOS 不需要)
sudo apt-get install zlib1g-dev libxml2-dev libxslt1-dev
(可选)使用 Python 虚拟环境以避免干扰主机 Python 库
virtualenv venv (将创建 python 2.7 虚拟环境)
source venv/bin/activate (启动虚拟环境,现在 pip 将在此运行,并且安装库无需 sudo)
deactivate (完成后退出虚拟环境)
安装 Python 库依赖项
pip install -r /path/to/VulnWhisperer/requirements.txt
cd /path/to/VulnWhisperer
python setup.py install
(可选)如果使用代理,请将代理 URL 添加为 PATH 环境变量
export HTTP_PROXY=http://example.com:8080
export HTTPS_PROXY=http://example.com:8080
现在您已准备好拉取扫描结果。(请参见运行部分)
设置 VulnWhisperer 需要几个配置步骤:

要运行,请使用您的漏洞扫描器设置填写配置文件。然后您可以从命令行执行。
(可选标志: -F -> 提供“花哨”的日志着色,有助于手动执行 VulnWhisperer 时的理解)
vuln_whisperer -c configs/frameworks_example.ini -s nessus
或
vuln_whisperer -c configs/frameworks_example.ini -s qualys
如果未指定部分(例如 -s nessus),vulnwhisperer 将检查配置文件中具有属性 enabled=true 的模块,并依次运行它们。

ELK 本身就是一个完整的世界,对于平台新手来说,它需要基本的 Linux 技能,并且通常需要一些故障排除才能部署并正常运行。由于我们无法为每个用户的 ELK 问题提供支持,因此我们整理了一个 docker-compose,其中包括:
该 docker-compose 仅需指定 VulnWhisperer 数据保存的路径以及配置文件所在的位置。如果在 git clone 之后直接运行,只需将扫描器配置添加到 VulnWhisperer 配置文件(/resources/elk6/vulnwhisperer.ini),它将开箱即用。
它还会自动通过 API 加载 Kibana 仪表板和可视化,否则需要在 Kibana 启动时手动完成。
有关 docker-compose 的更多信息,请查看 docker-compose Wiki 或 FAQ。
我们当前的路线图如下:
除此之外,我们力求尽快修复错误,这可能会延迟开发。我们非常欢迎 Pull Request,一旦我们实现了新的标准,添加对新扫描器的兼容性将变得非常容易。
漏洞标准最初将是一个新的简单单层 JSON,其中来自不同扫描器的匹配信息具有标准化的变量名,同时保持其余变量不变。将来,当一切实现后,我们将评估迁移到现有标准,如 ECS 或 AWS Vulnerability Schema;我们优先考虑功能性而非完美性。