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

Tutorial Nexus

Embed Size (px)

Citation preview

Page 1: Tutorial Nexus

[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.gzcd nessus-2.x.0./configure

Page 2: Tutorial Nexus

makemake 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 holderAdd a new nessusd user--------------------------------------------

Page 3: Tutorial Nexus

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.

Page 4: Tutorial Nexus

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

Page 5: Tutorial Nexus

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.orgToda documnetação de instalação e utilização do nessus(importante): http://www.nessus.org/documentationDownload: http://www.nessus.org/downloadColetânea de plugins: http://www.nessus.org/pluginsNovidades: 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.