1) O documento discute o scanner de vulnerabilidades open source Nessus, incluindo sua arquitetura, instalação, configuração e uso.
2) É apresentada a agenda do treinamento sobre portas e serviços de rede, segurança, varreduras, tipos de portas, identificação de ameaças e vulnerabilidades.
3) São descritas as características, tipos de licenciamento e uso do Nessus, tanto individualmente quanto em conjunto com outras ferramentas.
1. Backtrack Brasil
Nessus
OpenSource Scanner Vulnerability
Mauro Risonho de Paula Assumpção
A.K.A firebits (firebits@backtrack.com.br)
www.backtrack.com.br
2. Agenda
● - Portas e Serviços IP
● - Segurança da Máquina
● - O que é Varredura e Tecnicas de Varreduras
● - Tipos de Portas Clássicas, Demonstrações e Práticas reais
● - O que é uma ameaça, avaliar ameaças, riscos à segurança de
redes
● - Identificar as necessidades de segurança de rede, causas dos
problemas, características, fatores motivadores de invasão de
rede e ameaças mais significativas
3. Agenda
● - Conceito de Vulnerabilidade, Ameaça, Risco,
Plano de Contingência, Gerenciamento de Risco,
Invasor, Metodologias de Seguranças na Grandes
Empresas
● - Exemplo de informações sensíveis em um
sistema e casos de usos na área de segurança e
exemplos
● - O que é Nessus
4. Agenda
● Tipos de licenciamento
● - Arquitetura
● - Instalação
● - Configuração
● - Plugins
● - Linguagem de Programação para Vulnerabilidades
NASL (Nessus Attack Scripting Language) baseada em
C
5. Agenda
● Usando o Nessus
● - Comandos via shell console e via interface gráfica
● Relatórios
● - Uso em conjunto com NMAP
● - Testes iniciais, simulações de ambiente e exemplos
● - Uso Técnicas de Verificação Black Box (Caixa Preta) e White Box
(Caixa Branca)
● - Modelos Contratos e Políticas para garantir o profissional da área
de segurança e seus clientes
● Principais centros de Bugs-Tracks e Vulnerabilidade e outros sites
Relativos
6. Agenda
● - Introdução ao Nessus
● - Tempo de Varredura e Scanning
● - Arquitetura do Nessus
● - Nessus em Ação
● - Metodologias para Scanning
● - Relatórios
7. Características do
Nessus
● - Detecção remota de vírus
● - Identificação remota de serviços
● - Detecção de configurações impróprias
● - Politicas de segurança nos equipamentos
● - Detecção de Access points wireless intrusos
● - Scanning distribuído
● - Avaliação das ameaças de uma empresa
● - Desenho e Topologia dos serviços da rede
8. Tipos de Scan
Tipo de Scans Comentários Varredura Varredura Discrição (ser ou não Rapidez Precisão
Interna Externa detectável por IDS ou
IPS)
ICMP Pings Utilizar se não existir Sugerido Não Sugerido Pode ser detectado por Aumenta rapidez Muito preciso
firewall entre o servidor IDS ou honeypots dos scans desde que os
e o host pings não estejam
bloqueados
TCP Pings Utilizar em sistemas Não Sugerido Sugerido Menos obvio do que Aumenta rapidez Sistemas cujas
com firewall se existirem ICMP Pings dos scans portas não tenham
portas conhecidas a sido selecionadas
serem utilizadas vão ser
esquecidos
(não serão
varridos)
SYN Scan Possibilita opções Sugerido Sugerido Tende a misturar-se na Depende das Muito preciso
flexíveis em tempo confusão nos Logs opções de rapidez
TCP Connect() Probabilidade menor de Funciona bem Funciona bem Óbvio em logs IDS Mais lento do que Mais fácil de
provocar denial of SYN bloquear do que
service SYN
9. Tipos de Uso
Situação Nota Safe- Dangerous Ping Port Scan Portos a varrer Características
Check plugins
Novo sistema Melhor altura para Não Todos os Sim TCP SYN Portas 1-1024 e as Completo. Lento. Crash
ainda não em testar. Não há nada a Plugins da lista de serviços provável.
produção estragar! do NMAP
Sistema em Colocar em Sim Não Sim TCP Connect Sub-conjunto 80, Crash improvável.
produção de Manutenção. 8080,135,
elevada No final, fazer um 139,445, 443, 21,
utilização. scan com Dangerous 161
Plug-ins
Sistema em No final, fazer um Sim Não Sim SYN scan 1 -1024 and NMAP Lento. Crash improvável.
produção de scan com Dangerous services ports
baixa utilização. Plug-ins
Sistema ligado à Provavelmente atrás Sim Sim (depois de Não SYN scan Portas 1-1024 e as Lento.
internet de uma Firewall um safe check da lista de serviços
incial) do NMAP
Scan Rápido Sim Não Sim SYN scan Sub-conjunto 80, Rápido. Detecta a maior
8080,135, parte dos problemas.
139,445, 443, 21,
161
Scan Discreto Sim Não Não SYN scan Com Sub-conjunto 80,
opção scan 8080,135,
lento 139,445, 443, 21,
161
Relatório Não Sim Não SYN scan Scan TCP e UDP
Completo
10. Resolução de
Problemas
- Uma vez obtida a lista, há que resolver os problemas encontrados.
- Algumas vulnerabilidades são óbvias de resolver sendo que o Nessus até
apresenta links para se obterem os respectivos patchs.
- Outras situações não são tão simples e implicam alguma pesquisa. Quando
disponível, são indicados o BID: Bugtraq ID e o CVE: Common Vulnerability
Exposure.
- Após terem sido tomadas medidas de correcção deveremos executar novo
scan para comprovar se os problemas foram superados. Infelizmente, após
aplicação de alguns patches, surgem novas vulnerabilidades
11. Análise em
Vulnerabilidades
● Toda organização necessita de uma infra-estrutura
de redes muito bem elaborada. O objetivo da
Análise de vulnerabilidade é reduzir o risco em
relação aos incidentes de segurança, seja tanto na
rede interna quanto na externa, é necessário
detectar essas possíveis falhas e corrigí-las para
garantir que a rede esteja em um nível de
segurança adequada.
12. Análise em
Vulnerabilidades
● A análise de vulnerabilidade visa detectar falhas em
diversos componentes como: aplicações, softwares,
equipamentos, sistemas operacionais, dentre outros.
● Deve-se fazer continuamente o processo de verificação e
análise da rede, para que a mesma fique sempre
atualizada e livre de acessos não permitidos e
indesejáveis.
● Essa análise pode ser feita local e/ou remota.
13. Análise em
Vulnerabilidades
● Após tal análise são oferecidos relatórios com as
respectivas soluções propostas.
● Nestes relatórios podem constar também itens dos
quais objetiva-se melhorar a segurança do
ambiente, não necessariamente relacionados às
falhas encontradas.
14. Análise em
Vulnerabilidades
Divide-se em dois tipos:
Ativa - Encontra-se e corrigi-se as falhas, emitindo
relatórios apenas do que foi feito.
● Passiva - Encontra-se as falhas e emite-se
relatórios para que o cliente se encarregue de
corrigir
15. Análise em
Vulnerabilidades
● Objetivo: compreender as vulnerabilidades: quais
são, o que as causa e quais seus efeitos.
● Testes de invasão só fazem sentido se você
souber o quê vai testar e analisar o resultado.
● É importante também saber como corrigir as
vulnerabilidades detectadas.
16. Análise vulnerabilidade
fator importante
● Todo sistema computadorizado possui diversas entradas e saídas
lógicas disponíveis para a comunicação entre seus próprios
componentes ou aplicações externas.
● As vulnerabilidades e exposições, de modo geral podem ser as
que:
● - Permitem que um atacante execute comandos;
● - Alcance os dados privados
● - Se comporte como uma entidade reconhecida.
17. Análise vulnerabilidade
fator importante
A análise de vulnerabilidade é um dos itens fundamentais no
gerenciamento de risco, pois de forma freqüente são verificadas as
vulnerabilidades ou exposições existentes.
As principais vantagens nas atividades da análise de vulnerabilidade
são:
- Identificação das vulnerabilidades;
- Correção das vulnerabilidades reduzindo os riscos;
- Mapeamento proativo das ameaças existentes;
- Redução no tempo de paradas;
- Economia de recursos e Maior controle sobre os potenciais de riscos.
18. Introdução ao Nessus
● Uma ferramenta ”Livre, Poderosa, fácil de usar e
atualizar, scanner de segurança remota”.
● Open-source, livre para usar, modificar e etc.
● Definições de Vulnerabilidades, chamadas Plugins,
na versão Home atendem bem as necessidades.
● Fácil de manter a persperctiva sobre Scanning de
Vulnerabilidades.
19. Introdução ao Nessus
● Plugins – Usa uma linguagem própria (NASL),
semelhante a linguagem C, para determinar como
os testes de vulnerabilidades serao feitos.
● Arquitetura Cliente/Servidor – Cliente e Servidor
podendo ser usado em qualquer lugar da rede.
● Porta: 31337 Será detectado com Servidor de FTP
20. Introdução ao Nessus
● Scanning Inteligente – FTP anônimo
● Relatórios providenciam listas de vulnerabilidades
e grande número de soluções.
● Cliente / Servidor – usa criptografia SSL para
proteger resultados dos relatórios
21. Tempo de Varredura e
Scanning
Demora muito fazer varreduras e gerar relatorios (Depende)
- Número de Hosts
- Número de Portas Abertas
- Número de Servicos sendo executados nestas Portas
- Qual tipo de host (Windows, Linux, Mac e outros
Dispositivos).
- Dimensionamento do Hardware
22. Tempo de Varredura e
Scanning
Demora muito fazer varreduras e gerar relatorios ?
(Depende)
- Quanto hosts possuem firewalls.
- Velocidade da rede
- Outros trafegos de rede
- Quantas vulnerabilidades possuem
- Se o(s) Host(s) travam depois do scanning do primeiro
plugin ou antes do ultimo plugin.
23. Tempo de Varredura e
Scanning
● - 1 Host = 1 manha ou 1 tarde
● - Mais de 1 Host = 1 Dia
● - Toda Classe C Subnet = 2 – 3 Dias
● - Toda Classe B = Semanas (cuidado)
● - Toda Classe A = ??? (muito cuidado)
24. Etapas das
Metodologias
Avaliação de
Vulnerabilidades e Pla
de neja
Análise de Riscos M m
Se étodo ento
gu
r an s de
ça
Gerenciamento
de Mudanças
Auditorias, Diretrizes;
Contingência, Políticas;
Recuperação Padrões; Seleção e
Procedimentos Implantação
& Indicadores de Soluções
Mo
Ind nitora e
i ca çã nto
Se dore o de n am e ção
gu
r an s d e Trei acita
ça Ca p
28. Mercado de Trabalho
● Empresas de pequeno porte
● - Poucos recursos finaceiros
● - Acúmulo de funções:
– - Administrador de sistemas (analista de segurança)
– - Programador (noções de segurança)
● - Empresas de médio e grande porte
● - Equipe dedicada aos eventos de segurança
● - Time de resposta à incidentes
● - Empresas especializadas
● - Open Communications Security / Módulo
29. Dificuldades de
Aceitação nas Empresas
● - Área em constante evolução
● - Paradoxos:
● - Segurança X Funcionalidade
56. Nessus Server
● - É um daemon (Serviço em execução) foco mais
em plataforma UNIX (Unix, Linux, *BSD)
57. Nessus – Report
(Relatórios)
● - Em diferentes formatos (XML, NSE, NRE, HTML,
HTML com Gráficos, TXT e outros)
● Problema – Como encaminhar estes relatórios
com segurança ao cliente (usuário)?
58. Nessus - Comercial
● - http://www.tenablesecurity.com/ - Complete
- Nessus Systems
● - Renaud Deraison - Director of Research (Criador)
● - Ron Gula - Chief Technology Officer
● - Nessus Consoles, Proxies, and
Appliances(Nessus Scanner BoxS)
59. Combinações com
Aplicações
● Os resultados dos relatórios (XML, TXT) podem
ser inseridos em um banco de dados
● Os resultados dos relatórios podem ser exibidos
em páginas de internet usando um servidor de
web.
● As contas dos usuários com vulnerabilidades
podem ser vistos nos relatórios.
60. Metodologias
Scannings
● Alguns usuários podem usar e scannear seu
próprio computador (se for o caso) e enviar o(s)
relatório(s)
● Você pode fazer scanning de um range de Ips e
obter o(s) relatório(s)
● Alguns usuários podem usar e scannear seu
próprio computador (se for o caso), mediante ao
servidor e o próprio lhe enviar o(s) relatório(s)
● Quando um usuário conectar à rede, o próprio
Nessus pode conectar à máquina do usuário e
iniciar um scanning (popular com conexões
61. Metodologias
Scannings
● O servidor pode realizar scanning regulares
(diários, semanais e mensais) e o próprio lhe
enviar o(s) relatório(s) para comparação dos
mesmos.
62. Nessus - elementos
● Nessus
O Cliente parte de suite Nessus Security
Scanner
● Exemplo:
nessus c /root/nessus/nessus.rc T html qx
localhost 1241 batch batch1
/root/nessus/target
/var/www/html/nessus/results.html
63. Nessus - elementos
● Nessus
Sintaxe:
nessus [v] [h] [n] [T <type>] [q [pPS]
host port user password targets results]
nessus i in.[nsr|nbe] o out.[html|xml|nsr|nbe]
64. Nessus - elementos
● Nessus
opções:
c <configfile>, configfile=<configfile>
use another configuration file.
n, nopixmaps
no pixmaps. This is handy if you are running
nessus on a remote computer.
65. Nessus - elementos
● Nessus
opções:
q, batchmode
quiet mode or batch mode. Setting this option
makes the nessus client expect all of the following
settings..
p
obtain list of plugins installed on the server.
P
obtain list of server and plugin preferences.
66. Nessus - elementos
● Nessus
opções:
host
is the nessusd host to whom you will connect.
port
is the port to which you will connect on the remote
nessusd host.
user
is the user name to use to connect to nessusd.
67. Nessus - elementos
● Nessus
opções:
password
is the password associated with this user name.
targets
is the name of a file containing the target
machines.
results
is the name of the file where the results will be
stored at the end of the test.
68. Nessus - elementos
● Nessus
opções:
r <reportfile>, openreport=<reportfile>
Using the GUI, nessus visualizes a report file from
a previous session. Repeating this option, more
files are displayed.
T <type>, outputtype="<type>"
Save the data as <type>, where <type> can be
“nbe”, “html”, “html_graph”, “text”, “xml”, “old-xml”,
“tex” or “nsr”.
V, verbose
69. Nessus - elementos
● Nessus
opções:
x, dontchecksslcert
do not check SSL certificates.
v, version
shows version number and quits.
h, help
lists the available options
70. Nessus - elementos
● Nessus
arquivo importante – pasta Home do Usuário:
~/.nessusrc
is the client configuration file, which contains the
options about which nessusd server to connect to,
which plugins to activate, and so on. The file is
created automatically if it does not exist.
71. Nessus - elementos
● nessus-adduser
add a user in the nessusd userbase
● Exemplo:
nessusadduser
72. Nessus - elementos
● nessus-adduser
uso:
Login
the login name of the nessusd user to add.
Password
the password that the user will use to connect to
nessusd.
Authentification type
the authentification method the client will use.
The recommended method is “cipher”. However,
73. Nessus - elementos
● nessus-adduser
uso:
Rules
the set of rules to apply to the user. See below.
74. Nessus - elementos
● nessus-adduser
Rules:
Each user has his own set of rules. Rules are
here to restrict the rights of the users. For
instance, you can add user “joe” so that he
can only test the host
“192.168.1.1”, whereas you can add user “bob”
so that he can test whatever IP address he
wishes.
Each rule fits on one line. A user can have an
unlimited amount of rules (and can even have
no rule at all).
75. Nessus - elementos
● nessus-adduser
Rules:
Each rule fits on one line. A user can have an
unlimited amount of rules (and can even have
no rule at all).
The syntax is:
accept|deny ip/mask
and
default accept|deny
76. Nessus - elementos
● nessus-adduser
Rules:
Where mask is the CIDR netmask of the rule.
The default statement must be the last rule
and defines the policy of the user.
The following rule set will allow the user to
test 192.168.1.0/24, 192.168.3.0/24 and
172.22.0.0/16, but nothing else:
accept 192.168.1.0/24
accept 192.168.3.0/24
77. Nessus - elementos
● nessus-adduser
Rules:
The following rule set will allow the user to
test whatever he wants, except the network
192.168.1.0/24:
deny 192.168.1.0/24
default accept
The keyword client_ip has been defined, and is
replaced at run time by the IP address of the
nessusd user. For instance, if you want your
users to be able to only be able to scan the
system they come from, then you want them to
have the following ruleset:
78. Nessus - elementos
● nessus-build
opções:
password
is the password associated with this user name.
targets
is the name of a file containing the target
machines.
results
is the name of the file where the results will be
stored at the end of the test.
79. Nessus - elementos
● nessus-build
build a Nessus plugin from a C source file
● Exemplo:
nessusbuild exploitIIS.c exploitIIS.nes
80. Nessus - elementos
● nessus-check-signature
A simple utility to check (or generate) the
signature of plugins retrieved from
www.nessus.org
● Exemplo:
nessusbuild exploitIIS.c exploitIIS.nes
81. Nessus - elementos
nessus-adduser
Using /var/tmp as a temporary file holder
Add a new nessusd user
----------------------
Login : teste
Authentication (pass/cert) [pass] :
Login password :
Login password (again)
82. Nessus - elementos
User rules
----------
nessusd has a rules system which allows you to
restrict the hosts
that teste has the right to test. For instance, you
may want
him to be able to scan his own host only.
Please see the nessus-adduser(8) man page for
the rules syntax
83. Nessus - elementos
Login: teste
Password: ***********
DN:
Rules:
Is that ok ? (y/n) [y] y
user added.
87. Referências
● Official site
http://www.nessus.org
● Developers site
http://cvs.nessus.org
AUTHORS
The Nessus Project was started and is being
maintained by Renaud Deraison
<deraison@cvs.nessus.org>. The nessusd server
is mainly Copyright (C) 1998-2001 Renaud