29 de maio de 2013

GXPN - GIAC Exploit Researcher and Advanced Penetration Tester



Hoje venci um desafio que havia planejado desde fevereiro: tirar a certificação GXPN.

Enfim, depois de 3 meses de estudo intensivo, mais de 1.400 páginas de material, diversos desafios online vencidos nos Labs via VPN da SANS, incluindo um CTF final, fiz a prova com conteúdo bem puxado, e consegui passar.

Vou contar um pouco sobre esse curso e essa certificação...

O conteúdo abordado por essa formação é o seguinte:

Exam Certification Objectives

ObjectivesObjective Outcome Statement
Accessing the NetworkThe candidate will demonstrate an understanding of how to bypass network access control systems.
Advanced Fuzzing TechniquesThe candidate will be able to develop custom fuzzing test sequences using the Sulley framework.
Advanced Stack SmashingThe candidate will demonstrate an understanding of how to write advanced stack overflow exploits against canary-protected programs and ASLR.
Crypto for Pen TestersThe candidate will be able to attack and exploit common weaknesses in cryptographic implementations.
Escaping Restricted EnvironmentsThe candidate will demonstrate an understanding of restricted environments in Linux and Windows, Desktop restriction techniques, as well as tools and techniques for bypassing them.
Exploiting the NetworkThe candidate will demonstrate an understanding of how to exploit common vulnerabilities in modern networks attacking client systems and common network protocols.
Fuzzing Introduction and OperationThe candidate will demonstrate an understanding of the benefits and practical application of protocol fuzzing to identify flaws in target software systems.
Introduction to Memory and Dynamic Linux MemoryThe candidate will demonstrate a basic understanding of X86 processor architecture, Linux memory management, assembly and the linking and loading process.
Introduction to Windows ExploitationThe candidate will demonstrate an understanding of Windows constructs required for exploitation and the most common OS and Compile-Time Controls.
Manipulating the NetworkThe candidate will demonstrate an understanding of how to manipulate common network systems to gain escalated privileges and the opportunity to exploit systems.
Network Boot AttacksThe candidate will be able to attack and exploit common weaknesses in network boot environments, including DHCP, BOOTP, and PXE.
Python and Scapy For Pen TestersThe candidate will demonstrate an understanding of the ability to read and modify Python scripts and packet crafting using Scapy to enhance functionality as required during a penetration test.
ShellcodeThe candidate will demonstrate the ability to write shellcode on the Linux operating system, and demonstrate an understanding of the Windows shellcode methodology.
Smashing the StackThe candidate will demonstrate an understanding of how to write basic exploits against stack overflow vulnerabilities.
Windows OverflowsThe candidate will demonstrate an understanding of how to exploit Windows vulnerabilities on the stack, and bypass memory protections.
O que posso dizer, é que esse conteúdo REALMENTE é cobrado na prova. Apesar da prova ser do tipo "open book", onde podemos levar as apostilas e/ou anotações, optei por não usar esse recurso por dois motivos:
- deixar que a prova realmente comprovasse pra mim mesmo meu nível de conhecimento;
- é balela a história do open book, prq não serve pra muita coisa, e obviamente só percebi isso quando já estava fazendo a prova.

Agora, por que o open book não ajuda muito? Simplesmente porque o conteúdo não é decoreba, mas sim análise de casos, tráfego de rede, mapa de rede, resultado de debugging e análise do porque um exploit ou shellcode não funcionou, e o que fazer para que funcionem, análise de scripts de fuzzing e etc. Com isso, a maioria das questões apresenta print de telas para que sejam analisados e uma resposta seja dada.

A prova possui um total de 75 questões, com 180 minutos para realização da mesma. O que dá em média menos de 2 minutos e meio para cada questão. Felizmente finalizei com uma 1h30, pois nunca tive muita paciência com provas, ou sei a resposta ou não, afinal a resposta não cai do céu :-)

Voltando ao curso...

Optei fazer na modalidade SelfStudy, na qual recebemos as apostilas pelo correio, impressas, os mp3 das aulas (equivalente à 5 dias de curso, mais o CTF), e os DVDs com algumas VMs e ferramentas para não precisar fazer downloads para as práticas.

Assim que nos inscrevemos, também recebemos as credenciais para acesso via VPN aos labs da SANS e realizarmos as práticas de cada módulo do curso (são 5 ao todos, e o mesmo número de apostilas). E esse acesso dura 4 meses, que é o tempo que temos entre o estudo e a realização da prova. Se não realizar os labs e a prova nesse período, perdemos o acesso e o voucher, e precisamos pagar uma taxa para reagendar a mesma. Por esse motivo, não quis correr o risco e agendei a prova para três meses após receber todo o material e iniciar os estudos.

Cada módulo, ao todo 5, tem uma apostila específica, com teoria, exercícios práticos, e um bootcamp final para reforçar o conteúdo estudado no módulo. Os módulos são:
- Exploração de Redes
- Criptografia para Pentesters
- Python, Scapy e Fuzzing
- Linux Exploitation
- Windows Exploitation

Apenas para constar: os pdfs que estão disponíveis para download na internet, já estão desatualizados e sem uma série de conteúdos, além de não possibilitar o acesso de quem baixá-los aos labs da SANS.

Como o material é bem extenso (quase 1.400 páginas no total), decidi adotar uma estratégia para agilizar e facilitar meus estudos em um período curto. Afinal, o conteúdo além de complexo, é muito extenso para absorver tudo em 3 meses.

Comecei estudando toda a parte teórica, de todos os 5 módulos, e só depois que terminei, fiz as práticas, pois ajudou-me a concentrar esforços em duas fases distintas (só teoria e depois só prática), sendo que a segunda fase (prática) ajudou-me a relembrar e fixar a primeira parte (teoria).

É muito importante conseguir montar um lab da forma correta para que os exercícios dêem os resultados esperados e possamos entender a lógica da coisa toda. Por exemplo, sem ter um Windows XP SP0, um Windows XP SP3, um Windows Seven, um Windows Server 2003 e um Server 2008, ficará difícil entender o porque de um exploit funcionar em um, e não em outro, e ainda pode ter a possibilidade de readequar um exploit e/ou shellcode para funcionar em mais de uma versão de Windows, ou. no caso do Linux, em versões diferentes do kernel.

O investimento é alto, mas o conteúdo estudado compensa. Infelizmente no Brasil não ganhamos tão bem a ponto de tirar o escorpião do bolso e sacar $4,555.00 para bancar um curso e uma prova dessas, mas as vezes essas oportunidades caem do céu, como no meu caso, onde a empresa onde trabalho decidiu custear essa certificação. E como forma de reconhecimento, vi-me obrigado a passar na prova na primeira tentativa.

Uma coisa que achei interessante, foi o diferencial entre a certificação GXPN e a OSCE, onde na primeira é englobado técnicas de exploração tanto de Windows quanto de Linux, enquanto que na segunda, apenas sistemas Windows são explorados. De qualquer forma, a OSCE já está em meu radar para os próximos meses :-)

Agora tenho novos planos de certificações, para poder aprofundar-me em alguns assuntos de interesse pessoal, e outros que além de interesse pessoal, também envolve os interesses de meu empregador. No primeiro grupo, está a GREM, que infelizmente será deixada para o início do ano que vem, enquanto que aquelas que são de meu interesse, mas também envolvem minhas atividades do dia a dia, já estão agendadas para os próximos meses, e pagas.

Os próximos passos são: OSCP, através de treinamento presencial na Black Hat, e a OSCE, logo após a prova da OSCP. Ambas certificações já estão pagas, e só estão esperando a chegada da Black Hat e esse descanso merecido pós-GXPN. E inclusive sei que a GXPN está servindo como base para a OSCP e OSCE, pois sei do alto nível técnico cobrado por elas em suas avaliações. Esse foi o motivo por decidir seguir essa sequência de certificações.

Confesso que nesses últimos meses (de fevereiro à maio), deixei todos os livros de lado, até mesmo qualquer leitura para espairecer a cabeça, e foquei todo meu esforço nas apostilas, que somadas davam em torno de 3 livros bem técnicos e todos em inglês. Esse é outro ponto importante: o inglês precisa estar afiado, pois todo o material, bem como a prova, está em inglês, sem opção alternativa de tradução.

Bem, essa foi minha experiência, e alguns de meus planos futuros. Se alguém precisar de alguma ajuda, ou tirar dúvidas, sinta-se à vontade, que durante meu escasso tempo livre tentarei ajudar.

OBS1: a prova da GXPN tem 75 questões e é necessário acertar pelo menos 66% da prova para passar. Isso dá 50 questões.

OBS2: não colocarei meu score aqui, pois mesmo que eu diga que tirei 99% vai ter gente falando besteira, dizendo que não sei nada porque não tirei 100% ;-)

24 de maio de 2013

Vídeo de palestra - Android's Forensic: Hard Work - YSTS 6

Há um mês atrás foi publicado o vídeo de minha palestra no evento You Shot The Sheriff 6ª edição, em maio/2012.


Divirtam-se!

Aproveitando, um review do evento como um todo:


Esse ano, pelo que soube, foi muito bom também!
E apesar de eu ter a moeda de prata, não pude comparecer. Mas ano que vem, certamente estarei por lá novamente :-)

17 de maio de 2013

Curso de Teste de Invasão em Redes - EaD


De 12/08 à 12/09/2013

OBS: esse é o curso Pentest em Redes, que faz parte das formações completas. Qualquer pessoa pode participar do mesmo.

Curso de Teste de Invasão em Redes - EaD, com conteúdo completamente prático em ambiente interativo, com acesso à tela do instrutor e download de todo o material de aula (vídeos de cada aula gravada, apostila completa e logs do chat onde as dúvidas são respondidas e os comando digitados).

Os alunos, além de montarem seus laboratórios com máquinas virtuais (com S.Os. atuais), terão exemplos reais de redes e aplicações vulneráveis, encontrados na web durante a aula.

Todo o curso será baseado na distribuição KALI LINUX, com ferramentas livres e gratuitas!

O instrutor do curso possui anos de experiência em testes de invasão, tanto em redes, quanto aplicações web, redes wireless e review code. E é uma oportunidade de aprender com quem convive com as necessidades e situações reais do mercado atual, com clientes de grande porte como multinacionais de diversas áreas (Petróleo e Gás, Telecomunicações, Transportes, Operadoras de Cartão de Crédito, Bancos, Instituições Militares e Órgãos Públicos).


Alguns dos tópicos abordados no curso são:
  • Introdução à Segurança da Informação
  • Introdução ao Teste de Invasão e Ética Hacker
  • Escrita de Relatório
  • Google Hacking
  • Varreduras ativas, passivas e furtivas de rede
  • Enumeração de informações e serviços
  • Definindo vetores de ataque
  • Ignorando Proteções
  • Técnicas de Força Bruta
  • Vulnerabilidades em aplicações web
  • Elevação de Privilégios Locais
  • Testando o sistema
  • Técnicas de Sniffing
  • Ataques a Servidores WEB
  • Ataques a Redes Sem Fio
  • Fuzzing & Exploits de Buffer Overflow
  • Apagando Rastros
  • Metasploit Framework
  • WarGames

Quem tiver interesse no curso, por favor, acesse o link http://bit.ly/ZkbwEE e faça sua inscrição no curso "Teste de Invasão em Redes". Para pagamentos via PagSeguro, utilize o botão abaixo.


Carga horária: 40h
Investimento: R$ 750,00 (com possibilidade de parcelamento em até 12x no cartão de crédito)
Desconto: 10% de desconto para pgtos à vista.
Horário de aula: 22h às 24h
Dias de aula: seg., ter., qua. e qui.
Início das aulas: 12/08/2013

Observação: para pagamentos via depósito em conta, com 10% de desconto, entre em contato com luizwt at gmail.com.

7 de maio de 2013

0Day para Internet Explorer8 - CVE-2013-1347

Todos sabemos o nível de risco que um 0day representa para todo mundo, ainda mais quando se trata do navegador padrão do Windows, o Internet Explorer. Existem alguns exploits, incluindo uma versão para o Metasploit Framework, que permite a exploração de uma falha no navegador que utiliza o javascript para disparar a vulnerabilidade e provocar um heap spray.

Aqui vocês podem obter mais informações acerca da falha em si: http://blogs.technet.com/b/srd/archive/2012/12/29/new-vulnerability-affecting-internet-explorer-8-users.aspx

E abaixo vamos ver a utilização do exploit via Metasploit...

Uma busca no Metasploit, após atualizá-lo, já nos mostra o exploit:


Basta selecionarmos o mesmo para uso, e exibir as opções que precisam de configuração para sua utilização:

Depois que "setamos" as opções, e chamamos o exploit para execução, podemos ver a inicialização de um servidor web sendo executado:

E quando tentamos acessar a página pelo IE(pelo IP local da máquina), recebemos a mensagem de travamento do navegador e no console do MSF, teremos uma nova sessão sendo aberta com acesso à máquina da vítima:




A próxima atualização da Microsoft está agendada para dia 14 de maior, portanto até lá quem tiver IE 8 precisa se cuidar :-)

Divirtam-se!