Você está na página 1de 54

Its specialization in solutions FOSS

"Free and Open Source Software"

Aviso
Este material foi desenvolvido como o objetivo de ser um apoio no estudo da disciplina de Segurana de Redes Linux/Unix utilizando ferramentas FOSS (Free and Open Source Software), mas em momento algum uma referncia definitiva, dessa forma as bibliografias indicadas so base para uma formao solida e coesa. Sendo relevante destacar que o Modelo Software Livre tem como princpio a segurana fundamentada na transparncia do cdigo aberto que pode ser auditado e questionado a qualquer momento. Cdigos fruto de pesquisa que na sua maioria so oriundos em

centros de pesquisas de Universidade dos quatro cantos do planeta.

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -2

Prof. Sandro Melo


sandro@4nix.com.br

Scanner de Vulnerabiliddades Web NIKTO

Conceituando Nikto
O Nikto considerado muito bom. um scanner de script CGI

Ele tem a capacidade de verificar vulnerabilidades CGI, podendo faz-lo de maneira evasiva, para enganar um IDS (Sistemas de deteco de Intruso) sendo um ferremanta tima para validar sistemas de segurana. Tem a capacidade de realizar uma Anlise de Vulnerabilidade Web via proxy (bounce).
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -5

Instalao Nikto
a) Realizando o download do Nikto.pl # wget http://www.cirt.net/nikto/nikto-current.tar.gz

b) Desempacotando o Nikto.pl # tar -xzvf nikto-current.tar.gz -C /usr/local

c) Utilizando o Nikto.pl # cd /usr/local/nikto-1.35 # ./nikto.pl # ./nikto.pl -V


Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -6

Instalao Nikto

d) Na configurao bsica do Nikto.pl encontramos o caminho dos plugins definidos na vriavel PLUGINDIR=/usr/local/nikto/plugins, descomente e crie o link: # vi /us/local/nikto-1.35/config.txt # ln -sf /usr/local/nikto-1.35 /usr/local/nikto

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -7

Utilizando Nikto
e) Atualizando os plugins de testes Vulnerabilidades para realizar uma Varredura de Vulnerabilidades Web com os ltimos plugins disponveis do projeto Nikto.pl: # ./nikto.pl -update f) Realizando um Teste de Vulnerabilidades com o Nikto.pl #./nikto.pl -h <ip_servidor> -g -p 80,443 |tee /root/relatorio.txt
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -8

Exerccio 1
Pontos relevantes para execuo dos exerccios: - Os procedimentos sugeridos nos exerccios no devem ser executados em um ambiente de produo e sim em um ambiente instalado com o propsito de realizao de testes. - O cenrio dever ser composto de duas mquinas, ficando por conta do aluno usar equipamentos ou recursos de virtualizao. - Uma mquina ser a estao de trabalho (Linux Box) onde dever ser instalada as ferramentas para realizao das atividades propostas; - O segundo um servidor (Linux ou Windows) para testes com um servio Web ativo e inicialmente para fins de simulao no dever ser aplicado nenhuma correo (patch).
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -9

Exerccios 1
Objetivos: Compreender o quanto o processo de Anlise de Vulnerabilidade importante a um administrador para avaliar a segurana dos ativos de rede. Como tambm a realizao a correlao de ferramentas para prova de conceito denominadas Exploits com as vulnerabilidades identificadas, para que seja possvel avaliar o quanto uma vulnerabilidade pode ser uma ameaa .

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -10

Exerccios 1
1 Realize uma Anlise de Vulnerabilidades Web: a) Execute um Anlise de Vulnerabilidades Web com Nikto.pl utilizando-o com seus plugins atualizados e salve relatrio gerado; b) Correlacione ferramentas de prova de conceito (exploit) para pelo menos 2 vulnerabilidades identificadas com seus respectivos registros de segurana identificado durante os processo de Anlise de Vulnerabilidades, vide exemplo de tabela.
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -11

Scanner de Vulnerabiliddades Full Services NESSUS

Conceituando o Nessus
O Nessus um scanner de Vulnerabilidades 'full-service'. Tem evoludo muito nos ltimos anos, intergrando capacidades de ferramentas como Queso, Nmap, Hydra. Sua arquitetura plug-in do Nessus permite que usurios personalizem-no para seus sistemas e redes. Todavia como qualquer Scanner de Vulnerabilidades to bom quanto o banco de dados de assinatura que possue, que no caso do Nessus esta vinculado aos mais de 10000 mil plugins que possue. Entrentando em um processo de Anlise de Vulnerabilidade podem ocorrer positivos e falsos negativos, cabendo a expertise do Adminstrador saber identificar o problema.
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -13

Nessus
Ele considerado um dos melhores softwares do mundo livre para varreduras de vulnerabilidades. Tendo como similar no mundo cdigo fechado ferramentas equivalentes como IIS-Scan, Languard-Scannes, Iris entre tantos outros. fato que o Scanner de Vulnerabilidades SATAN foi o primeiro quem fez histria no mundo NESSUS categoria.
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -14

*NIX, mas hoje o melhores de sua

considerado

um

dos

Nessus
Esta poderosa ferramenta scanner desenvolvida com intuito de testar a segurana de uma rede, seja ela remota ou local. Possui arquitetura modular e um aplicao

cliente/servidor. Baseado em cdigo aberto, tendo contribuies de vrios programadores espalhados no mundo.

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -15

Caractersticas
Plugins Desta forma fica fcil adicionar novas correes, sem ter que conhecer o cdigo. NASL - (Nessus attack scripting Language) Linguagem voltada para scripts que contem testes de segurana. Estes tambm podem ser escritos em C . http://www.nessus.org/documentation.html

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -16

Caractersticas
Up-to-date security - Atualizao frequente de plugins. A mesma tem como base as correes dirias de bugs comuns. Client-Server Arquitetura Cliente/Servidor. Foi

desenvolvido em 2 partes. O cliente (front-end), possvel rodar o cliente e o servidor em plataformas diferentes (X11, Win32 ou Java). Isso possibilita auditar sua rede ou computador, com flexibilidade.
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -17

Caractersticas
Dependendo da capacidade do host, possvel executar o Nessus em vrios hosts ao mesmo tempo. Verificao de integridade de servios - FTP anonymous, POP, RPC entre outros. Relatrios Complexos exportveis- HTML, txt... Classificao de segurana: Baixo a Muito Alto Suporte Multilingue

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -18

Nessus em Atividade
Servidor Nessus

Cliente Nessus

possvel usar o Nessus a partir de um cliente remoto ou no caso o Linux ter tanto o cliente como o server na mesma mquina. A varredura pode ser tanto em um host como em vrios hosts ao mesmo tempo.
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -19

Instalao
Um possibilidade de instalar o Nessus atravs de seu script de instalao utilizando o navegador Lynx , uma forma prtica e objetiva de instalar a ltima verso disponvel. Instalando com Lynx via internet: lynx -source install.nessus.org | sh obs.: necessrio a base de desenvolvimento C.

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -20

Instalao 2/5
A verso de pacotes RPM (1.0.6/1.1.2) que esto disponveis no site do Nessus uma verso antiga que funciona bem em Linux com kernel 2.2.x, mas ela tem problemas com as verses mais novas de plugins, aconselha-se no utiliz-la e a mesma no tem suporte a certificado, recomendavel a srie 2.2.x importante lembrar que as principais distribuies mantem pacotes de Nessus, nesse tutorial iremos exemplificar as instalaes das verses .deb, .rpm, via Port (FreeBSD) e a partir do fonte.
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -21

Instalao 3/5
Todos essas possibilidades so baseadas no fonte do projeto original disponvel em www.nessus.org e seus mirrors. Detalhes sobre os pacotes: Nessus - o pacote do server Nessus-client - o pacote do front end do cliente Nessus-devel- pacote das libs necessrias para Nessus Nessus-plugins - alguns plugins para aumenta o poder de fogo da analise de Vulnerabilidades.
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -22

Instalao 4/5
Outra forma de instalar via APT-GET para distro com DEBIAN que mantm em seus servidores APT verses do NESSUS. Exemplo: apt-get install libnessus-dev apt-get install libnessus2 apt-get install nessus apt-get install nessus-dev apt-get install nessus-plugins apt-get install nessusd
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -23

Instalao 5/5
E por fim a forma tradicional que seria atravs do cdigo fontes do programas que devem ser baixado do site oficial do projeto www.nessus.org : nessus-libraries-x.x.x.tar.gz libnasl-x.x.x.tar.gz nessus-core-x.x.x.tar.gz nessus-plugins-x.x.x.tar.gz

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -24

Compilao 1/4
Compilando e instalando o Nessus-libraries. tar -xzvf nessus-libraries.xxx.tar.gz cd nessus-libraries modo polido: ./configure make make install Gerando um ld.so.cache atualizado ldconfig Modo estressado :-) : ./configure && nice -n -19 make && make install && ldconfig
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -25

Compilao 2/4
Compilando e instalando o libnasl. tar -xzvf libnasl.xxx.tar.gz cd libnasl modo polido: ./configure make make install Gerando um ld.so.cache atualizado ldconfig Modo estressado :-) : ./configure && nice -n -19 make && make install && ldconfig
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -26

Compilao 3/4
Compilando e instalando o nessus-core. tar -xzvf nessus-core.xxx.tar.gz cd nessus-core modo polido: ./configure make make install Modo estressado :-) : ./configure && nice -n -19 make && make install

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -27

Compilao 4/4
Compilando e instalando o nessus-plugins. tar -xzvf nessus-plugins.xxx.tar.gz cd nessus-plugins modo polido: ./configure make make install

Modo estressado :-) : ./configure && nice -n -19 make && make install
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -28

Plugins
Como j foi mencionado o Nessus tem um lado

interessante, a parte de recursos para explorao de vulnerabiliades que modularizado, baseada em plugins, dessa forma podemos manter o servidor nessus sempre atualizado com os ltimos plugins direto do site do prprio nessus (www.nessus.org) Adicionando plugins com o comando: # nessus-update-plugins (etherape) Diretrio padro de plugins *.nasl: /usr/lib/nessus/plugins/
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -29

Criao de Conta
(forma clssica)
#nessusadduser Additionofanewnessusduser Login:penumbra Password:secret Authentificationtype(cipherorplaintext)[cipher]:cipher Nowentertherulesforthisuser,andhitctrlDonceyouare done: (theusercanhaveanemptyruleset) ^D Login:penumbra Pssword:secret Authentification:cipher Rules: Isthatok(y/n)?[y]y useradded

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -30

Criao de Conta
Forma prtica funcional na verso antigas RPM:

Direto no Shell: # nessusd -P user, senha Exemplo: # nessusd -P userninja,xyz Obs.: Essa senha que criada, seja na forma clssica ou na prtica para logar no servidor Nessus, lembre-se que na primeira vez que voc executa o Nessus ele solicitar uma frase chave que pode ser uma palavra que servir de senha para acesso ao cliente em si.
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -31

Levantando o Servidor Nessus


Aps a criao das contas, necessrio levantar o servidor, em distribuies padro RedHat procure pelo deamon em: /etc/rc.d/init.d Uma vez o servidor Nessus no ar basta entrar em uma interface grfica, abrir um terminal executar o nessus: # nessus Obs.: Na primeira que utilizamos nessus, ele solicitar uma frase chave como senha para entrar no cliente, como j foi citado essa senha no a senha do usurio nessus.
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -32

Autenticao do Cliente

Na prximo slid temos a tela de autenticao do cliente Nessus. A frase chave (senha) solicitada definida na primeira vez que inicializamos o nessus.

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -33

Usando Cliente
Como todo projeto OpenSource o Nessus tem muitos colaboradores e foi desenvolvido um client no oficial ao projeto denominado SUSSEN, entretando inicialmente iremos documentar o cliente oficial do projeto. Outro Software interessante seria o AutoScan que nas suas ltimas verses tornou operacional seu modulo cliente Nessus.

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -34

Autenticao de usurios no Servidor Nessus

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -35

Plugins Definimos quais o plugins iremos utilizar para a varredura, sendo vlido lembrar que o projeto Nessus solicita cadastramento na url www.nessus.org/register. Apos o registro um chave enviada para ativao com comando.
# nessus-fetch register [chave]

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -36

Preferncias Onde pode ser definidas nome de contas ou senhas comuns para o Nessus usar nos teste a um respectivo servidor

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -37

Scan Options Podemos definir detalhes para personalizar a forma para o Nessus usar no teste a um respectivo servidor durante o processo de varreduras de portas e CGI.
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -38

Target Selection
Onde definimos o ip do servidores, ou ips de servidores separado por vrgula ou ainda um range como definido na figura ao lado nas pginas a seguir veremos o Nessus em ao e um exemplo de relatrio!
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -39

Nessus em ao 1/2

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -40

Nessus em ao 1/2

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -41

Relatrio do Nessus

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -42

Relatrios

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -43

Relatrios

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -44

User Onde definimos polticas do host que podero acessar o servidor Nessus

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -45

Cliente MS-Windows p/ Nessus

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -46

Concluso
O Nessus sem dvida uma ferramenta que permitiria aos administradores levantar dados de seus servidores, possibilitando testa-los continuamente tornando-se um mencanismo para melhorar a segurana. Com esse consagrado software Livre possvel para qualquer corporao seguir as dicas de boas prticas de Testede Segurana recomendadas pelo NIST no documento Guideline Network Test Security.

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -47

Concluso
Torna-se relevante que como qualquer scanners de vulnerabilidade ele pode ser vtima de falso positivo e falso negativo assim sendo a certificao atravs de outros testes e outras ferramentas torna fundamental.

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -48

Exerccio 2
2 Realizando uma Anlise de Vulnerabilidades usando Nessus. Importante: O alvo ser o mesmo servidor utiizado no exerccio 1. a) Execute uma Anlise de Vulnerabilidades Web com Nessus aps atualizar seus plugins e salve relatrio gerado. utilizado todos os plugins disponiveis que seja relacionado aos respectivo alvo. Observe que deve ser executado o registro no site do projeto Nessus na url: http://www.nessus.org/register para que tenha acesso a todos o plugins. http://plugins.nessus.org/manual-register.php tar -xzvf all-2.0.tar.gz -C /var/lib/nessus/plugins
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -49

Exerccio 2
Pontos relevante: - Faa o cadastro no site do projeto do Nessus ( www.nessus.org/register/) para ter acesso a todos os plugins - Selecione somente plugins relacionado com o sistema operacional alvo - O relatorio dever ser salvo em formato HTML com grficos (Graphics and pies). b) Correlacione ferramentas de prova de conceito (exploit) para pelo menos 3 vulnerabilidade identificadas com seu respectivos registros de segurana identificado durante os processo de Anlise de Vulnerabilidades, vide exemplo de tabela.
Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -50

Exerccio 2
c) Elaborao de um relatrio de Anlise de Vulnerabilidade sobre mquina-alvo, contendo a seguinte estrutura: - Uma descrio do ambiente alvo; - Classificao das Vulnerabilidades identificadas e respectivos exploit ; - Anexar o relatorio do Nikto (exerccio 1); - Anexar o relatrio do Nessus (html com grficos exerccio 2).

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -51

Exerccio 3
3 Elaborando uma proposta cronolgica de Teste de Segurana:

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -52

Exerccio 3
a) Considere o mapa de rede a exemplificando na figura 3.1; b) Elabore uma tabela cronolgica para realizao de Testes de Segurana utilizando como referncia o modelo proposto (na seo 3-21) no Guideline on Network Security Testing do NIST elaborado em conjunto com o Departamento de Comrcio do Governo do Estado Unidos e que se encontra disponvel na url: http://csrc.nist.gov/publications/nistpubs/

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -53

Exerccio 3
Ou baixe com wget:
# wget http://csrc.nist.gov/publications/nistpubs/800-42/NIST-SP800-42.pdf

A matrix deve ter como colunas: Tipo de Teste ; Categoria 1 e frequncia; Categoria 2 e frequncia; Servidores em questo; Benefcio;

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -54