VulnWhisperer:数据可被ElasticSearch索引的漏洞数据及报告整合工具
作者:CQITer小编 时间:2018-07-28 01:02
VulnWhisperer是一个漏洞数据和报告的整合工具。VulnWhisperer会提取所有报告并创建一个具有唯一文件名的文件,然后将其发送给logstash。Logstash则会从文件名中提取数据标记报告中的所有信息(请参阅logstash_vulnwhisp.conf文件),并最终将数据发送到elasticsearch进行索引。

Nessus (v6 & v7)
Qualys Web Applications
Qualys Vulnerability Management
OpenVAS
Tenable.io
Nexpose(暂不支持)
Insight VM(暂不支持)
NMAP(暂不支持)
更多
安装及操作概要:1.严格遵循安装要求。
2.在example.ini文件中填写你要处理的部分。
3.修改logstash文件中的IP,并将它们导入到logstash conf目录(默认为/etc/logstash/conf.d/)。
4.导入kibana可视化。
5.运行。
安装环境1.ElasticStack 5.x
2.Python 2.7
3.漏洞扫描器
可选:Message broker 例如Kafka或RabbitMQ
VulnWhisperer安装(可能需要sudo)首先,我们需要安装其依赖项:
sudo apt-get install zlib1g-dev libxml2-dev libxslt1-dev接着,我们安装依赖模块:
cd deps/qualysapi python setup.py install最后,安装VulnWhisperer:
pip install -r /path/to/VulnWhisperer/requirements.txt cd /path/to/VulnWhisperer python setup.py install ELK节点安装示例如果你没有现成的ELK集群/节点,以下将为你提供在Debian上的Elasticsearch&Kibana独立节点的安装指南。
请注意,还有一个docker-compose.yml文件也可用。
Debian: https://www.elastic.co/guide/en/elasticsearch/reference/5.6/deb.html
sudo apt-get install -y default-jre wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - sudo apt-get install apt-transport-https echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list sudo apt-get update && sudo apt-get install elasticsearch kibana logstash sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable elasticsearch.service sudo /bin/systemctl enable kibana.service sudo /bin/systemctl enable logstash.service Elasticsearch&Kibana配置示例使用你喜欢的文本编辑器
获取主机IP,更改etc /elasticsearch/elasticsearch.yml文件中的IP。(默认为’localhost’)
验证Elasticsearch是否在端口9200上运行。(默认)
获取主机IP,更改/etc/kibana/kibana.yml文件中的IP(默认为’localhost’)。验证Kibana是否指向正确的Elasticsearch IP。(这是在上一步中设置的)
验证Kibana是否在端口5601上运行。(默认)
启动elasticsearch,验证它们是否正在运行/相互通信:
sudo service elasticsearch start sudo service kibana start或
sudo systemctl start elasticsearch.service sudo systemctl start kibana.service Logstash配置说明示例将/VulnWhisperer/logstash/中的Logstash .conf文件,复制或移动到/etc/logstash/conf.d/
验证Logstash.conf文件输入,是否已在input.file.path目录中包含了VulnWhisper Scans的正确位置:
input { file { path => "/opt/vulnwhisperer/nessus/**/*" start_position => "beginning" tags => "nessus" type => "nessus" } }验证Logstash.conf文件输出,是否已包含了上一步中正确的Elasticsearch IP设置(默认为localhost):
output { if "nessus" in [tags] or [type] == "nessus" { #stdout { codec => rubydebug } elasticsearch { hosts => [ "localhost:9200" ] index => "logstash-vulnwhisperer-%{+YYYY.MM}" } }验证logstash是否已具有正确的文件权限,可以读取VulnWhisperer Scans的位置。
配置完成后运行Logstash 作为服务运行Logstash将获取/etc/logstash/conf.d/中的所有文件。如果你只想运行单个logstash文件,请参考以下命令):
作为服务运行Logstash将获取/etc/logstash/conf.d/中的所有文件。如果你只想运行单个logstash文件,请参考以下命令):作为服务运行Logstash:
sudo service logstash start或
sudo systemctl start logstash.service单个logstash文件:
sudo /usr/share/logstash/bin/logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/1000_nessus_process_file.conf 配置 VulnWhisperer配置:1.配置Ini文件
2.设置Logstash文件
3.导入ElasticSearch模板
4.导入Kibana仪表板



