Introdu??o ao Nessus

  • Post author:
  • Post category:Sem categoria

Artigo retirado do Dicas-L da Unicamp:

Colabora??o: Alexandre Takahashi

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

– http://www.securityfocus.com/infocus/1741 – parte 1
– http://www.securityfocus.com/infocus/1753 – parte 2
– http://www.securityfocus.com/infocus/1759 – parte 3

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 < >

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.