Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
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:
- nessus-libraries-1.x.x.tar.gz;
- nessus-core-1.x.x.tar.gz;
- libnasl-1.x.x.tar.gz;
- 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
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.
Avalie esta dica
- Currently 3.00/5
- 1
- 2
- 3
- 4
- 5
Avaliação:
3.0 /5
(403 votos)
Opinião dos Leitores
Dario
30 Set 2008, 22:08
Muito bem elaborado. Parabéns.
Espero que em breve tenhamos outros, e também sobre o Nessus.
Abraços
Dario