这里是普通文章模块栏目内容页
VulnWhisperer:数据可被ElasticSearch索引的漏洞数据及报告整合工具

VulnWhisperer是一个漏洞数据和报告的整合工具。VulnWhisperer会提取所有报告并创建一个具有唯一文件名的文件,然后将其发送给logstash。Logstash则会从文件名中提取数据标记报告中的所有信息(请参阅logstash_vulnwhisp.conf文件),并最终将数据发送到elasticsearch进行索引。

vuln_whisperer_logo_s.png

当前支持 漏洞框架:

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仪表板

#p#分页标题#e#

frameworks_example.ini文件:

config_example.png

运行

填写必要信息至ini配置文件,然后执行如下命令。

vuln_whisperer -c configs/frameworks_example.ini -s nessus or vuln_whisperer -c configs/frameworks_example.ini -s qualys

running_vuln_whisperer.png

每晚运行

如果你当前运行的系统为linux,请务必创建一个cronjob以删除存储在数据库中的旧文件。如果你正在使用json,请务必更改.csv。

使用以下设置创建用户级的crontab - 其表示将在每晚的0130运行vulnwhisperer:

00 1 * * * /usr/bin/find /opt/vulnwhisp/ -type f -name '*.csv' -ctime +3 -exec rm {} \; 30 1 * * * /usr/local/bin/vuln_whisperer -c /opt/vulnwhisp/configs/example.ini

而对于Windows系统,你可能需要在bin目录中的vulnWhisperer中键入二进制文件的完整路径。

收藏
0
有帮助
0
没帮助
0