SEC760: Desenvolvimento de exploração avançada para testadores de penetração (46 CPEs)
R$62.500,00
Carga horária:
36 horas
Nível do curso:
Avançado
O SEC760 fornecerá a você as habilidades avançadas para melhorar seu desenvolvimento de exploração e entender as vulnerabilidades além de um nível fundamental. Neste curso, você aprenderá a fazer engenharia reversa de aplicativos de 32 e 64 bits.
Proposta
Se você precisa de uma proposta personalizada para se capacitar e/ou capacitar sua equipe, preencha o formulário e fale com nossos consultores.
O SEC760 fornecerá a você as habilidades avançadas para melhorar seu desenvolvimento de exploração e entender as vulnerabilidades além de um nível fundamental. Neste curso, você aprenderá a fazer engenharia reversa de aplicativos de 32 e 64 bits, executar aplicativos de usuário remoto e depuração de kernel, analisar patches para explorações de um dia e escrever explorações complexas (como ataques use-after-free) contra softwares e sistemas operacionais modernos. O curso foi projetado para ajudá-lo a entrar em posições altamente procuradas, ensinar truques de ponta para avaliar completamente um alvo e se defender até mesmo dos atacantes mais habilidosos.
O que você vai aprender
Vulnerabilidades em sistemas operacionais modernos, como o Microsoft Windows 10 e as distribuições Linux mais recentes, geralmente são muito complexas e sutis. Quando exploradas por invasores muito habilidosos, essas vulnerabilidades podem minar as defesas de uma organização e expô-la a danos significativos. Poucos profissionais de segurança têm o conjunto de habilidades para descobrir por que existe uma vulnerabilidade complexa e como escrever uma exploração para comprometê-la. Por outro lado, os invasores devem manter esse conjunto de habilidades, independentemente do aumento da complexidade. SEC760: Advanced Exploit Development for Penetration Testers ensina as habilidades necessárias para fazer engenharia reversa de aplicativos de 32 e 64 bits para encontrar vulnerabilidades, executar aplicativos de usuário remoto e depuração de kernel, analisar patches para exploits de um dia e escrever exploits complexos, como ataques use-after-free contra softwares e sistemas operacionais modernos.
O que você vai receber
- Uma licença de quatro meses para o IDA Pro, fornecida pela Hex-Rays, está incluída neste curso. Para obter a licença, você deve concordar com os termos, incluindo fornecer seu nome e um endereço de e-mail, para que a Hex-Rays possa atribuir a licença. Após o término do curso, os alunos podem optar por estender a licença com desconto entrando em contato com a Hex-Rays. (Se você optar por não participar, deverá trazer uma cópia do IDA Pro 7.4 avançado ou posterior.)
- Várias máquinas virtuais pré-configuradas, como o Windows 10.
- Várias ferramentas em um curso USB que são necessárias para uso em aula.
- Acesso ao laboratório de treinamento virtual em sala de aula com muitos laboratórios aprofundados.
- Acesso ao áudio do curso gravado para ajudar a martelar importantes lições de teste de penetração de rede.
SEC760.1: Mitigações de Exploração e Reversão com IDA
- O curso começa com um mergulho profundo nas mitigações de exploração maduras e modernas.
- Hoje em dia, é raro encontrar um aplicativo ou sistema operacional que não use uma combinação de mitigações para impedir a exploração de uma vulnerabilidade.
- Existem sistemas operacionais e aplicativos desatualizados, como no sistema de controle industrial e no espaço da Internet das Coisas, mas esse não é o foco deste curso.
- Abordamos a eficácia e os detalhes técnicos por trás de cada controle, como aqueles implementados no Windows Defender Exploit Guard.
- Em seguida, passamos o restante do primeiro dia usando o IDA Pro, que vem junto com o curso.
- Aprimoramos rapidamente o básico do IDA Pro como um desmontador e, em seguida, passamos para a depuração remota com a ferramenta.
- Terminamos o primeiro dia utilizando IDA FLIRT e FLAIR e escrevendo scripts IDAPython para ajudar na busca e análise de bugs.
SEC760.2: Exploração avançada do Linux
- A capacidade de progredir para reversão e exploração mais avançadas requer uma compreensão de nível especializado das vulnerabilidades básicas de software, como as abordadas no curso SEC660 da SANS.
- Os estouros de pilha servem como um rito de passagem para as técnicas modernas de exploração.
- Este dia visa preencher essa lacuna de conhecimento para inspirar o pensamento de forma mais abstrata, o que é necessário para continuar o curso.
- O Linux às vezes pode ser um sistema operacional mais fácil de aprender essas técnicas, servindo como um gateway produtivo para o Windows.
- A maioria dos cursos sobre desenvolvimento de exploits se concentra exclusivamente no sistema operacional Windows, e é importante ter uma compreensão da pesquisa de vulnerabilidades no sistema operacional Linux também.
SEC760.3: Diferenciação de patches, explorações de um dia e shellcode orientado a retorno
- Os invasores geralmente baixam patches assim que são distribuídos por fornecedores como a Microsoft para encontrar vulnerabilidades recém corrigidas.
- As vulnerabilidades geralmente são divulgadas de forma privada, ou até mesmo descobertas internamente, permitindo que o fornecedor corrija a vulnerabilidade de forma mais silenciosa.
- Isso também permite que o fornecedor libere detalhes limitados ou até mesmo nenhum detalhe sobre uma vulnerabilidade corrigida.
- Os invasores estão cientes disso e trabalham rapidamente para encontrar a vulnerabilidade corrigida para assumir o controle de sistemas não corrigidos, pois muitas organizações lutam para obter os patches rapidamente.
- A diferenciação binária e a diferenciação de patches também são realizadas por manipuladores de incidentes, administradores e fornecedores de IDS, empresas de estrutura de teste de vulnerabilidade e penetração, entidades governamentais e outros.
- Você usará o material abordado neste dia para identificar bugs corrigidos pela Microsoft, levando alguns deles à exploração.
- Também vamos nos concentrar no uso da programação orientada a retorno (ROP) para encadear gadgets que emulam shellcode.
SEC760.4: Depuração e exploração do kernel do Windows
- O kernel do Windows é complexo e intimidador, então este dia tem como objetivo ajudá-lo a entender o kernel do Windows e as várias mitigações de exploração adicionadas às versões recentes.
- Você aprenderá como o kernel funciona com drivers para se comunicar com dispositivos e como algumas funcionalidades podem ser expostas ao modo de usuário, às vezes de forma insegura!
- Você realizará a depuração do kernel no Windows 10 e aprenderá a lidar com suas complexidades inerentes.
- Serão realizados exercícios para analisar as vulnerabilidades do driver Ring 0, examinar as técnicas de exploração e obter explorações funcionais.
SEC760.5: Exploração avançada do Windows
- O foco deste dia está na exploração avançada de aplicativos executados no sistema operacional Windows.
- Por muitos anos, os bugs de corrupção de memória têm sido o padrão de fato em relação à exploração de aplicativos do Windows.
- Os exemplos incluem bugs Use After Free (UAF) e Type Confusion.
- Muitas dessas vulnerabilidades existem devido a complexidades com grandes aplicativos C++, como rastreamento de objetos e gerenciamento dinâmico de memória.
- Nesta seção, nos concentramos nesses tipos de vulnerabilidades de aplicativos nos sistemas operacionais Windows 7, 8 e 10.
SEC760.6: Desafio Capture a Bandeira
- O sexto dia contará com um evento Capture-the-Flag empregando diferentes tipos de desafios do material ensinado ao longo da semana.
- Teste suas habilidades de engenharia reversa, descoberta de bugs e escrita de exploits em um dia inteiro de exercícios Capture-the-Flag!
- É obrigatório que os alunos tenham experiência anterior em criação de exploits usando técnicas como as abordadas no SANS SEC660: Advanced Penetration Testing, Exploit Writing e Ethical Hacking. Isso inclui experiência com estouros de buffer baseados em pilha no Linux e no Windows, bem como a experiência de derrotar controles modernos de mitigação de exploração, como Prevenção de Execução de Dados, Randomização de Layout de Espaço de Endereço, canários e SafeSEH.
- É necessária experiência ou compreensão de ferramentas de fuzzing, como AFL, Sulley Fuzzing Framework e Peach.
- Experiência em programação é importante, preferencialmente com C/C++.
- No mínimo, é obrigatória a experiência de script em uma linguagem como Python, Perl, Ruby ou LUA. Fundamentos de programação como funções, ponteiros, convenções de chamada, estruturas, polimorfismo e classes serão assumidos como conhecimento.
- Também é necessária experiência com código vulnerável de engenharia reversa, assim como a capacidade de ler a desmontagem x86/x64 de dentro de um depurador ou desmontador. ARM e MIPS não são abordados neste curso.
- É necessária experiência com navegação Linux e Windows. Se você não atender a esses requisitos, talvez não consiga acompanhar o ritmo do curso.
Quem deve participar do SEC760?
- Testadores de penetração de rede e sistema sênior com experiência em desenvolvimento de exploração
- Desenvolvedores de aplicativos seguros (C e C++)
- Profissionais de engenharia reversa
- Manipuladores de incidentes seniores com experiência em desenvolvimento de exploits
- Analistas de ameaças sênior com experiência em desenvolvimento de exploits
- Pesquisadores de vulnerabilidade
- Pesquisadores de segurança
Você vai aprender:
- Como escrever exploits modernos nos sistemas operacionais Windows 7/8/10
- Como executar ataques complexos, como use-after-free, exploração de kernel e driver, exploração de um dia por meio de análise de patches e outros ataques avançados
- Como utilizar efetivamente vários depuradores e plug-ins para melhorar a pesquisa e a velocidade de vulnerabilidades
- Como lidar com controles modernos de mitigação de exploits destinados a impedir o sucesso
Você poderá
- Descubrir vulnerabilidades de dia zero em programas executados em sistemas operacionais modernos totalmente corrigidos
- Usar os recursos avançados do IDA Pro e escreva seus próprios scripts Python IDA
- Executar a depuração remota de aplicativos Linux e Windows
- Entender e explore os estouros de heap do Linux
- Escrever código de shell orientado a retorno
- Executar a diferenciação de patches em relação a programas, bibliotecas e drivers para encontrar vulnerabilidades corrigidas
- Executar estouros de heap do Windows e ataques use-after-free
- Executar a depuração do kernel do Windows por meio do Windows 10 64-bit Build 1903
- Executar o driver do Windows e a exploração do kernel.