Passe na OSCE: desafio aceito





Como você responderia a tal proposta? Há um tópico que a maioria dos especialistas em segurança da informação contorna, chamado de "exploração binária". Primeiro você precisa resolver uma tarefa de teste: basta reverter o código do assembly e gerar uma chave. Em seguida, é necessário completar 8 módulos de trabalho de laboratório no estande da década de 2000 em 60 dias. Então você pode se preparar usando o livro, mas ele vai te ajudar a entender o assunto em apenas 20 por cento. Então haverá um exame exaustivo de quatro tarefas por 48 horas, e imediatamente após você terá 24 horas para preparar um relatório em inglês. E todo esse prazer custa $ 1800.



Eu disse: "Dê-me dois!"



Portanto, a seguir contarei como me preparei e passei no emocionante exame para o certificado internacional na área de testes de penetração Offensive Security Certified Expert, ou OSCE para abreviar, da Offensive Security .



Esta organização possui várias outras certificações, mas Expert assume a confirmação de conhecimento especializado em várias áreas ao mesmo tempo: ataques a aplicações web, ataques em nível de rede, fuzzing e desenvolvimento de exploits para Windows x86. Apesar de o curso ser frequentemente criticado por uma abordagem desatualizada, os fundamentos da operação não mudaram e, como resultado, muito pode ser aprendido:



  1. encontrar e explorar vulnerabilidades da web, por exemplo, XSS ou Path Traversal, com o desenvolvimento de um comprometimento completo do sistema operacional;
  2. conduzir ataques de rede GRE Sniffing, SNMP, ignorar listas de acesso usando solicitações SNMP falsificadas;
  3. encontrar buffer overflows usando fuzzing e usá-los para entrar no programa, ignorar mecanismos de proteção (overflow de pilha, ignorar ASLR, egghunter, caracteres ruins, etc.) e também ignorar mecanismos de proteção estática do antivírus.


Que tipo de besta é a OSCE: um exemplo



Para não sobrecarregar o artigo com termos técnicos e abreviaturas, darei um exemplo típico. Imagine que você tem um software (software) que recebe dados via TCP e precisa operar em um servidor remoto onde esse software está implantado para poder executar comandos no nível do sistema operacional.



Decisão



  1. : , . , .
  2. () stack overflow, .
  3. payload ( ) , , EIP. , SEH.
  4. EIP . , . , , — ( ), .


Parece que só falta marcar o shellcode, e tudo é muito simples. Mas acontece que primeiro você precisa ignorar o mecanismo ASLR, se você não conseguir encontrar um endereço estático na memória, ou se o buffer na memória for limitado pelo alfabeto (caracteres permitidos), então você precisa coletar todos os caracteres permitidos e construir uma cadeia de comandos alternativos a partir deles. E se o tamanho do buffer for limitado, então você precisa encontrar outro lugar na memória do programa onde você pode colocar dados adicionais, encontrá-los na memória e fazer uma transição para eles (técnica egghunter), ou até mesmo escrever seu próprio código de shell que fará o que você quiser, nas restrições apresentadas.



Também acontece que esses dados colocados adicionalmente estão parcialmente danificados, portanto, você deve avaliar o dano e descobrir como contornar essa limitação. Por exemplo, remova badchars, encadeie seu shellcode e encadeie suas chamadas. Para complicar as coisas, o depurador (sua ferramenta principal) pode não alocar memória corretamente e exibir dados na memória incorretamente durante a depuração - Bingo!



Na verdade, a exploração binária e os testes de penetração em geral são um jogo de contornar um monte de restrições, o uso de várias técnicas e o uso de engenhosidade. A solução para tal tarefa pode levar de 6 horas ao infinito, então 48 horas para 4 tarefas não parece redundante para mim.



Como eu passei no exame



Consegui passar no OSCE na segunda tentativa. A primeira vez - isso foi em junho - não pude me preparar adequadamente para o exame devido à carga de trabalho dos projetos, mas como um "pentester de verdade" decidi fazer tudo "na hora". Como resultado, em 48 horas, das quais 10 foram gastas dormindo, resolvi apenas 1,5 problema.



Em setembro, tomei uma decisão obstinada de lidar com tudo qualitativamente: estudar mais tópicos, inclusive os relacionados à operação (e isso acabou sendo um buraco sem fim), fazer todos os de laboratório, me comunicar com outros especialistas, pensar nas tarefas na primeira tentativa de passar no exame, preparar vários roteiros para automação.



Como resultado, a segunda tentativa foi em novembro: durante as 12 horas de exame, bebi 7 copos de chá, um par de comprimidos para dor de cabeça, jantei delicioso, dei uma volta no quintal - e todas as 4 tarefas foram resolvidas. Felizmente, eram semelhantes aos que encontrei na primeira tentativa. Depois de um sono agradável, demorou mais 5 horas para fazer o laudo e, um dia depois, fui informado que o exame foi aprovado e que eu poderia pedir um aumento salarial à gerência.



Atualizando regras de certificação



Em outubro de 2020, a Offensive Security anunciou que planeja atualizar o curso OSCE. Esta certificação já não pode ser paga, e o status OSCE de acordo com as novas regras só pode ser obtido passando em três exames:



  1. Ataques e exploração avançada da Web (AWAE)
  2. Técnicas de evasão e defesas de rompimento (PEN-300)
  3. Desenvolvimento de exploração do modo de usuário do Windows (WUMED) - a ser anunciado em 2021


Acontece que tentei em vão e agora tenho um certificado desatualizado? Mas não, a empresa adere à posição “Quem conquistou uma OSCE sempre a conservará”, que significa “Quem recebeu uma OSCE a manterá para sempre”. Provavelmente, muitas pessoas escolhem a segurança ofensiva para isso. Sim, é caro, sim, os manuais de treinamento são fracos, sim, o exame é exaustivo e contém muitas armadilhas, mas tendo passado em algo pelo menos uma vez, você carrega esse título para o fim dos seus dias! Ao contrário de várias outras certificações, em que a cada 2-3 anos você precisa continuar pagando por renovações e novos exames.



Perguntas frequentes



O que a certificação me deu no final?



  • — . OSCP , .
  • «-» .
  • , , 2010- , .
  • « , ?»


?



  • : , .
  • .
  • .
  • «».


?



A nossa empresa dá grande atenção ao desenvolvimento de hard e soft skills da equipa, por isso consegui obter a certificação a expensas do empregador. Caso contrário, talvez eu tivesse decidido por tal desafio apenas por causa do próprio certificado. Para ganhar apenas conhecimento (e economizar finanças pessoais), seria mais sensato estudar os materiais vazados e blogs de outros pentesters no medium.com, recriar e passar no estande, e também prestar atenção em outros cursos, por exemplo, SLAE .



Vou continuar fazendo os exames de segurança ofensiva?



Claro, geralmente fico satisfeito com a abordagem de “tentar mais difícil”, e seus novos cursos são interessantes e tudo o mais pode ser sobrevivido.



PS Obrigado aos meus colegas e à minha namorada que me apoiaram!



All Articles