você está aqui: Home  → Arquivo de Mensagens

Introdução ao Nessus

Colaboração: Alexandre Takahashi

Data de Publicação: 10 de Junho de 2005

O Nessus é uma excelente ferramenta designada para testar e descobrir falhas de segurança (portas, vulnerabilidades, exploits) de uma ou mais máquinas.

Estas falhas ou problemas podem ser descobertos por um grupo hacker, um único hacker, uma empresa de segurança ou pelo próprio fabricante, podendo ser de maneira acidental ou proposital, O Nessus ajuda a identificar e resolver estes problemas antes que alguém tire vantagem destes com propósitos maliciosos.

O Nessus é distribuído sob os termos da Licença Pública Geral GNU, o suporte técnico pago para o Nessus pode ser visto no site http://www.tenablesecurity.com.

Uma das principais características do Nessus é a sua tecnologia cliente-servidor, onde os servidores podem ser alocados em pontos estratégicos da rede, permitindo testes de vários pontos diferentes. Um cliente central ou múltiplos clientes podem controlar todos os servidores. A parte servidor do

Nessus está disponível para a maioria das plataformas *nix (atualmente existe uma versão comercial do Nessus chamada NeWT para Windows, podendo ser avaliada por 7 dias sem custo) rodando também no MAC OS X e IBM/AIX, porém a instalação no Linux se mostra mais simples, essas características fornecem uma grande flexibilidade para o analista que realizará os testes. A parte cliente esta avaliável para Windows e Linux. A parte Servidor executa os testes enquanto a parte cliente permite a configuração e emissão de relatórios.

Este pequeno tutorial é baseado no artigo INTRODUCTION TO NESSUS escrito por Harry Anderson em três partes

Obtendo o Nessus

O Nessus pode ser obtido no formato rpm, mas recomenda-se baixar os fontes e compilá-los, para obter os fontes ou executáveis, acesse http://www.nessus.org e baixe os seguintes arquivos:

  1. nessus-libraries-1.x.x.tar.gz;
  2. nessus-core-1.x.x.tar.gz;
  3. libnasl-1.x.x.tar.gz;
  4. nessus-plugins-1.x.x.tar.gz;

Instalando o Nessus

A instalação do Nessus é simples. Primeiro é necessário ter algum S.O *nix. Segundo, a instalação de alguns programas de terceiros é recomendada: NMAP um dos mais conhecidos port scanners do mercado, Hydra software para teste de senhas fracas, Nikto para verificação de cgi/.script. Estes são os melhores softwares em suas respectivas categorias e são uma boa opção para incrementar as funcionalidades do Nessus. Quando instalados no PATH antes do Nessus, serão automaticamente adicionados as funcionalidades deste.

Descompacte os arquivos utilizando o comando

  tar  xvzf <<arquivo>>

Dentro de cada diretório que for criado, execute os seguintes comandos na ordem das pastas acima:

  ./configure
  ./make
  ./makeinstall

Obs.: É fortemente recomendado o uso de ./configure enable-cipher ao configurar o nessus-libraries, para ativar o layer de criptografia.

Outro método para instalar o Nessus é utilizando a instalação automática através do Lynx (Web Browser em texto, incluso na maioria das distribuições

Linux) a sintaxe para isto é:

  lynx -source http://install.nessus.org | sh

Este comando instala a parte Server na maioria das plataformas (*nix) sem necessidade de outros passos. Recomendamos ,porém , que a instalação seja feita através do download dos fontes e compilação dos mesmos.

Configuração

Após a instalação do servidor, deve-se seguir alguns passos:

Adicionar um novo usuário:

  nessus-adduser

O modo de autenticação pode variar ,sendo que a autenticação de senha encriptada é o mais recomendado, o próximo passo é informar regras para este usuário (Ex.: um usuário pode ser restrito a fazer scan somente de endereços IP s específicos).

Criar um certificado

Um certificado é requerido para encriptar o tráfego entre o cliente e o servidor.

  nessus-mkcert.

Plug-ins

Os plug-ins do Nessus são escritos usualmente em NASL (Nessus Attack Scripting Language), linguagem nativa do nessus, designada especificamente para testes de vulnerabilidade. Cada plug-in é específico para uma determinada vulnerabilidade conhecida e/ou para testar as melhores práticas do mercado. Os plug-ins NASL efetuam o teste através do envio de um código específico para o alvo, comparando os resultados com as vulnerabilidades armazenadas e conhecidas por este plug-in. Além do NASL existem scripts em C e Perl com finalidades específicas que não podem ser feitas facilmente utilizando o NASL.

Isto não quer dizer que você está limitado a lista de plug-ins existentes, podendo escrever um plug-in específico para sua empresa utilizando o NASL.

Antes de iniciar um scan os plug-ins devem ser atualizados. Isto pode ser feito através do comando nessus-update-plugins. Os plug-ins do Nessus são semelhantes às definições da maioria dos antivírus e o update deve ser feito com freqüência, visto que novas vulnerabilidades são descobertas todos os dias.

Executando

O Nessus está agora instalado e atualizado.

A maneira mais simples e rápida para iniciar o servidor é digitar nessusd D (Irá rodar como daemon, acrescentando & ao final, executará em Background).

Pode-se ainda iniciar o servidor de maneira que somente determinada estação consiga conectar-se, para tanto utilize

  nessusd -listen 192.168.0.100

ou

  nessusd -a 192.168.0.100.

Conectando ao Nessus

Para utilizar o Nessus é necessário se conectar ao servidor com o cliente. Há ,basicamente, três clientes. A GUI para *nix é instalada juntamente com o servidor, pode-se também utilizar o nessus através de linha de comando (sendo possível passar parâmetros) e há também o cliente para Windows (NessusWX).

A conexão ao servidor é feita fornecendo o endereço IP do servidor, um usuário e senha e clicando no botão login. Abaixo as telas de conexão da GUI para *nix e do NessusWX.

A conexão utilizando o NessusWX é similar, porém utiliza os menus Communications | Conect (F4).

O cliente se conecta através de uma conexão SSL e efetua o download dos plug-ins instalados no servidor.

Na primeira conexão, o certificado SSL é baixado e uma verificação deste é requerida. Esta verificação assegura que no futuro a conexão seja feita com o servidor pretendido.

Utilizando o Nessus

Plug-ins

Um dos aspectos mais óbvios e importantes do Nessus são os plug-ins. A escolha destes é crucial para um scan bem sucedido. A maioria dos plug-ins são muito bem escritos e raramente apontam um falso positivo ou falso negativo, contudo alguns poucos não seguem esta linha. Um exemplo é o plug-in que testa a vulnerabilidade Windows IIS RFP s MSDAC /RDS (esta vulnerabilidade utiliza o arquivo %system%/msadc/msadcs.dll e compromete todo o sistema nos servidores

IIS 4.0 sem o patch de correção), verifica somente a existência do arquivo, não verificando a versão do Windows, nem a aplicação do patch para esta vulnerabilidade. Habilitando este plug-in, haverá muitos falso positivo na maioria dos servidores rodando IIS.

Isto ocorre também em ferramentas comerciais, sendo que a diferença entre elas é que nas ferramentas comerciais, não é possível examinar os métodos utilizados para scan, dificultando identificar um falso positivo.

Escolha dos Plug-ins

Os plug-ins podem ser agrupados de diversas maneiras. Uma delas é agrupar por categoria. O mais importante é que alguns desses plug-ins são classificados como perigosos/negação de serviço (DoS). Estes plug-ins executam um ataque DoS e afetam os sistemas que possuem esta vulnerabilidade, não há grandes danos ao sistema afetado, mas por se tratar de um DoS, a reinicialização do alvo será necessária. Fica, portanto, desnecessário dizer que executar o scan com estes plug-ins habilitados deve ser feito com extrema cautela, principalmente em ambientes de produção.

Note que o autor do plug-in decide se este é perigoso ou não, como antes, a maioria destes é muito bem classificada e alguns poucos não o são. (um exemplo é o rpc_endpoint mapper plug-in) que faz um ataque DoS mas não está listado como perigoso.

Outra maneira de se agrupar os plug-ins é por família (Windows, FTP, SNMP, etc) porém como determinar se a vulnerabilidade atinge apenas o Windows ou apenas o ftp? Isto pode causar falsos positivos ou falsos negativos, mas também possui suas vantagens, como isolar certas vulnerabilidades.

Outro ponto importante a se observar é que mesmo um plug-in não perigoso pode derrubar a máquina alvo, visto que ele envia dados fora do padrão esperado, ou seja, sempre haverá o risco, embora raro, de se descobrir um novo DoS não documentado.

Os plug-ins perigosos são identificados com um triangulo ao lado da caixa de seleção.

No NessusWX não há nenhuma marcação especial para os plug-ins perigosos, sendo o botão Enable Non-DoS é a única opção para não habilitar esses plug-ins.

Safe-check

A opção safe-chek desabilita a parte perigosa dos plug-ins que possuem esta compatibilidade, fazendo com que o método de ataque seja passivo (apenas identificando a banner com a versão do software por exemplo). Porém, como efetua um teste passivo, pode causar falsos positivo ou negativo, em contrapartida, habilitar esta opção não irá derrubar a máquina alvo se esta estiver vulnerável.

Port Scanning

O port scanning é o processo pelo qual portas ativas para um endereço IP são identificadas. Cada porta é designada para uma aplicação específica (SMTP 25, SSH 22, etc).

O Nessus é um scanner simples, e somente executa o teste se o programa específico para este testes for encontrado, por exemplo, se em uma maquina X for encontrado somente um servidor Web executando (porta 80), então somente os testes para servidores Web serão executados. O Nessus possui ainda um plug-in chamado services, que identifica os serviços executados na máquina, portanto, mudar a porta do serviço não impedirá que o Nessus o identifique e execute somente os plug-ins selecionados pelo usuário e que são pertinentes a este serviço.

Há muitas opções no Nessus referente a port scan. O Nessus pode trabalhar interativamente com o NMAP (bastando que este seja instalado antes do Nessus), possui um scanner interno e um ping scan customizável. A escolha do tipo de scan e dos plug-ins que serão utilizados dependem da situação e do ambiente, bem como do que se quer testar.



Veja a relação completa dos artigos de Alexandre Takahashi

 

 

Opinião dos Leitores

Junio
09 Nov 2011, 07:59
Gostei muito da explicação! Estou em dúvidas quanto aos plugins do nessus (quais e quando usar). Gostaria de uma ajuda referente a isso em se tratando de um ambiente com vários tipos de servidores. Vocês tem algum material que possa me auxiliar nisso?
Fiz um relatório explicando a instalação e utilização do RISU (antigo nessusdb). Caso interesse a vocês, posso ajudar da mesma forma. Abraço!
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script