h2hc university 2014

67
Introducão aos Pentests e Era Atual Joaquim Espinhara Senior Penetration Tester Artist Filipe Balestra Curious Penetration Tester

Upload: joaquim-espinhara

Post on 05-Jul-2015

794 views

Category:

Technology


14 download

DESCRIPTION

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

TRANSCRIPT

Page 1: H2HC University 2014

Introducão aos Pentests e Era Atual

Joaquim Espinhara

Senior Penetration Tester Artist

Filipe Balestra

Curious Penetration Tester

Page 2: H2HC University 2014

Agenda

• Introdução

• Quem sou eu?

• Motivação

• Mercado de Trabalho

• Certificações

• Conformidade (PCI/HIPAA/SOX)

• O que é Penetration Test?

• Tipos de Pentest

Page 3: H2HC University 2014

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

Page 4: H2HC University 2014

Agenda - Continuação

• Relatórios

• Conclusão

• Dúvidas

• Contato

Page 5: H2HC University 2014

Introdução

Page 6: H2HC University 2014

Quem sou eu?

Page 7: H2HC University 2014

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.

Page 8: H2HC University 2014

Quem sou eu? Part III

• uPhisher

• Ulisses Alburquerque

• https://github.com/SpiderLabs/microphisher

Page 9: H2HC University 2014

Quem sou eu? Part IV

• Diretor Cipher Intelligence – CIPHER

• 12 anos de experiência

• Advisories

• Kernel FreeBSD / NetBSD

• Sun Solaris

• QNX RTOS

• Aplicações Web

• Papers

• System Management Mode Hack – Phrack Magazine 65

• Artigo para revista Hakin9

Page 10: H2HC University 2014

Motivação

Page 11: H2HC University 2014

Motivação – Part II

• Trabalho desafiador

• É um trabalho divertido

Page 12: H2HC University 2014

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!!

Page 13: H2HC University 2014

Certificações

Page 14: H2HC University 2014

Certificações – Part II

• Não garantem seu emprego!

• Ajuda? Sim!

• CEH – Fuja! Run to the hills!!!

• Offensive Security

• OSCP

• OSWP

• OSCE

• OSEE

• OSWE

Page 15: H2HC University 2014

Certificações – Part III

• SANS

• GIAC *

• Cursos

• Offensive Security

• SANS

• Etc.

Page 16: H2HC University 2014

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.

Page 17: H2HC University 2014

Conformidade

• PCI – PCI Security Standards Council

• https://pt.pcisecuritystandards.org/minisite/en/

• Importância (Brasil)

• PCI

Page 18: H2HC University 2014

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.

Page 19: H2HC University 2014

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.

Page 20: H2HC University 2014

Pentest x Análise de Vulnerabilidade

• Muita confusão!

• Pentest não é Análise de Vulnerabilidades

• Análise de Vulnerabilidades não é Pentest

Page 21: H2HC University 2014

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

Page 22: H2HC University 2014

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)

Page 23: H2HC University 2014

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

Page 24: H2HC University 2014

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

Page 25: H2HC University 2014

Pentester – Conhecimento necessário

• Depende!

• Network

• Redes

• Protocolos

• A lot of stuff!

• Application

• Programação

• Protocolos

• A lot of stuff!

Page 26: H2HC University 2014

Pentester – Conhecimento necessário – Part II

• Diferenciais

• Foco

• Idiomas Estrangeiros

Page 27: H2HC University 2014

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

Page 28: H2HC University 2014

Demo Disclaimer

• Todos os demos são exercícios do site:

• http://www.pentesterlab.com/

Page 29: H2HC University 2014

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.

Page 30: H2HC University 2014

Demo #1

Page 31: H2HC University 2014

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.

Page 32: H2HC University 2014

Demo #2

Page 33: H2HC University 2014

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.

Page 34: H2HC University 2014

Demo #3 - I

Page 35: H2HC University 2014

Demo #3 II

Page 36: H2HC University 2014

Bônus

Page 37: H2HC University 2014

Bônus – Heartbleed

• OpenSSL

• CVE-2014-0160

• Critical

• Não é virus!!

• Memory Leak

Page 38: H2HC University 2014

Bônus - Heartbleed

Page 39: H2HC University 2014

Bônus - Heartbleed

Page 40: H2HC University 2014

Bônus

Page 41: H2HC University 2014

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/

Page 42: H2HC University 2014

Tópicos Avançados

Page 43: H2HC University 2014

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

Page 44: H2HC University 2014

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/

Page 45: H2HC University 2014

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/

Page 46: H2HC University 2014

Anti-virus Evasion II

Page 47: H2HC University 2014

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

Page 48: H2HC University 2014

Physical Attack II - SCADA

Page 49: H2HC University 2014

Exploit Hardening

• Java

• Reflection

• Sharing

• Serialization

• Multiple JVM

• X-Origin

• Emulators

• http://revuln.com/files/Ferrante_Auriemma_Reloading_Java_Exploits.pdf

Page 50: H2HC University 2014

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

Page 51: H2HC University 2014

Ataques contra as aplicações web

• Ainda muito utilizado e principal porta de entrada em ataques server-side

Page 52: H2HC University 2014
Page 53: H2HC University 2014

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

Page 54: H2HC University 2014

Defesas Atuais

• Web Application Firewall

• Dynamic Analysis Systems (Sandbox)

Page 55: H2HC University 2014

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/

Page 56: H2HC University 2014

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

Page 57: H2HC University 2014

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

Page 58: H2HC University 2014

Realidade dos Ataques – Parte II

Page 59: H2HC University 2014

Realidade dos Ataques – Parte II• Usuário SA sem senha

Page 60: H2HC University 2014

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

Page 61: H2HC University 2014

Realidade dos Ataques – Parte V

• Stuxnet

Page 62: H2HC University 2014

Reuso de credenciais

• Monitoramento de vazamento + levantamento de informações

Page 63: H2HC University 2014

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

Page 64: H2HC University 2014

Relatórios

• Tipos

• Técnico

• Executivo

• Profissionalismo

• Bem escrito

• Template único

• Entrega via Sistema

• Desenvolva o seu!

Page 65: H2HC University 2014

Conclusão

Page 66: H2HC University 2014

Dúvidas

Page 67: H2HC University 2014

Contatos

• Twitter: @jespinhara

• Email: [email protected]

• Twitter: @filipebalestra

• Email: [email protected]