ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
H2HC University 2014
1. Introducão aos Pentests e
Era Atual
Joaquim Espinhara
Senior Penetration Tester Artist
Filipe Balestra
Curious Penetration Tester
2. Agenda
• Introdução
• Quem sou eu?
• Motivação
• Mercado de Trabalho
• Certificações
• Conformidade (PCI/HIPAA/SOX)
• O que é Penetration Test?
• Tipos de Pentest
3. Agenda - Continuação
• Pentest x Análise de Vulnerabilidades
• Devo realizar um Pentest?
• Benefícios
• Pentester
• Conhecimento necessário
• Fases de um Pentest
• Demo #1
• Demo #2
• Demo #3
7. Quem sou eu? Part II
• Senior Security Consultant –Trustwave Spiderlabs
• 8 anos de experiência
• Eventos
• Black Hat USA
• Black Hat Brazil
• HITB Kuala Lumpur Malásia
• Hackers to Hackers Conference – H2HC
• Secure Brasil
• You Shot the Sheriff -YSTS
• Etc.
8. Quem sou eu? Part III
• uPhisher
• Ulisses Alburquerque
• https://github.com/SpiderLabs/microphisher
9. Quem sou eu? Part IV
• Diretor Cipher Intelligence – CIPHER
• 12 anos de experiência
• Advisories
• Kernel FreeBSD / NetBSD
• Sun Solaris
• QNX RTOS
• AplicaçõesWeb
• Papers
• System Management Mode Hack – Phrack Magazine 65
• Artigo para revista Hakin9
11. Motivação – Part II
• Trabalho desafiador
• É um trabalho divertido
12. Mercado de Trabalho
• Global
• Oportunidades de trabalho remoto (Home Office)
• Linkedin é seu amigo
• Não faça besteira!!
• Background check
• Mercado baseado em reputação
• Então não faça besteira!!
14. Certificações – Part II
• Não garantem seu emprego!
• Ajuda? Sim!
• CEH – Fuja! Run to the hills!!!
• Offensive Security
• OSCP
• OSWP
• OSCE
• OSEE
• OSWE
15. Certificações – Part III
• SANS
• GIAC *
• Cursos
• Offensive Security
• SANS
• Etc.
16. Certificações – Part IV
• Eventos
• Brasil
• H2HC
• Roadsec
• YSTS
• Bsides
• Etc.
• Exterior
• Defcon (USA)
• Ekoparty (ARG)
• HITB (NL) (KUL)
• Infiltrate (USA), Thotcon (USA), CCC (DE), Etc.
18. O que é Penetration Test?
• A.k.a Pentest
• Tradução literal: “Teste de Penetração”
• Também conhecido por: Teste de Invasão, Ethical Hacking, etc.
• É o processo de identificar e explorar vulnerabilidades em sistemas, redes,
hardware, etc.
• Utiliza-se de diversos métodos: lógicos, físicos e engenharia social, misticos.
• Única forma de mensurar o risco real de uma vulnerabilidade.
19. Tipos de Pentest
• Milhares de nomenclaturas
• Blind/Black box
• Gray box
• Non Blind/White box
• Externo
• Interno
• Wireless
• Físico
• Engenharia Social
• Client-Side
• Aplicação, Etc.
20. Pentest x Análise de Vulnerabilidade
• Muita confusão!
• Pentest não é Análise de Vulnerabilidades
• Análise de Vulnerabilidades não é Pentest
21. Pentest x Análise de Vulnerabilidade – Part II
• Análise de Vulnerabilidades
• Não ocorre a exploração das vulnerabilidades
• Alta ocorrência de falsos positivos
• Pentest
• Ocorre a exploração das vulnerabilidades
• Não existe falsos positivos
• Risco real
22. Devo realizar um Pentest?
• Sim! Claro!
• Quem deve realizar um pentest?
• Todo mundo!
• Porque?
• Simulação real de ataque.
• Avaliação das suas soluções de defesa (firewall, ids, ips, av)
23. Benefícios
• Rápida avaliação da situação real da segurança da empresa.
• Eficaz
• Ajuda na tomada de decisões (investimentos, alocação de recursos)
• Recomendações direcionadas a sanar um problema
24. Pentester
• Pessoa que faz o teste
• Pentester != Pesquisador
• Brasil
• Consultor de Segurança
• Analista de Segurança
• Analista de Suporte
• Analista de RH, Analista de Software (Oh Wait!)
• Empresas especializadas
• Consultores especializados
25. Pentester – Conhecimento necessário
• Depende!
• Network
• Redes
• Protocolos
• A lot of stuff!
• Application
• Programação
• Protocolos
• A lot of stuff!
27. Fases de um pentest
• Definição de target
• Enumerar e identificar os ativos
• Identificar as vulnerabilidades
• Explorar as vulnerabilidades
• Atividades pós exploratórias
• Coleta de evidências
• Escrita do relatório
28. Demo Disclaimer
• Todos os demos são exercícios do site:
• http://www.pentesterlab.com/
29. Demo #1
• CVE-2012-1823: PHP CGI
• Difficulty
• Beginner
• The Bug
• Discovered by Eindbazen
• The bug is due to an error on how the URI is used and provided to PHP CGI when a URL lacks
= sign (typically used to separate parameter's name and value. Basically, the URI is passed
to the php-cgi binary without enough filtering or encoding allowing an attacker to pass
extra-argument to php-cgi command line.
31. Demo #2
• Axis2 Web service and Tomcat Manager
• Difficulty
• Intermediate
• The Bug
• This exercise explains the interactions between Tomcat and Apache, then it will show
you how to call and attack an Axis2 Web service. Using information retrieved from this
attack, you will be able to gain access to the Tomcat Manager and deploy a WebShell to
gain commands execution.
33. Demo #3
• From SQL injection to Shell
• Difficulty
• Beginner
• The Bug
• This exercise explains how you can from a SQL injection gain access to the
administration console. Then in the administration console, how you can run
commands on the system.
43. PowerShell
• Nishang
• Is a framework and collection of scripts and payloads which enables usage of PowerShell for
offensive security and post exploitation during penetration tests.
• https://github.com/samratashok/nishang
• PowerSploit
• Is a collection of Microsoft PowerShell modules that can be used to aid reverse engineers,
forensic analysts, and penetration testers during all phases of an assessment.
• https://github.com/mattifestation/PowerSploit
44. Client-Side Attacks
• User-driven Attacks
• Document Dropper
• HTML Application
• Java Signed Applet
• Microsoft Office Macro
• Social-Engineer Toolkit (SET)
• Phishing Frenzy
• https://www.pentestgeek.com/2014/07/22/phishing-frenzy-hta-powershell-attacks-with-beef/
45. Anti-virus Evasion
• Veil-Evasion
• Is a tool designed to generate metasploit payloads that bypass common anti-virus
solutions.
• https://github.com/Veil-Framework/Veil-Evasion
• Shellter
• Is a dynamic shellcode injection tool, and probably the first dynamic PE infector ever
created.
• https://www.shellterproject.com/
47. Physical Attack
• Inception
• Is a physical memory manipulation and hacking tool exploiting PCI-based DMA. The
tool can attack over FireWire, Thunderbolt, ExpressCard, PC Card and any other
PCI/PCIe interfaces.
• Inception aims to provide a relatively quick, stable and easy way of performing
intrusive and non-intrusive memory hacks against live computers using DMA.
• https://github.com/carmaa/inception
• https://wikileaks.org/spyfiles/files/0/293_GAMMA-201110-FinFireWire.pdf
50. Pentest atual
• Resultados normalmente obtidos através de ataques contra aplicações web e ataques client-side
• Principais ataques web:
• SQL Injection
• Escalação horizontal de privilégios / Controle de acesso ineficiente
• Interface administrativa de servidor de aplicação com senha default / sem senha
51. Ataques contra as aplicações web
• Ainda muito utilizado e principal porta de entrada em ataques server-side
52.
53. Efetividade de Engenharia Social
• Testes de engenharia social – Pishing
• 37% dos e-mails foram abertos
• 10% dos e-mails abertos foram clicados mais de 1 vez
• Testes de engenharia social – Pendrive
• 25% dos arquivos abertos
54. Defesas Atuais
• Web Application Firewall
• Dynamic Analysis Systems (Sandbox)
55. 0day 1 -WAF Bypass
• Bypass -Web Application Firewall
• Caracteres Fullwidth
• Unicode foi criado para suportar todas as línguas
• Fullwidth é um bloco do unicode que contém caracteres em latin para ser usado em colunas horizontais de
idiomas asiáticos (criados para manter o tamanho de uma coluna)
• U+FF1C (<) - %EF%BC%9C
• U+02B9 (‘) - %CA%B9
• Conversor -> http://www.linkstrasse.de/en/
56. Sandbox Analysis Evasion
• Identificação de ambiente virtualizado
• Envio de malware modular
• Uso de sleep()
• Uso de função que processa por muito tempo
• Espera por interação de usuário com o computador
57. Realidade dos Ataques
• Identificado em testes de intrusão:
• 6% das senhas são padrões
• Ausência de senha
• Aplicações antigas esquecidas em servidores de produção
• Servidores fora do inventário de ativos
• Diretórios internos compartilhados com conteúdo confidencial e sem controle de acesso
• Pass the Hash
• Injection em aplicação
60. Realidade dos Ataques – Parte IV
• Ataque contra RSA
• Phising – Arquivo Excel – “2011 Recruitment Plan”
• Uso de um 0day (Adobe Flash Player)
• Malware saiu tranquilamente via callback
• Neiman Marcus
• A porta-voz da empresa disse que o ataque foi sofisticado, pois o nome do malware tinha o mesmo nome do software de
pagamento da empresa, então os alertas eram ignorados pela equipe de segurança
• Malware ficou instalado por mais de 8 meses
• Solução identificou
63. 0day 2 - SCADA
• Design/SQL Injection – Ecava IntegraXor
PUT /getdata?function=sql&dbgroup=-1&limit=2&outfmt=json&show_ms=1 HTTP/1.1
Host: localhost:7131
User-Agent: Mozilla/5.0 (Windows NT 6.0; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Proxy-Connection: keep-alive
X-Requested-With: XMLHttpRequest
Content-Type: text/plain; charset=UTF-8
Content-Length: 842
SELECT event_id,state,CDbl(ack_timestamp) as ack_timestamp_tswithms,CDbl(inactive_timestamp) as
inactive_timestamp_tswithms,CDbl(time_stamp) as time_stamp_tswithms,group_name,message,nvalue,old_nvalue,case
when state=1 and ack_timestamp is null then 0 when state=1 and ack_timestamp is not null then 1 when state=2 then 2 else 3
end as seq from alarm where ( (time_stamp >= {ts '1970-01-01 00:00:00'} and time_stamp <= {ts '2100-01-01 00:00:00'} and
ack_timestamp is null and inactive_timestamp is null) or (time_stamp >= {ts '1970-01-01 00:00:00'} and time_stamp <= {ts '2100-
01-01 00:00:00'} and ack_timestamp is null and inactive_timestamp is not null) or (time_stamp >= {ts '1970-01-01 00:00:00'} and
time_stamp <= {ts '2100-01-01 00:00:00'} and ack_timestamp is not null and inactive_timestamp is null)) order by seq asc,
time_stamp desc
64. Relatórios
• Tipos
• Técnico
• Executivo
• Profissionalismo
• Bem escrito
• Template único
• Entrega via Sistema
• Desenvolva o seu!