
Crie dados acionáveis a partir de suas Varreduras de Vulnerabilidade.

Crie dados acionáveis a partir de suas varreduras de vulnerabilidade

VulnWhisperer é uma ferramenta de gerenciamento de vulnerabilidades e agregador de relatórios. O VulnWhisperer irá buscar todos os relatórios dos diferentes scanners de vulnerabilidade e criar um arquivo com um nome de arquivo único para cada um, usando esses dados posteriormente para sincronizar com o Jira e alimentar o Logstash. O Jira faz um ciclo completo fechado de sincronização com os dados fornecidos pelos Scanners, enquanto o Logstash indexa e etiqueta todas as informações dentro do relatório (veja os arquivos logstash em /resources/elk6/pipeline/). Os dados são então enviados para o ElasticSearch para serem indexados e terminam em um formato visual e pesquisável no Kibana com painéis já definidos.
VulnWhisperer é um projeto de código aberto financiado pela comunidade. O VulnWhisperer atualmente funciona, mas precisa de uma revisão de documentação e código. Isso está no cronograma para o próximo mês ou dois (fevereiro ou março de 2022 - tomara). Por favor, note que o financiamento coletivo é uma opção. Se você deseja ajuda para configurar e executar o VulnWhisperer, está interessado em novos recursos ou está procurando suporte pago (para aqueles que exigem contratos de suporte comercial para implementar soluções de código aberto), entre em contato com [email protected].
Precisa de ajuda ou só quer conversar? Junte-se ao nosso canal do Slack
Instalar dependências de pacotes do SO (distribuições baseadas em Debian, CentOS não precisam)
sudo apt-get install zlib1g-dev libxml2-dev libxslt1-dev
(Opcional) Use um virtualenv python para não mexer nas bibliotecas python do host
virtualenv venv (criará o virtualenv python 2.7)
source venv/bin/activate (inicia o virtualenv, agora o pip será executado lá e deve instalar as bibliotecas sem sudo)
deactivate (para sair do virtualenv quando terminar)
Instalar requisitos de bibliotecas python
pip install -r /caminho/para/VulnWhisperer/requirements.txt
cd /caminho/para/VulnWhisperer
python setup.py install
(Opcional) Se estiver usando um proxy, adicione a URL do proxy como variável de ambiente no PATH
export HTTP_PROXY=http://exemplo.com:8080
export HTTPS_PROXY=http://exemplo.com:8080
Agora você está pronto para baixar varreduras. (veja a seção de execução)
Existem algumas etapas de configuração para configurar o VulnWhisperer:
Arquivo frameworks_example.ini

Para executar, preencha o arquivo de configuração com as configurações do seu scanner de vulnerabilidade. Em seguida, você pode executar a partir da linha de comando.
(flag opcional: -F -> fornece coloração de log "Fancy", bom para compreensão ao executar manualmente o VulnWhisperer)
vuln_whisperer -c configs/frameworks_example.ini -s nessus
ou
vuln_whisperer -c configs/frameworks_example.ini -s qualys
Se nenhuma seção for especificada (ex.: -s nessus), o vulnwhisperer verificará no arquivo de configuração os módulos que possuem a propriedade enabled=true e os executará sequencialmente.

O ELK é um mundo inteiro por si só, e para novatos na plataforma, requer habilidades básicas de Linux e geralmente um pouco de depuração até que seja implantado e funcione como esperado. Como não podemos fornecer suporte para cada problema de ELK dos usuários, montamos um docker-compose que inclui:
O docker-compose requer apenas especificar os caminhos onde os dados do VulnWhisperer serão salvos e onde os arquivos de configuração residem. Se executado diretamente após git clone, apenas adicionando a configuração do Scanner ao arquivo de configuração do VulnWhisperer (/resources/elk6/vulnwhisperer.ini), funcionará imediatamente.
Ele também cuida de carregar os Painéis e Visualizações do Kibana automaticamente através da API, o que precisa ser feito manualmente na inicialização do Kibana.
Para mais informações sobre o docker-compose, consulte a wiki do docker-compose ou o FAQ.
Nosso roteiro atual é o seguinte:
Além disso, tentamos focar em corrigir bugs o mais rápido possível, o que pode atrasar o desenvolvimento. Também aceitamos PRs com muito prazer, e assim que tivermos o novo padrão implementado, será muito fácil adicionar compatibilidade com novos scanners.
O Padrão de Vulnerabilidade inicialmente será um novo JSON simples de um nível com todas as informações que correspondem dos diferentes scanners, tendo nomes de variáveis padronizados, mantendo o restante das variáveis como estão. No futuro, quando tudo estiver implementado, avaliaremos a migração para um padrão existente como ECS ou AWS Vulnerability Schema; priorizamos funcionalidade sobre perfeição.