Saudações pessoal!
No post de hoje vamos aprender a utilizar o OpenVAS para escanear nossa rede em busca de vulnerabilidades. Passaremos por uma parte teórica introdutória, onde compreenderemos a ferramenta e sua história. Após isso trabalharemos com um laboratório prático!
OpenVAS – O que é?
OpenVAS (Open Vulnerability Assessment System, que em uma tradução livre para português seria Sistema Aberto de Avaliação de Vulnerabilidade, inicialmente GNessUs) trata-se de um framework de vários serviços e ferramentas que oferece uma solução de varredura e gerenciamento de vulnerabilidades.
Seus recursos incluem testes não autenticados, testes autenticados, vários protocolos industriais e de Internet de alto e baixo nível, ajuste de desempenho para varreduras em grande escala e uma poderosa linguagem de programação interna para implementar qualquer tipo de teste de vulnerabilidade.
O scanner é acompanhado por um feed de testes de vulnerabilidade com um longo histórico e atualizações diárias. Este feed da comunidade Greenbone inclui mais de 80.000 testes de vulnerabilidade.
O scanner é desenvolvido e mantido pela Greenbone Networks desde 2009. Os trabalhos são contribuídos como código aberto para a comunidade sob a GNU General Public License (GNU GPL).
A Greenbone desenvolve o OpenVAS como parte de sua família de produtos comerciais de gerenciamento de vulnerabilidade “Greenbone Security Manager” (GSM). OpenVAS é um elemento em uma arquitetura maior. Em combinação com módulos de código aberto adicionais, ele forma a solução Greenbone Vulnerability Management . Com base nisso, os dispositivos GSM usam um feed mais extenso que cobre as necessidades da empresa, um GVM com recursos adicionais, gerenciamento de dispositivos e um contrato de nível de serviço.
Laboratório Prático com OpenVAS
Configuração do ambiente
Existe a possibilidade da instalação do OpenVAS em qualquer sistema operacional Linux utilizando o código fonte. Porém, para facilitar nosso laboratório utilizaremos a versão 2021.2 do Kali Linux, disponível para download na página:
https://www.kali.org/get-kali/#kali-virtual-machines
Instalação da Ferramenta
Para realizar a instalação do OpenVAS siga os seguintes passos:
- Primeiro, eleve os privilégios do usuário “kali” para o usuário “root” com o comando
sudo -i
. - Atualize os repositórios do sistema com o comando
apt update
:
┌──(root💀kali)-[~]
└─# apt update
Get:1 http://kali.download/kali kali-rolling InRelease [30.5 kB]
Get:2 http://kali.download/kali kali-rolling/main amd64 Packages [17.7 MB]
Get:3 http://kali.download/kali kali-rolling/main amd64 Contents (deb) [39.8 MB]
Get:4 http://kali.download/kali kali-rolling/contrib amd64 Packages [108 kB]
Get:5 http://kali.download/kali kali-rolling/contrib amd64 Contents (deb) [123 kB]
Get:6 http://kali.download/kali kali-rolling/non-free amd64 Packages [199 kB]
Get:7 http://kali.download/kali kali-rolling/non-free amd64 Contents (deb) [954 kB]
Fetched 58.9 MB in 8s (6,959 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
157 packages can be upgraded. Run 'apt list --upgradable' to see them.
3. Realize a instalação do pacote openvas
com o comando:
┌──(root💀kali)-[~]
└─# apt install openvas -y
4. O OpenVAS possui uma instância própria do banco de dados Redis, que dentre várias outras coisas, trata-se de um banco de dados NoSQL com armazenamento em memória de alto desempenho. Podemos consultar o status do serviço Redis com o comando:
┌──(root💀kali)-[~]
└─# systemctl status [email protected]
5. O utilitário openvas-setup
foi descontinuado, e as novas versões do OpenVAS trazem o script gvm-setup
. Por razões de marketing, GVM significa Greenbone Vulnerability Manager. Na prática, pouco importa o nome do software, o importante para nós é que continue recebendo atualizações e que continue operando como Software Livre. Mas, voltando ao que interessa, o comando gvm-setup
irá definir o banco de dados PostgreSQL, criar o usuário admin e baixar / importar os dados de vulnerabilidades mais recentes para a utilização do software:
┌──(root💀kali)-[~]
└─# gvm-setup
6. O gvm-setup
exibirá a senha do administrador assim que finalizar a execução. Anote-a em um local seguro! Se você se esqueceu de anotá-la, pode redefinir a senha do administrador com o comando gvmd
executado com o usuário _gvm
. Por questões de segurança, ao redefinir a senha, certifique-se de apagar o histórico, afinal a senha estará nele.
┌──(root💀kali)-[~]
└─# su - _gvm -s /bin/sh -c "gvmd --user=admin --new-password mypasswd; history -c"
7. Você pode verificar sua instalação com o comando gvm-check-setup
:
┌──(root💀kali)-[~]
└─# gvm-check-setup
8. Para atualizar os dados de seu OpenVAS execute o comando:
┌──(root💀kali)-[~]
└─# gvm-feed-update
9. Na isntalação do OpenVAS o script gvm-start
responsável por iniciar os serviços necessários e iniciar a aplicação web na url https://127.0.0.1:9392, para login do OpenVAS é configurado. Este script precisa ser executado como root para funcionar. Por esse motivo, eu apenas habilito / inicio os serviços necessários do systemd com os comandos:
┌──(root💀kali)-[~]
└─# systemctl enable --now gvmd ospd-openvas
└─# systemctl enable --now greenbone-security-assistant
10. Finalmente, podemos acessar a url https://127.0.0.1:9392 para utilizarmos o Openvas:
Overview da Ferramenta
Antes de tudo, o link para a documentação oficial do OpenVAS está disponível no link:
https://docs.greenbone.net/GSM-Manual/gos-20.08/en/index.html#
As principais definições de segurança que o OpenVAS utiliza são as seguintes:
- NVT (Network Vulnerability Tests)
Teste que detecta vulnerabilidades nos alvos. - CVE (Common Vulnerabilities and Exposures)
A maioria das pessoas conhece esse termo, ele fornece uma maneira padrão de publicar informações sobre vulnerabilidades de segurança. - CPE (Common Enumeration)
CPE é menos conhecido, é uma forma padrão de descrever o dispositivo, sistema, software para informações de segurança. por exemplo, OpenSSH rodando em GNU / Linux. - OVAL (Open Vulnerability Assessment Language)
Esta é uma lista que os fornecedores publicam com seu software e as vulnerabilidades. O scanner de segurança como o OpenVAS pode usar esses dados para detectar software desatualizado.Outras ferramentas de segurança de código aberto que podem usar essas informações são OpenSCAP , ovaldi .Este é um padrão desenvolvido pelo NIST como parte do SCAP (Security Automation Protocol)PARA SUA INFORMAÇÃO:A maioria das distribuições Linux publica dados OVAL.Uma distribuição que não publica OVAL é Centos. O Redhat publica dados OVAL para RHEL, mas não para Centos. Você pode atualizar os dados do Redhat OVAL para Centos (adicionar o Centos CPE ao Redhat OVAL), mas isso não é certificado oficialmente. Também com a mudança para o stream CentOS, isso não será mais possível … - CERT-Bind Advisories
CERT-Bund Advisories são publicados pelo CERT-Bund . - Avisos
DFN-CERT Os avisos DFN-CERT são publicados pelo DFN-CERT .
Configurações do Escaneamento
Na quia “Configuration > Scan Configs” você pode definir as configurações de varredura a serem executadas. Essas configurações são totalmente personalizáveis, e minha sugestão é adequar ao seu cenário, visando otimizar as varreduras.
A configuração padrão não pode ser atualizada, mas pode ser clonada. Veja abaixo um exemplo de clone:
Se você deseja escanear apenas sistemas GNU / Linux, por exemplo, é possível criar um perfil personalizado apenas com as distribuições Linux que você usa, isso irá acelerar a varredura. Lembre-se de que o OpenVAS precisa ter acesso ao sistema para detectar software desatualizado com as “Verificações de segurança locais” com uma varredura autenticada.
Existem várias formas de autenticação disponíveis, ambas podem ser configuradas em “Configuração > Credenciais. É importante ressaltar que devemos sempre ter cuidado ao criar varreduras com acessos nas máquinas, visando evitar comprometimentos de segurança por má configuração das ferramentas.
Configurando Alvos
Para criar um novo alvo de escaneamento, acesse [Configuração] [Destinos] e clique no ícone [Novo destino] . Isso abrirá a janela “Novo destino” .
Você pode configurar seu destino nesta janela, preencher o endereço IP etc. Se você sabe que seu destino tem um firewall em execução, você pode definir “Teste ativo ” para “Considerar ativo” .
Depois de configurar as credenciais para seu destino, você pode configurá-las na seção “Credenciais para verificações autenticadas” .
Pressione [Salvar] para salvar o alvo.
VarreduraLink permanente
Configure a varredura
Para configurar a digitalização, vá para a guia [Digitalizações] e selecione [Tarefas] .
Clique no ícone [Nova Tarefa] para obter duas opções “Nova Tarefa” e “Nova Tarefa de Container” .
Um “Container Scan” é usado para importar relatórios de outros Greenbone Security Managers. Uma “varredura normal” executará a varredura no alvo.
Vamos configurar a verificação regular, então selecione “Nova Tarefa” .
Isso irá abrir uma nova janela para configuração. Existem dois tipos de scanners integrados ao OpenVAS:
- OpenVAS Default Scanner
Isso executará uma verificação de segurança no destino. - Scanner CVE
Este scanner é usado para fazer uma previsão dos possíveis riscos de segurança com base nas informações do Alvo que foram coletadas por varreduras anteriores (como o Scanner OpenVAS). Ele pega o CPE (informações do software instalado etc) e faz uma previsão de possíveis riscos de segurança com as informações do CVE encontradas em [SecInfo] .
Com Alterable Task , podemos especificar se a tarefa pode ser atualizada, se permitirmos que a tarefa seja alterável, os relatórios da verificação são mais difíceis de comparar com as verificações anteriores.
Em Scan Config , selecionamos a configuração de digitalização desejada e selecione [Full and fast] .
Clique no ícone [Iniciar digitalização] para iniciar a digitalização.
Dependendo da configuração de varredura e do número de hosts em sua configuração de tarefa de varredura, isso levará algum tempo.
Resultados
Para ver o relatório da verificação, você pode clicar na coluna Relatórios ao lado da verificação. Na guia [Varreduras], você pode selecionar Relatórios , Resultados , Vulnerabilidades .
Na guia Painéis, você obtém uma boa visão geral da Varredura e dos resultados. Também é possível criar painéis personalizados.
Esta foi uma breve introdução a ferramenta.
Continue a estudando para aprofundar seus conhecimentos!