Analisadores de vulnerabilidades costumam ser muito úteis para entender a que nível de risco um ambiente está exposto, mas o problema é que diversas empresas buscam por eles tendo uma ideia errada sobre sua finalidade. Neste artigo, irei explicar o que é e o que não é um scanner de vulnerabilidades e, para isso, começarei falando sobre o que essas ferramentas não são.
Scanners de vulnerabilidade x Pentesting (testes de invasão): eles são iguais?
Não é raro ver empresas que desejam fazer um pentest em seu ambiente e acabam recorrendo a scanners de vulnerabilidades por acharem que se trata da mesma coisa.
Esse erro é comum quando ainda não se tem uma visão mais ampla sobre o que envolve uma análise de vulnerabilidades e um pentest. Vamos dar um exemplo de um administrador de rede da empresa fictícia ACME, ele pensa: “bom, eu preciso analisar meu ambiente inteiro, um pentest vai analisar a segurança e o scanner de vulnerabilidade também, mas o scanner de vulnerabilidades tem versões gratuitas/trial que eu mesmo posso executar. Sendo assim ele é melhor!”.
Primeiro de tudo, o pentest tem uma série de passos, se formos considerar o padrão adotado pelo Penetration Testing Execution Standard (PTES), ele se divide em:
- Pre-engagement interactions
- Intelligence gathering
- Threat modeling
- Vulnerability analysis
- Exploitation
- Post-exploitation
- Reporting
A análise de vulnerabilidades é apenas uma das etapas desse longo e complexo processo, por isso devem ser tratados como coisas distintas.
As ferramentas de scanner de vulnerabilidade são realmente úteis e eficientes?
Sim, são muito úteis e eficientes. Elas não podem ser substituídas por um pentest, mas conseguem trazer diversos pontos úteis a um ambiente, como, por exemplo, permitir a análise constante do ambiente em busca de vulnerabilidades recém descobertas, indicar a prioridade em relação ao que deve ser tratado com base na criticidade da vulnerabilidade, além de ter o foco que a empresa necessita, pois será administrado pelo responsável de segurança que interage constantemente com o ambiente e pode definir qual local será mais ostensivamente testado.
Para ambientes com a segurança ainda mais madura e robusta, como, por exemplo, os ambientes de empresas que atendam a normas como a PCI-DSS (Payment Card Industry Data Security Standard), há uma periodicidade mínima para que haja os dois tipos de testes, tanto a análise de vulnerabilidades como o pentest do ambiente, para assegurar que as devidas medidas de segurança estão sendo tomadas.
Como usar o Nexpose
Primeiro é necessário ir até o site do fabricante e selecionar a opção GET STARTED.
Logo abaixo de Nexpose selecionar a opção Free Trial.
Neste momento, aparecerá uma tela solicitando dados cadastrais. O usuário deve preencher todos os dados e selecionar a opção Submit ao final da página.
A licença de uso do período será enviada por e-mail.
Para o download do produto serão dadas as opções de instaladores para Windows ou Linux, ou uma imagem pronta de uma máquina virtual da solução.
Para deixar o processo ainda mais simplificado, utilizaremos para este exemplo o download da máquina virtual. Após importá-la para o seu software de virtualização de preferência, basta fazer a inicialização e a tela de login na console será apresentada.
Após o download, será necessário importar a imagem OVA no software de virtualização de sua preferência.
Em seguida, basta iniciar a máquina virtual e a tela abaixo será exibida.
As credenciais para acesso são:
- usuário: nexpose
- senha: nexpose
E claro, assim que a primeira autenticação é feita, a solicitação para a troca de senha é exigida. Mesmo em ambiente de testes, recomendamos que a senha seja alterada para um padrão mais seguro do que o configurado de fábrica.
Após o login na console, basta configurar um IP para a interface de rede do appliance e acessar sua interface web para administração e utilização da ferramenta.
Observação: A nome placa de rede descrita na documentação da Rapid7 é ens32 (ao invés de eth0), mas a placa de rede que encontrei na hora de instalar o appliance é denominada como enp0s17. Para identificar a placa de rede reconhecida no sistema, utilize o comando ip a.
Após a configuração, basta abrir o navegador e acessar a porta 3780 do endereço de IP que foi configurado na máquina virtual e pronto. Agora sim, a interface estará disponível para acesso.
Há muitas possibilidades de varredura, divisão de computadores em grupos e fontes de dados para as vulnerabilidades conhecidas, mas para não estendermos muito o assunto, focaremos apenas no processo de criação de um site (conjunto de IPs que será analisado), falando brevemente sobre as possibilidades de resultados e relatórios que a ferramenta pode emitir.
Criação
A tela inicial da solução, o dashboard, já possui a opção CREATE SITE, e iremos usá-la.
Info & Security
Neste momento, uma janela para criação do site será exibida com as opções de nome, importância e descrição.
Assets
Depois do preenchimento, vamos até a aba ativos. Nela é possível configurar um ou mais hosts, uma rede inteira ou ambos. Caso seja mais fácil para o administrador, também é permitido escolher uma opção de importação de hosts por meio de arquivo.
Há uma série de outros parâmetros aceitos pela solução para que a varredura fique ainda mais personalizada.
Autenticação
Permite a configuração de credenciais para que o scanner se autentique nos computadores/serviços que seja necessário testar, podendo trazer resultados mais profundos sobre as vulnerabilidades presentes no ambiente.
Templates
Determina a forma como o scan vai se comportar, de formas mais breves e que analisem menos itens até varreduras profundas e extensas que buscam exaurir quase todas as possibilidades de comprometimento de determinada vulnerabilidade. Há diversas opções disponíveis e é necessário selecionar qual delas melhor se adequa à varredura pretendida.
É importante salientar que, mesmo sendo desenvolvidos para atuar com o mínimo de ruído na rede, os scanners de vulnerabilidades podem impactar no desempeno do serviço a ser testado. Sendo assim, é uma boa prática deixar as equipes responsáveis por cada um dos serviços a serem testados de sobreaviso, caso algo fuja dos padrões.
Engines
O Nexpose vem com um mecanismo de varredura chamado “Local scan engine”, que será usado em nosso exemplo, mas também permite que outras engines de varredura sejam adicionadas a ele.
Alerts
Gera um alerta para diferentes tipos de evento que podem acontecer no processo de análise, como, por exemplo, início e fim do processo, falha, eventos de determinado tipo de severidade, entre outros. Estes eventos podem ser enviados por e-mail, um log deles pode ser gerado diretamente no Nexpose ou ele pode ser direcionado a outro servidor via mensagem syslog.
Schedule
Existem duas divisões em Schedule, a primeira permite que o administrador configure horários específicos para que as varreduras aconteçam. A segunda, denominada Blackout, estipula horários de janela no qual a varredura não deverá ser executada ou para que a solução interrompa a varredura, fazendo com que ela seja executada em outro momento.
Note que a opção de SAVE & SCAN está sempre habilitada, o que permite que, caso o administrador queira fazer uma varredura rápida, seja possível realizar o processo sem configurar todas as opções descritas acima.
A próxima seção se destina a relatórios, mas é importantíssimo salientar que por toda a ferramenta é possível encontrar informações sobre quais vulnerabilidades foram encontradas em cada ambiente, qual equipamento, qual a criticidade, gráficos sobre quanto do ambiente já foi analisado, sistemas operacionais encontrados, e uma outra infinidade e informações, basta navegar por todas as opções da ferramenta.
Relatórios
Os relatórios, é claro, são apenas uma parte consolidada daquilo que foi encontrado no ambiente, podendo apresentar as máquinas mais preocupantes, quais as principais ameaças, as soluções de contenção mais recomendadas, entre muitas outras coisas.
Dos relatórios padrões disponibilizados pela ferramenta, o de auditoria (Audit Report) é o mais completo e pode se estender por centenas de páginas.
Cada um deles dá um direcionamento de quais caminhos podem ser seguidos para lidar com as vulnerabilidades do ambiente.
Tanto o Nexpose como as diversas outras soluções de análise de vulnerabilidades são muito úteis no auxílio às áreas dedicadas a cuidar da proteção do ambiente e podem auxiliar bastante na elevação do nível de segurança da rede como um todo, direcionando esforços para remediar os pontos destacados por elas.