H2HC University 2014

1.304 visualizações

Publicada em

H2HC University 2014
Hackers to Hackers Conference
Joaquim Espinhara & Filipe Balestra

Publicada em: Tecnologia
1 comentário
6 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
1.304
No SlideShare
0
A partir de incorporações
0
Número de incorporações
34
Ações
Compartilhamentos
0
Downloads
63
Comentários
1
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • 11.3
  • PCI: Requisitos diferentes!
  • Nao quer dizer que o pentester nao execute uma analise de vulnerabilidades.
  • Nao se faz um pentester da noite pro dia. Muito estudo é necessario.
  • Pentest atuais
  • Aqui tem apenas duas opções, mas é importante lembrar que seus proprios crypters, packers. E não envie para para soluções como o Virus Total.
  • Aqui tem apenas duas opções, mas é importante lembrar que seus proprios crypters, packers. E não envie para para soluções como o Virus Total.
  • Diversos Videos no Youtube.
  • Diversos Videos no Youtube.
  • H2HC University 2014

    1. 1. Introducão aos Pentests e Era Atual Joaquim Espinhara Senior Penetration Tester Artist Filipe Balestra Curious Penetration Tester
    2. 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. 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
    4. 4. Agenda - Continuação • Relatórios • Conclusão • Dúvidas • Contato
    5. 5. Introdução
    6. 6. Quem sou eu?
    7. 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. 8. Quem sou eu? Part III • uPhisher • Ulisses Alburquerque • https://github.com/SpiderLabs/microphisher
    9. 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
    10. 10. Motivação
    11. 11. Motivação – Part II • Trabalho desafiador • É um trabalho divertido
    12. 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!!
    13. 13. Certificações
    14. 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. 15. Certificações – Part III • SANS • GIAC * • Cursos • Offensive Security • SANS • Etc.
    16. 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.
    17. 17. Conformidade • PCI – PCI Security Standards Council • https://pt.pcisecuritystandards.org/minisite/en/ • Importância (Brasil) • PCI
    18. 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. 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. 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. 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. 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. 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. 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. 25. Pentester – Conhecimento necessário • Depende! • Network • Redes • Protocolos • A lot of stuff! • Application • Programação • Protocolos • A lot of stuff!
    26. 26. Pentester – Conhecimento necessário – Part II • Diferenciais • Foco • Idiomas Estrangeiros
    27. 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. 28. Demo Disclaimer • Todos os demos são exercícios do site: • http://www.pentesterlab.com/
    29. 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.
    30. 30. Demo #1
    31. 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.
    32. 32. Demo #2
    33. 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.
    34. 34. Demo #3 - I
    35. 35. Demo #3 II
    36. 36. Bônus
    37. 37. Bônus – Heartbleed • OpenSSL • CVE-2014-0160 • Critical • Não é virus!! • Memory Leak
    38. 38. Bônus - Heartbleed
    39. 39. Bônus - Heartbleed
    40. 40. Bônus
    41. 41. Bônus – Shellshock • Bash • CVE-2014-6271, CVE-2014-6277, CVE-2014-6278, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187 • Critical • Também não é virus!! • RCE • https://shellshocker.net/
    42. 42. TópicosAvançados
    43. 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. 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. 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/
    46. 46. Anti-virus Evasion II
    47. 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
    48. 48. Physical Attack II - SCADA
    49. 49. Exploit Hardening • Java • Reflection • Sharing • Serialization • Multiple JVM • X-Origin • Emulators • http://revuln.com/files/Ferrante_Auriemma_Reloading_Java_Exploits.pdf
    50. 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. 51. Ataques contra as aplicações web • Ainda muito utilizado e principal porta de entrada em ataques server-side
    52. 52. 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
    53. 53. Defesas Atuais • Web Application Firewall • Dynamic Analysis Systems (Sandbox)
    54. 54. 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/
    55. 55. 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
    56. 56. 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
    57. 57. Realidade dos Ataques – Parte II
    58. 58. Realidade dos Ataques – Parte II • Usuário SA semsenha
    59. 59. 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
    60. 60. Realidade dos Ataques – Parte V • Stuxnet
    61. 61. Reuso de credenciais • Monitoramento de vazamento + levantamento de informações
    62. 62. 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
    63. 63. Relatórios • Tipos • Técnico • Executivo • Profissionalismo • Bem escrito • Template único • Entrega via Sistema • Desenvolva o seu!
    64. 64. Conclusão
    65. 65. Dúvidas
    66. 66. Contatos • Twitter: @jespinhara • Email: espinhara.net@gmail.com • Twitter: @filipebalestra • Email: filipe@balestra.com.br

    ×