You are on page 1of 6

[Tutorial] Scanner de vulnerabilidades Nessus

#* [Tutorial] - Scanner de vulnerabilidades Nessus *#

#* Introdução *#

Olí pessoal.

Nesse tutorial irei mostrar um pouco a respeito do famoso Nessus. O Nessus é um


poderoso scanner de vulnerabilidades, o melhor para sistemas Unix e sistemas
GNU/Linux(se também não for considerado o melhor scanner, independente de
plataforma). Ele é muito completo, estando sendo sempre atualizado a partir dos
bugtraqs do seu próprio site e de sites famosos de segurança como o security
focus(http://www.securityfocus.com). Ele é capaz de scannear vírios tipos de
vulnerabilidades como vulnerabilidades de Unix, Windows, cgis, backdoors/trojans,
falhas de rpc, compartilhamentos de arquivos Windows desprotegidos, etc. Além de
ter vírias utilidades, como o famoso plugin Hydra(adaptação do programa THC-
Hydra do grupo The Hacker's Choice >> http://www.thc.org) que faz brute force
em centenas de protocolos como HTTP, FTP, etc. Um ponto forte do Nessus é que
ele não confia em absolutamente nada! Isso mesmo. Se pór exemplo, ele encontrar
a porta 80 de um host aberto, ele não vai logo de cara dizer que se trata de um
servidor web. Ele vai fazer todos os testes possàveis para ter certeza do que estí
rodando naquela porta, pois hí cavalos de tróia que usam a porta 80 para enganar
as regras de filtragem de um firewall por exemplo.

O Nessus é um scanner de vulnerabilidades que utiliza-se da tecnologia cliente-


servidor. Deve-se primeiramente configurar o servidor de modo correto, daà usa-se
o cliente para se conectar a ele e começar os testes de vulnerabilidades. Hí clientes
do Nessus tanto para plataformas Unix e GNU/Linux quanto para Windows. Mas o
servidor roda apenas em Unix e gnu/linux. Na verdade, existe um servidor Nessus
para Windows chamado NeWT, mas ele é comercial(e bem caro, estí na faixa dos
R$6.000,00). A versão gratuita desse mesmo servidor permite teste apenas na
mesma rede(ou seja, se o ip da rede for 192.168.0.0, você poderí scannear
computadores cujo os ips vão de 192.168.0.1 até 192.168.0.254). Nós utilizaremos
um sistema gnu/linux para as demonstrações descritas aqui. Apesar de no Windows
a interface do NessusWX(nome do cliente para Windows) ser mais bonitinha e
aparentemente mais fícil de usar, a linha de comando no linux lhe darí mais poder
de fogo e você aprenderí mais sobre o Nessus desse modo, mesmo o nessus no
Linux e no Unix ser um pouco mais complicado de usar do que no Windows.

A respeito do servidor: Ele pode estar tanto em uma míquina remota quanto na
mesma míquina que o cliente. No caso do Windows, aconselho usar o cliente em
uma míquina windows da famàlia NT e se conectar ao servidor remotamente em
uma míquina com algum unix instalado. Acho muito mais vantagem você gastar
menos de R$1.000,00 em uma míquina customizada e colocar um unix com um
server nessyus nele(só usí-la para isso) do que gastar mais de R$6.000,00 em um
servidor especàfco para Windows. Pois independente da escolha, os resultados
serão os mesmos e com a mesma eficiência.

#* Instalando o Nessus *#

Para se instalar o Nessus em sistemas Unix(HP-UX, Irix, Solaris, etc) baixe os


códigos fontes da pígina oficial do Nessus(http://www.nessus.org) e use a técnica
tradicional em seu terminal(obs: Execute esses comandos como root):
tar -xzvf nessus-2.x.0.tar.gz
cd nessus-2.x.0
./configure
make
make install

Para sistemas Linux baseados em red hat baixe o pacote rpm


em http://rpmfind.net e execute esse comando(sempre como root):

rpm -hiv Nessus-2.x.0.rpm

Para o Mandrake Linux:

urpmi nessus

Para o slackware:

Use o programa SlackPackage

Para o linux SuSe:

Utilize o programa YaST2(Programa de interface grífica).

Para o linux Gentoo:

emerge nessus

Para sistemas linux baseados em Debian, o comando é simples:

apt-get install Nessus

E o último e mais fícil de todos os métodos que funcinam para qualquer sistema
Unix e GNU/Linux. Execute esse comando:

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

Obs: Antes de instalar o nessus, verifique se você tem as bibliotecas gtk+ e


openSSL no seu sistema, pois o nessus farí uso delas. A gtk+ para a sua interface
grífica e a openSSL para sua conexão criptografada. O nmap também serí
necessírio no sistemam pois o nessus usarí recursos deles para alguns tipos de
scans.

Idependente do método utilizado para instalar o nessus, se nenhuma mensagem de


erro for apresentada(ou seja, dependência de outro arquivo), o nessus estarí
instalado em seu sistema. O cliente estarí localizado em /usr/local/bin(onde
usuírios normais terão acesso) e o servidor e arquivos complementares estarão em
em /usr/local/sbin(onde somente o root terí acesso). Agora tendo o nessus em seu
sistema, é preciso configurar seu servidor.

#* Configurando o servidor do Nessus *#

Neste exemplo, o servidor e o cliente estão na mesma míquina. A primeira coisa a


fazer é criar um usuírio para o nessus. Ele tem o seu próprio meio de cadastro de
usuírios e não considera os usuírios do sistema em si. Para adicionar um usuírio ao
nessus, utilize esse comando(como root):

nessus-adduser
A saàda serí parecisa com essa:

Using /var/tmp as a temporary file holder


Add a new nessusd user
--------------------------------------------
Login: <escreva>
Authentication (pass/cert) [pass]: (especifica se a autenticação do usuírio serí por
senha ou certificado. Digite pass aqui para escolher como senha)
Login Password: (digite uma senha para o usuírio).

Agora o programa pedirí as permissões que esse usuírio terí no nessus. Apenas
digite ctrl+D aqui para deixar esse usuírio com acesso a todos os recursos do
Nessus e depois digite "y"(sem as aspas) para confirmar.

Agora é preciso criar o certificado de criptografia do nessus. Uma sessão de scan


serí toda criptografada protegendo assim, o scan de sniffers. Para criar o certificado
de criptografia, execute o seguinte comando(como root! Não vou falar mais):

nessus-mkcert

Agora, o próximo comando é para atualizar os plugins do nessus. O nessus é um


scanner baseado em plugins. Vulnerabilidades novas, informações sobre qual
exploits usar, ataques de brute force e denial of service, tudo isso são plugins e é
recomendível que você execute esse comando pelo menos uma vez por semana
para sempre manter o banco de dados de vulnerabilidades do nessus atualizado.
Para atualizar os plugins do nessus, use esse comando:

nessus-update-plugins

Po último, temos de inicar o daemon do servidor. Sempre que você for usar o
nessus você deve dar esse comando, mas é possàvel editar o arquivo /etc/rc.local
para fazer o nessus sempre iniciar na hora do boot do sistema. Para iniciar o
daemon do nessus, digite:

nessusd -D

Coloque esse comando no arquivo /etc/rc.local. Assim o nessus sempre iniciíra no


boot do sistema.

Tendo configurado o servidor, vamos agora usar o nessus.

#* Entendendo e usando o nessus *#

Para executar o nessus e chamar a sua interface basta dar o seguinte comando em
um terminal(agora pode ser como usuírio normal do sistema ao invés do root)

nessus

Logo a interface do nessus aparecerí. Para começarmos, devemos nos conectar ao


servidor com a conta do usuírio próprio para o Nessus que criamos. Clique na aba
"Nessusd Host". Nela, você terí as seguintes informações:

Nessusd Host > Host onde se encontra o servidor do nessus. Como ele estí na
mesma míquina que o cliente, basta colocar localhost ou 127.0.0.1 que como todos
sabem, é o endereço ip da interface de rede LoopBack

Port > Porta de conexão. A padrão é a 1241(aconselho não alterar).

Login > Informe aqui o login do usuírio que você criou para o Nessus.

Password > Informe aqui a senha do usuírio que você criou para o Nessus.

Tendo preenchido essas informações, clique no botão "Log in" e você se conectarí
ao servidor. (note: você pode usar vírios servidores diferentes espalhados em vírias
míquinas remotas, mas apenas um por vez).

Após logar. O nessus solicitarí que você aceite o certificado sobre criptografia(ele só
aparecerí se for a primeira vez que você usa esse servidor), basta clicar em "I
accept". Em seguida, ele emitirí um aviso a respeito dos plugins "destrutivos" como
os de testes de Denial Of Service que estão por padrão desativados(você pode
ativí-los manualmente depois). De ok.

Agora conectado ao servidor, ví a aba plugins. Nessa aba escolheremos quais testes
iremos fazer habilitando seus determinados plugins. Os plugins estão divididos em
categorias como Windows, Backdoors, RPC, etc. Cada uma dessas categorias
possuem plugins que procuram por falhas nesses mesmos tipos de categoria. Você
pode habilitar ou desabitiar manualmente os plugins que você precisarí durante um
teste especàfico e desabilitar o que você não vai usar(para que deixar os plugins de
Unix ligados se você só estí scaneando míquinas windows?).

Essa interface de plugins vem com os seguintes botões de auxàlio:

Enable All > Habilita todas as categoris e plugins (inclusive os destrutivos).

Disable All > Desabilita todas as categoris e plugins (inclusive os destrutivos).

Enable All but dangerous plugins > Habilita todos os plugins, menos os destrutivos.

Upload plugins > Adiciona remotamente ou localmente plugins especàficos ao


servidor do nessus.

Filter plugin > Ativa o mecanismo de busca nessus(uma forma rípida de encontrar o
plugin certo para o momento dentro de cada categoria).

Muitos plugins trabalham em dependência um do outro, então, para evitar


frustrações, marque a opção "Enable dependencies at runtime".

Obs: Quanto mais plugins você deixar habilitado, mais demorado serí o teste,
podendo levar até mesmo dias. Portanto, quanto mais você saber sobre o seu alvo
melhor(alguém ai disse engenharia social?...).

Escolhido os plugins, temos agora de configurí-los. Clique na aba prefs.

Nessa aba você configurarí os plugins de acordo como achar melhor. Por exemplo,
se deve ou não desligar o trafégo icmp marcando ou não a opção "ping remote
host"(util para maquinas Windows, jí que a maioria delas não responde a icmp e
pode gerar respostas falsas), usar ack, syn, ou somente tcp(é aqui que
precisaremos dos recursos do nmap), etc. A engenharia social te ajudarí muito
aqui. Tendo configurado os plugins de acordo com as suas necessidades, vamos
para a aba Scan Options. Nessa aba configure as portas que serão scanneadas em
"port range". Por exemplo: 1-7000 (scaneias as primeiras 7000 portas tcp).
Informe o número de hosts a ser scaneado em "Number of hosts to test at the
same time", por exemplo, 255(uma rede de classe C). Você tem opções como
resolver endereços ips para dns,considerar todas as portas não-scanneadas como
fechadas, especificar um host para seu endereço mac, etc. Mas não marque a
opção datched scan pois você não conseguirí ver os resultados imediatos, pois essa
opção serve para o nessus trabalhar quando você precisar ir dormir e ter de
desligar o computador deixando o nessus trabalhando em background e depois
enviar o resultado do scan para um email especificado por você.

Tendo configurado as opções de scan, vamos para a aba "Target Selection" onde
escolheremos o alvo. Pode ser especificado de vírias formas em "Target(s):", mas
as mais comuns são:

(1-)url: por exemplo http://www.microsoft.com


(2-)ip: por exemplo 192.168.0.1
(3-)Faixa de ips: Por exemplo 192.168.0.1-200 (scanneia os alvos de 192.168.0.1
até 192.168.0.200, ou seja, 200 míquinas).
(4-)Míscara de rede(toda a rede): Por exemplo 192.168.0.0/24

Nessa aba hí uma opção muito interessante que recomendo marcí-la. Essa opção é
"Perform a dns zone transfer" que testarí se algum endereço de dns estí vulnerível
a tranferência de zona. Além de outras opções como salvar as configurações atuais
do nessus(tudo o que você configurou no cliente até agora).

Tendo configurado, basta dar star scan que o nessus começara o ataque contra o
seu alvo. Seja paciente pois o teste demora algum tempo, mesmo que o mouse e o
teclado não responda mais, o computador não travou. Seja paciente que no final o
nessus lhe apresentarí uma janela com todas as vulnerabilidades encontradas, além
de sua descrição, idade, o que afeta e o mais importante, o exploit a ser usado
para explora-la e como sanar a(s) vulnerabilidade(s).

No fim do teste, é possàvel salvar os resultados nos seguintes formatos clicando


em "scan report":

NBE(Formato padrão do nessus, útil para comparar resultados), XML, Html, texto
puro(ASCII) e LaTeX. Recomendo formatos html ou LaTeX ja que são mais
"elegantes" com gríficos, descrições detalhadas, etc (do jeito que seu chefe gosta
hehe).

últimas citações:

Pígina oficial: http://www.nessus.org


Toda documnetação de instalação e utilização do
nessus(importante): http://www.nessus.org/documentation
Download: http://www.nessus.org/download
Coletânea de plugins: http://www.nessus.org/plugins
Novidades: http://www.nessus.org/news

Leitura recomendada: Universidade H4CK3R - Livro de exercàcios Capàtulo


9(Scanners de vulnerabilidade - Nessus) píginas 91 a 114.

(Game over....)

FIM.
Bom gente, acaba por aqui. Espero que vocês tenham gostado.

Até mais.

Abraços.

You might also like