SlideShare une entreprise Scribd logo
1  sur  67
Introducão aos Pentests e 
Era Atual 
Joaquim Espinhara 
Senior Penetration Tester Artist 
Filipe Balestra 
Curious Penetration Tester
Agenda 
• Introdução 
• Quem sou eu? 
• Motivação 
• Mercado de Trabalho 
• Certificações 
• Conformidade (PCI/HIPAA/SOX) 
• O que é Penetration Test? 
• Tipos de Pentest
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
Agenda - Continuação 
• Relatórios 
• Conclusão 
• Dúvidas 
• Contato
Introdução
Quem sou eu?
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.
Quem sou eu? Part III 
• uPhisher 
• Ulisses Alburquerque 
• https://github.com/SpiderLabs/microphisher
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
Motivação
Motivação – Part II 
• Trabalho desafiador 
• É um trabalho divertido
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!!
Certificações
Certificações – Part II 
• Não garantem seu emprego! 
• Ajuda? Sim! 
• CEH – Fuja! Run to the hills!!! 
• Offensive Security 
• OSCP 
• OSWP 
• OSCE 
• OSEE 
• OSWE
Certificações – Part III 
• SANS 
• GIAC * 
• Cursos 
• Offensive Security 
• SANS 
• Etc.
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.
Conformidade 
• PCI – PCI Security Standards Council 
• https://pt.pcisecuritystandards.org/minisite/en/ 
• Importância (Brasil) 
• PCI
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.
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.
Pentest x Análise de Vulnerabilidade 
• Muita confusão! 
• Pentest não é Análise de Vulnerabilidades 
• Análise de Vulnerabilidades não é Pentest
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
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)
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
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
Pentester – Conhecimento necessário 
• Depende! 
• Network 
• Redes 
• Protocolos 
• A lot of stuff! 
• Application 
• Programação 
• Protocolos 
• A lot of stuff!
Pentester – Conhecimento necessário – Part II 
• Diferenciais 
• Foco 
• Idiomas Estrangeiros
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
Demo Disclaimer 
• Todos os demos são exercícios do site: 
• http://www.pentesterlab.com/
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.
Demo #1
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.
Demo #2
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.
Demo #3 - I
Demo #3 II
Bônus
Bônus – Heartbleed 
• OpenSSL 
• CVE-2014-0160 
• Critical 
• Não é virus!! 
• Memory Leak
Bônus - Heartbleed
Bônus - Heartbleed
Bônus
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/
TópicosAvançados
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
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/
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/
Anti-virus Evasion II
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
Physical Attack II - SCADA
Exploit Hardening 
• Java 
• Reflection 
• Sharing 
• Serialization 
• Multiple JVM 
• X-Origin 
• Emulators 
• http://revuln.com/files/Ferrante_Auriemma_Reloading_Java_Exploits.pdf
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
Ataques contra as aplicações web 
• Ainda muito utilizado e principal porta de entrada em ataques server-side
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
Defesas Atuais 
• Web Application Firewall 
• Dynamic Analysis Systems (Sandbox)
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/
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
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
Realidade dos Ataques – Parte II
Realidade dos Ataques – Parte II 
• Usuário SA semsenha
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
Realidade dos Ataques – Parte V 
• Stuxnet
Reuso de credenciais 
• Monitoramento de vazamento + levantamento de informações
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
Relatórios 
• Tipos 
• Técnico 
• Executivo 
• Profissionalismo 
• Bem escrito 
• Template único 
• Entrega via Sistema 
• Desenvolva o seu!
Conclusão
Dúvidas
Contatos 
• Twitter: @jespinhara 
• Email: espinhara.net@gmail.com 
• Twitter: @filipebalestra 
• Email: filipe@balestra.com.br

Contenu connexe

Similaire à H2HC University 2014

Pentest invasoedefesa-anonfeh-130416201153-phpapp01 (1)
Pentest invasoedefesa-anonfeh-130416201153-phpapp01 (1)Pentest invasoedefesa-anonfeh-130416201153-phpapp01 (1)
Pentest invasoedefesa-anonfeh-130416201153-phpapp01 (1)Marcelo Area Leao
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi... Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...Alexandro Silva
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasSegInfo
 
Curso hacking com BT5
Curso hacking com BT5Curso hacking com BT5
Curso hacking com BT5Cassio Ramos
 
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...Thiago Dieb
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebMagno Logan
 
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...LeandroTrindade19
 
Infosec e pentesting - Escolha o seu lado!
Infosec e pentesting - Escolha o seu lado!Infosec e pentesting - Escolha o seu lado!
Infosec e pentesting - Escolha o seu lado!Leandro Magnabosco
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Pablo Ribeiro
 
Ferramentas livres para teste de invasao
Ferramentas livres para teste de invasao Ferramentas livres para teste de invasao
Ferramentas livres para teste de invasao gleydsonslim
 
Palestra Murilo Santana - Ownando sistemas por uma porta USB
Palestra Murilo Santana - Ownando sistemas por uma porta USBPalestra Murilo Santana - Ownando sistemas por uma porta USB
Palestra Murilo Santana - Ownando sistemas por uma porta USBBHack Conference
 
Segurança da informação - Forense Computacional
Segurança da informação - Forense ComputacionalSegurança da informação - Forense Computacional
Segurança da informação - Forense ComputacionalJefferson Costa
 
Pentest Invasão e Defesa - AnonFeh
Pentest   Invasão e Defesa - AnonFehPentest   Invasão e Defesa - AnonFeh
Pentest Invasão e Defesa - AnonFehPhillipe Martins
 
Minicurso – Forense computacional “Análise de redes”
Minicurso – Forense computacional “Análise de redes”Minicurso – Forense computacional “Análise de redes”
Minicurso – Forense computacional “Análise de redes”Jefferson Costa
 

Similaire à H2HC University 2014 (20)

Pentest invasoedefesa-anonfeh-130416201153-phpapp01 (1)
Pentest invasoedefesa-anonfeh-130416201153-phpapp01 (1)Pentest invasoedefesa-anonfeh-130416201153-phpapp01 (1)
Pentest invasoedefesa-anonfeh-130416201153-phpapp01 (1)
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi... Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
 
Curso hacking com BT5
Curso hacking com BT5Curso hacking com BT5
Curso hacking com BT5
 
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na Web
 
Ethical Hacking - Campus Party Brasília 2017
Ethical Hacking - Campus Party Brasília 2017Ethical Hacking - Campus Party Brasília 2017
Ethical Hacking - Campus Party Brasília 2017
 
Análise de Malware
Análise de MalwareAnálise de Malware
Análise de Malware
 
Auditoria em sistemas linux - LinuxCon Brazil 2011
Auditoria em sistemas linux - LinuxCon Brazil 2011Auditoria em sistemas linux - LinuxCon Brazil 2011
Auditoria em sistemas linux - LinuxCon Brazil 2011
 
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
 
Metasploit Framework: Software Livre para PoC de Vulnerabilidades
Metasploit Framework: Software Livre para PoC de VulnerabilidadesMetasploit Framework: Software Livre para PoC de Vulnerabilidades
Metasploit Framework: Software Livre para PoC de Vulnerabilidades
 
Infosec e pentesting - Escolha o seu lado!
Infosec e pentesting - Escolha o seu lado!Infosec e pentesting - Escolha o seu lado!
Infosec e pentesting - Escolha o seu lado!
 
Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )Teste de segurança em aplicações web ( sites )
Teste de segurança em aplicações web ( sites )
 
Ferramentas livres para teste de invasao
Ferramentas livres para teste de invasao Ferramentas livres para teste de invasao
Ferramentas livres para teste de invasao
 
Palestra Murilo Santana - Ownando sistemas por uma porta USB
Palestra Murilo Santana - Ownando sistemas por uma porta USBPalestra Murilo Santana - Ownando sistemas por uma porta USB
Palestra Murilo Santana - Ownando sistemas por uma porta USB
 
Segurança da informação - Forense Computacional
Segurança da informação - Forense ComputacionalSegurança da informação - Forense Computacional
Segurança da informação - Forense Computacional
 
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
Analysis of vulnerabilities in web applications - LinuxCon Brazil 2010
 
Pentest Invasão e Defesa - AnonFeh
Pentest   Invasão e Defesa - AnonFehPentest   Invasão e Defesa - AnonFeh
Pentest Invasão e Defesa - AnonFeh
 
Iscte security events workshop multicert-pt2
Iscte security events workshop   multicert-pt2Iscte security events workshop   multicert-pt2
Iscte security events workshop multicert-pt2
 
Minicurso – Forense computacional “Análise de redes”
Minicurso – Forense computacional “Análise de redes”Minicurso – Forense computacional “Análise de redes”
Minicurso – Forense computacional “Análise de redes”
 

Dernier

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 

Dernier (6)

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
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
  • 4. Agenda - Continuação • Relatórios • Conclusão • Dúvidas • Contato
  • 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.
  • 17. Conformidade • PCI – PCI Security Standards Council • https://pt.pcisecuritystandards.org/minisite/en/ • Importância (Brasil) • PCI
  • 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!
  • 26. Pentester – Conhecimento necessário – Part II • Diferenciais • Foco • Idiomas Estrangeiros
  • 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.
  • 37. Bônus – Heartbleed • OpenSSL • CVE-2014-0160 • Critical • Não é virus!! • Memory Leak
  • 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/
  • 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
  • 49. Exploit Hardening • Java • Reflection • Sharing • Serialization • Multiple JVM • X-Origin • Emulators • http://revuln.com/files/Ferrante_Auriemma_Reloading_Java_Exploits.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
  • 58. Realidade dos Ataques – Parte II
  • 59. Realidade dos Ataques – Parte II • Usuário SA semsenha
  • 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
  • 61. Realidade dos Ataques – Parte V • Stuxnet
  • 62. Reuso de credenciais • Monitoramento de vazamento + levantamento de informações
  • 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!
  • 67. Contatos • Twitter: @jespinhara • Email: espinhara.net@gmail.com • Twitter: @filipebalestra • Email: filipe@balestra.com.br

Notes de l'éditeur

  1. 11.3
  2. PCI: Requisitos diferentes!
  3. Nao quer dizer que o pentester nao execute uma analise de vulnerabilidades.
  4. Nao se faz um pentester da noite pro dia. Muito estudo é necessario.
  5. Pentest atuais
  6. 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.
  7. 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.
  8. Diversos Videos no Youtube.
  9. Diversos Videos no Youtube.