Professional Documents
Culture Documents
de Sistemas de Informao
Segurana em Aplicaes web Reconhecimento
Italo Valcy <italo@dcc.ufba.br>
EstematerialfoibaseadonocursoTestedeinvasodeAplicaes
Web,oferecidopelaEscolaSuperiordeRedesdaRNPedeautoria
deNelsonUto/CpqD.Maisinformaes:http://www.scribd.com/ESR_RNP
2 / 48
Introduo
3 / 48
Introduo
Teste de invaso (teste de intruso, teste de
penetrao ou pentest):
Mtodo usado para checar a segurana de um
sistema, simulando ataques reais e explorando
vulnerabilidades
4 / 48
Introduo
Podem ser classificados pela quantidade de
informaes disponibilizadas ao auditor
Teste caixa-preta: mesmas condies de um atacante
real (apenas informaes pblicas: IP/DNS, ramo de
negcio, etc)
Teste caixa-branca: todas as informaes so
fornecidas ao auditor (topologias, plataformas usadas,
cdigos-fonte, etc.). Simula ex-colaboradores
Teste caixa-cinza: fornece algumas informaes ao
auditor que um atacante real descobriria, cedo ou tarde.
Maior agilidade no pentest.
5 / 48
Introduo
Metodologia OSSTMM 3 (Open Source Security Testing
Methodology Manual)
Foco na equipe (capacidade de detectar e se defender de um
ataque) e no na aplicao
6 / 48
Introduo
Testes de invaso so importantes no
desenvolvimento e manuteno de software
seguro:
Evitam que vulnerabilidades sejam inseridas em
ambiente de produo
Avaliam a susceptibilidade dos sistemas a novos
tipos de ataque
Avaliam a capacidade da equipe de segurana a
detectar ataques
7 / 48
8 / 48
9 / 48
10 / 48
11 / 48
12 / 48
13 / 48
O processo cclico
Italo Valcy Seg e Auditoria de SI, 2013.1
14 / 48
15 / 48
Membros da diretoria
Impactos decorrentes dos ataques possveis
16 / 48
Ferramentas bsicas
17 / 48
Ferramentas
O auditor deve ter s mos um conjunto de
ferramentas (livres ou proprietrias) para
trabalhar
Notebook com opes de ferramentas e scripts
18 / 48
Ferramentas
Categorias de ferramentas importantes:
Navegadores web
Proxies de interceptao
Web spiders
Fuzzers
Varredores de portas de servio
Varredores de vulnerabilidades
Outras ferramentas
Italo Valcy Seg e Auditoria de SI, 2013.1
19 / 48
Navegadores web
Fundamental na auditoria de aplicaes web
Diferenas no uso do HTTP e no tratamento de
HTML
Alguns ataques so especficos para navegadores
Fonte: NetMarketShare
Italo Valcy Seg e Auditoria de SI, 2013.1
20 / 48
Proxies de interceptao
Permite interceptar e modificar requisies e
respostas HTTP
Executa na mesma mquina que o navegador
Navegador direciona o trfego para o proxy
21 / 48
Proxies de interceptao
Exemplo de proxy para HTTPS
22 / 48
Proxies de interceptao
Ferramentas
23 / 48
Web spiders
Tambm conhecida como web crawlers
Objetivo montar automaticamente o mapa da
aplicao
Simples para contedo esttico
Difcil para aplicaes web atuais (javascript, forms,
tipos de dados, autenticao)
Deve reconhecer retornos de erro
24 / 48
Fuzzers
Usado para identificar falhas no tratamento e
validao de informaes
Testar valores fora do padro esperado
Testes de cross-site scripting
25 / 48
26 / 48
Exemplo: nmap
Pode ser usado para varrer uma mquina ou uma
rede
Interface grfica: Zenmap, NmapSI
27 / 48
Varredores de vulnerabilidades
Visa encontrar vulnerabilidades em um ativo, de forma
automatizada
Envio de requisies e anlise de respostas
Ex: busca por diretrios conhecidos em certas plataformas
28 / 48
Varredores de vulnerabilidades
Estudo de Doup, Cova, Vigna (2010), contra a
aplicao WackoPicko (16 vulnerabilidades)
29 / 48
Varredores de vulnerabilidades
Outras ferramentas:
Netcat: permite envio/recebimento de dados via TCP
e UDP, em modo raw.
OpenSSL: permite trabalhar com SSL e TLS,
inclusive estabelecendo conexes (s_client: como
netcat, porm TCP)
Nikto: varredura de servidores web em busca de
arquivos padres, verses com vulnerabilidades
conhecidas, etc.
Metasploit framework: base de dados de exploits.
w3af: Web Application Attack and Audit Framework.
Italo Valcy Seg e Auditoria de SI, 2013.1
30 / 48
Reconhecimento
31 / 48
Reconhecimento
Visa levantar o mximo possvel de informaes do aplicativo
Qual tipo de informao est sendo buscada?
Nomes de funcionrios
Identificadores de usurios
Informaes diversas sobre os usurios
Tecnologias empregadas (ex: plataformas, linguagens)
Servidores e topologias de rede (ex: scan de portas e servios)
Configuraes dos componentes
Recursos que o servidor web disponibiliza (ex: cpias de segurana de
arquivos)
Arquivos robots.txt
32 / 48
Reconhecimento
Levantamento de informaes em fontes pblicas
33 / 48
Reconhecimento
Google hacking
34 / 48
Google hacking
Regras bsicas
O google ignora algumas palavras fornecidas (tidas como comum)
Use o smbolo * em substituio de termos desconhecidos
Case-insensitive (exceto termo OR)
Os termos so procurados em qualquer local da pgina (ttulo,
corpo, URL)
Agrupamento com aspas duplas
Limite de termos na busca (32 termos)
Ordem dos termos afeta a busca
Operador OR (maisculo) pode ser usado (AND padro)
Operador -, filtra pginas com presena do termo seguido
Operador +, fora incluso de termos ignorados pelo Google, alm
de desabilitar sinnimos
35 / 48
Google hacking
Operadores avanados
36 / 48
Google hacking
Operadores avanados
37 / 48
Google hacking
Operadores avanados Exemplos
38 / 48
39 / 48
40 / 48
41 / 48
42 / 48
43 / 48
44 / 48
Deteco de VirtualHosts
Comum hospedar diversos sites em um
servidor
Virtual Hosting (IP-based, name-based)
Diferenciao pelo cabealho Host
Como detectar:
Resoluo de nomes e
comparao
Ferramentas de mapeamento
IP => domnio DNS
45 / 48
Descoberta de arquivos/diretrios
Google hacking: mecanismo de descoberta no
intrusivo
Ferramenta mais agressiva: Nikto
Testa a presena
de certos itens de
configurao
Base previamente
cadastrada
46 / 48
47 / 48
Prtica
Prtica: 02
./download-pratica.sh 02
48 / 48