1. Metodologia, Técnicas e Ferramentas para testes de Intrusão
em servidores
Rodrigo Cesar Benaglia Piovesana
2012 - v1.1
2. Bibliografia...
MELO, Sandro. Projetos de Segurança com Software Livre. Rio de Janeiro, Editora Altabooks, 1ª edição,
2001.
MELO, Sandro e outros. BS7799 da Tática a Prática em Servidores Linux. Rio de Janeiro, Editora
Altabooks, 1ª edição, 2006.
MELO, Sandro. Exploração de Vulnerabilidades em Redes TCP/IP. Rio de Janeiro, Editora Altabooks, 2ª
edição, 2006.
MELO, Sandro. Computação Forense com Software Livre, conceitos, técnicas, ferramentas e Estudos de
Casos. Rio de Janeiro, Editora Altabooks, 1ª edição, 2008.
CURPHEY, Mark. OWASP Web Applications Penetration Checklist. OWASP, 2004.
HERZOG, Pete. OSSTMM 2.1.1 Open – Source Security Testing Methodology Manual. ISECOM, 2005.
LONG, Johnny. Google Hacking for Penetration Testers. Rockland, Syngress Publishing, Inc., 2005.
NIZAMUTDINOV, Marsel. Hacker Web Exploitation Uncovered. Wyane: A- LIST Publishing, 2005.
SCAMBRAY, Joel; SHEMA, Mike. Hacking Exposed Web Applications. Berkley, McGraw-Hill, 2002.
WACK, John; TRACY, Miles; SOUPPAYA, Murugiah. NIST –SP800-42: Guideline on Network Security
Testing. Washington: Natl. Inst. Stand. Technol. Spec., 2003.
WHITAKER, Andrew; NEWMAN, Daniel P. Penetration Testing and Network Defense. Indianapolis: Cisco
Press, 2005.
4. Eu?
Rodrigo Cesar Benaglia Piovesana
Engenheiro de computação
Pós-graduação em Telecomunicações
Certificações na area de Redes e Segurança
Instrutor para diversas empresas de
segurança.
6. OSSTMM
Open Source Security Testing Methodology
Manual
OpSec ( operational Security)
Separação e Controles
Para uma ameaça ser efetiva, ela tem que
interagir diretamente ou não com o ativo.
É possivel ter 100% de segurança se a ameaça
e o ativo estiverem separados.
Ou então prover controles para que o ativo seja
protegido ou minizar os impactos
8. OSSTMM
Controles
”Just Because you can't directly control it doesn't
mean it can't be controlled. Control the environment
and you control everything in it”
12 categorias
Todos os tipos de controles possíveis
Identification / Authorization
Identificação e Autorização não podem ser
operacionalizadas, devido a não transferencia
de atividade.
Você deixaria a cargo de outro processo a
autorização/autenticação de um acesso a sua
rede?
10. OSSTMM
Teste de Segurança
O que você quer proteger?
Determinar escopo e limites
Engagement zone (arredores do ativo)
Vectors (inside to outside and outside to inside)
Channels (Human, physical, wireless,
telecommunication and data networks).
Tipos de testes (blind, double blind, gray box,
double gray box, tandem and reversal).
Rules of engagement (mal entendidos, etc)
11. Blind
War Gaming
Role Playing
Atacante não sabe as defesas, mas o alvo esta
pronto para se auditado
12. Double Blind
Blackbox test
Penetration Test
Atacante não sabe as defesas e o alvo não
sabe como será feito o ataque
13. Gray box
Vulnerability test
Atacante com conhecimento de todos os
canais e com conhecimento parcial das
defesas. Alvo preparado para auditoria.
14. Double Gray box
Whitebox
AAtacante com conhecimento de todos os
canais e com conhecimento parcial das
defesas. Alvo preparado para auditoria e com
conhecimento do escopo.
15. Tandem
Crystalbox
Atacante com conhecimento de todos os
canais e com conhecimento total das defesas.
Alvo preparado para auditoria e com
conhecimento do escopo.
16. Reversal
Red team exercise
Teste de vulnerabilidades e controles.
17. Preparando o ataque/teste
5 fases principais
Reconnaissance
Scanning
Gaining Access
Maintaing Access
Clearing Tracks
Completando essas fases podemos ter um
sistema totalmente sobre o nosso comando
18. Reconnaissance
Fase de conhecimento e levantamento das
informações.
Envolve interação direta ou indiretamente com
o alvo
19. Footprint
Processo de levantamento de dados de um
alvo especifico, conhecimento do ambiente.
Como resultado teremos um mapa completo da
organização (internet, redes DMZ e intranets,
redes corporativas), além de ativos.
É a parte do processo onde você gastará mais
energia.
20. Footprint
Internet
Domain name, IP ranges, System enumerations.
Intranet
Protocolos de redes usados, endereços ip,
Arquitetura de sistemas.
Extranet
Tipos de conexões, acessos, autenticação.
DMZ
Segmentos de redes e protocolos usados.
21. Footprint
Passivo
Não há contato diretamente com o alvo
Google (GHDB), whois,URLs internos, etc
www.archive.org
Sites de empregos
Ativo
Contato direto com o alvo usando ferramentas ou
scripts.
23. Footprint
DNS
A = ip do host
MX = servidor de email
NS = servidor de nomes
CNAME = alias para algum computador
RP = pessoas responsavel
SOA = autoridade para o dominio
SRV = Localização de serviços
HINFO = informações sobre o HOST e SO.
24. Footprint - Lab
Lab 1 – Realizar o teste com as ferramentas
abaixo. Localizar um determinado dominio e
encontrar as informações referentes ao alvo.
Exemplo:
#whois www.terra.com.br
#whois www.icq.com
#whois www.lulzsecbrazil.com.br
25. Footprint - Lab
Lab 2 – Dnsenum
Realizar o levantamento das informações
utilizando a ferramenta Dnsenum (Diretorio
/pentest/enumeration/dns/dnsenum
#./dnsenum www.uol.com.br
26. Footprint - Lab
Lab 3 – Dnswalk
Realizar a transferencia de zona com Dnswalk
(/pentest/enumeration/dns/dnswalk)
#./dnswalk checkpoint.com.
27. Footprint - lab
Lab 4- Dnsmap
Realizar o mapeamento de sub-dominios de
um determinado alvo. World list padrão.
#./dnsmap uol.com.br
Dica: construa a sua propria wordlist.
− Na mão (editando um arquivo de texto)
− Ou usando ferramentas,por exemplo: crunch
(/pentest/password/crunch)
28. Footprint - lab
Extra: verificar o funcionamento das ferramentas
list-urls e metagoofil (fantastico!)
Ex: ./list-urls dominio.com
Ex: /metagoofil.py -d faar.edu.br -l 200 -n 50 -t
doc,pdf -o microsoftfiles
29. Fingerprint
Fingerprint é o processo de identificação alvo,
após o levantamento das informalções pelo
processo de footprint.
Contato direto com ativos da rede.
Várias ferramentas, depende do serviço que
queira mapear.
30. Fingerprint - lab
Lab 5 – UserAgent
Realizar a conexão com um site usando a
ferramenta ua-tester e verificar o output.
#./Uatester.py -u www.site.com.br
31. Fingerprint – Lab
Lab 6 – Webshag-gui
Realizar o teste de um dominio e verificar o
levantamento das informações do possivel
alvo. (/pentest/enumeration/web/webshag)
#./webshag-gui
32. Fingerprint – Lab
Lab 7 – Nmap
Esta ferramenta poder alem de identificar
portas abertas, pode tambem testar o sistema
operacional do host.
#nmap uol.com.br -O
O = Sistema operacional
33. Scan
Após o levantamento das informações e a
produção de um relatório partimos para o
processo de scan da rede e do host.
Há um contato direto com o ativo que
queremos identificar e verificar onde estamos
“pisando”.
34. Scan
Podemos ter 3 tipos de Scan:
Portas
Redes
Vulnerabilidades
35. Scan
O teste mais básico é a utilização do protocolo
ICMP para verificar hosts disponíveis na rede.
Há outras ferramentas disponíveis e um pouco
mais elaboradas do que somente “ping”.
38. Scan
Uma das ferramentas mais utilizadas para
analise é Nmap.
Possui diversas opções e o entendimento delas
facilita na identificação do ativo e serviços.
39. Scan – Lab
Lab 8 – Nmap
Realizar a conexão direta com um host da rede
e verificar quais portas estão abertas e qual
sistema operacional estamos trabalhando.
#nmap <ip>
40. Scan - Lab
Lab 9 – Hping
Utilizar o hping para verificar se o ativo/alvo esta
disponível na rede e quais serviços estão em
funcionamento.
#hping3 -S uol.com.br -p 80
41. Scan
Podemos ainda realizar um scan na faixa de Ips
da empresa para verificar se há hosts
disponíveis na rede com IP válido.
Opções:
Na mão!
Script!
Ou ferramentas ...
42. Scan – lab
Lab 10 – executar um script para realizar teste
de conexão de rede para encontrar hosts
disponíveis. (shell script)
43. Scan - Lab
Lab 11 – Goohost
Tem a ver com o Google? Sim.
#./goohost -t dominio.com -m ip (ou host/mail)
44. Analise de vulnerabilidades
Parte essencial do trabalho de um pentester
Alguns atacantes possuem conhecimento de
vulnerabilidades e não são divulgadas (carta na
manga)
Após a descoberta, Você estava vulnerável e não
sabia! (e vai continuar)
Após o anuncio de uma falha (Zero-day), há um
tempo de exposição até a sua correção pelo
fabricante.
45. Analise de Vulnerabilidades
Porque ocorrem as falhas?
-Time to market
- Falta de conhecimento
- Falta de preocupação com Segurança
- Falta de atenção
- Copy and Paste (pior de todos)
- Orçamento
46. Exemplo
Analise de caso:
Chinese Hackers Suspected In Long-Term
Nortel Breach
(google search: nortel breach chineses hackers)
For nearly a decade, hackers enjoyed
widespread access to the corporate computer
network of Nortel Networks Ltd., a once-giant
telecommunications firm now fallen on hard
times.
Using seven passwords stolen from top Nortel
47. Mais exemplos e info
http://www.zdnet.com/blog/security
http://www.exploit-db.com
48. Analise de vulnerabilidades
Ferramentas automatizadas para analise de
rede e hosts
Possuem assinaturas de vulnerabilidades e tipos
de ataques que os hosts podem estar
disponíveis.
Após uma analise, um relatório é gerado para
que possamos corrigir as falhas encontradas
pelas ferramentas.
50. Analise de vulnerabilidades
Empresas desenvolvedoras de software pagam
por essa pesquisa de falhas.
Quem paga: Google, Barracuda, Mozilla e
facebook. (veja vulnerability.pdf)
51. Analise de vulnerabilidade
Como faz?
Diversos tipos, software especificos locais,
remoto e aplicações web.
Locais: Buffer overflow
Remoto: Buffer overflow
Aplicações Web: Command Injection, RFI, LFI,
SQL injection, Cross-site script, etc...
52. Buffer Overflow
E quando um programa não consegue lidar com
a quantidade de informação passada por algum
processo ou usuário.
Erro devido a falha de programação.
Pode ser Local ou remoto.
Stack ou Heap
Pode ou não gerar controle do execução
Simplificando: é tentar colocar a cidade de São
Paulo dentro de Porto velho.
53. Local e Remoto
Local – BO gerado em aplicação instalada no
computador do usuário, por exemplo um
tocador mp3.
Remoto – BO gerado em aplicação na rede, por
exemplo falha em servidores.
Independente se é local ou remoto, pode ou não
gerar controle de execução. Pode ter um shell
do SO com esse controle.
56. Buffer Overflow - Lab
Lab passo-a-passo de uma falha em um
software.
Acessar o site abaixo e analisar os outputs.
http://0x41424344.blogspot.com
Overflow Parte 1 a 6.
57. SDL
Secure Development Lifecycle
Pratica de segurança para desenvolvimento de
aplicações
Dividida em 7 fases:
• Treinamento
• Requerimentos
• Design
• Implementação
• Verificação
• Versão
• Resposta
58. Aplicações Web
OWASP (open web application security project)
Web Application Penetration Testing
Testing Framework
• 5 fases (planejamento, definições,
desenvolvimento, aplicação e manutenção)
59. Aplicações Web
Information Gathering
Configuration Management Testing
Authentication Testing
Session Management
Authorization Testing
Business logic testing
Data Validation Testing
Denial of Service Testing
Web Services Testing
60. Aplicações Web
Testing checklist
Exemplo:
Category - Ref. Number - Test
Name - Vulnerability
Information Gathering
OWASP-IG-001 - 4.2.1 Spiders,
Robots and Crawlers - N.A.
OWASP-IG-002 - 4.2.2 Search Engine
61. Aplicações Web
Exemplo item OWASP-IG-001
Web spiders/robots/crawlers retrieve a web page
and then recursively traverse hyperlinks to
retrieve further web content.
# wget http://www.google.com/robots.txt
Disallow: /alerts/
Disallow: /ads/preferences/
Allow: /ads/preferences/html/
62. Aplicações Web
WebGoat
Ferramenta para teste de ataques e como realizá-los
em aplicações reais.
Servidor local com páginas/aplicações com erros de
programação ou falhas propositais para execução
dos ataques.
Excelente ferramentas para estudo.
64. Aplicações Web - Lab
Lab – Command Injection (OWASP-DV-013)
Exemplo: wordtrans
Ao inves de tranduzir a palavra, executa um
comando.
=";cat /etc/passwd;"
68. Segurança Física
PHYSSEC (Physical security)
Não tecnologico
Interação com ativos fisicos
Envolve durabilidade, agilidade, testes com
ferramentas, interação com animais (!),
radiação, doenças, materiais corrosivos, etc
etc.
Exemplo: Gripe Aviária.
69. Segurança Física
Controle de Documentos
Exemplo: Quando há dispensa em grande número
por parte de uma empresa, qual a primeira coisa
que o funcionário demitido faz?
a) Chorar
b) Xingar
c) Brigar
d) Matar o amigo que passou a rasteira
e) todas as alternativas e ainda jogar papelada no
meio da avenida mais movimentada de São
Paulo.
74. Segurança Fisica
Human Security (HUMSEC)
Sub-seção PHYSSEC
Inclui Operações psicologicas
Interação com pessoas
Engenharia Social
Tecnologico ou não!
75. Segurança Física
Ferramenta SET
Elaboração de emails para distribuição em massa
para physhing
Criação de sites falsos
Envio de exploits
Geração de Personalidade
QRCode
Trabalha em conjunto com Metaesploit
76. Resultados
Resultados devem acompanhar as soluções ou
consultorias.
Não podem ser consideradas mandatórias,
mas sim de valor agregado ao ambiente.
STAR ( Security Test Audit Report)
13 itens
77. STAR
Data e hora
Duração
Nome dos analistas
Tipo de testes
Escopo do teste
Indice
Canais testados
Vetores
Métricas dos ataques
Testes completados, não completados e particialmente completados.
Problemas que influenciaram nas limitações de segurança
Anomalias
78. Apresentação dos resultados
Disclosure
Durante o teste novas ameaças podem surgir
Disclosure rights
Se for encontrado vulnerabilidades não devem ser
expostas, mesmo que sejam de terceiros
Responsabilities
Quanto antes você agir, melhor. Principalmente
pela autoria da descoberta. Analise de leis e regras
para anuncio.