Começo
Em 2016 tive o primeiro contato com um sistema pentest (Kali Linux) e uma ferramenta (SQLmap) apenas por diversão e sem quaisquer experiência. Então no mesmo ano comecei uma jornada mais profissional como programador em JavaScript e, em 2017, como programador de jogos e de aplicativos mobile. Publiquei alguns jogos e aplicativos na Google Play. Em 2019 desenvolvi minhas primeiras ferramentas de pentesting em Python, mas ainda não me considerava um pentester e desenvolvia apenas por diversão. Lia tópicos de Buffer Overflow e conseguia entender grande parte dos procedimentos, mas não aplicava em termos práticos. Já no final de 2021, foi quando ouvi falar da Desec Security.
A Desec Security é uma empresa focada em testes de penetração e possui diversos cursos que aborda Pentesting, Wifi Hacking, Pentesting Mobile entre outros cursos. Quando soube do curso Pentest Profissional, decidi aguardar por alguns dias a fim de abrir novas vagas e possibilitar a aquisição. Comprei então o pacote que continha o Pentest Experience (9 laboratórios) e o exame DCPT.
Quando iniciei o curso, focava muito nas aulas e atividades práticas até altas horas da noite e, em função disso, tive que solicitar ao suporte o desbloqueio de todos os módulos, visto que eu tinha muito tempo disponível por dia para os estudos. Realizava anotações de todos os detalhes que aprendia em um bloco de notas no computador e, nesse ritmo, consegui concluir o curso em apenas um mês e começar os testes de penetração nas máquinas do Pentest Experience. Muito motivado com o exame, consegui finalizar em, aproximadamente, duas semanas.
Um dia antes de concluir o Pentest Experience, eu já estava me preparando para começar o exame no dia seguinte, às 7h da manhã. Recomendo muito fazer um cheatsheet com os comandos aprendidos no curso, testar seu sistema para evitar erros, fazer backup do passwd (eu já quebrei o passwd e tive atraso em outro exame) e etc.
No começo, você pode ficar nervoso por achar que 24 horas são insuficientes e passam rapidamente, mas afirmo que esse tempo é muito mais do que o suficiente (24h é 1 dia inteiro), até porque tive um grande atraso no exame e, na última flag, de sobra, restou muitas horas ainda. Enumere e explore os hosts com tranquilidade como se não existisse tempo máximo. O ambiente possui cinco máquinas para você realizar o pentest, uma delas é um buffer overflow. A dificuldade das máquinas é semelhante a do Pentest Experience. Na verdade, pra mim, foi até mais fácil, pois não foi necessário escalar privilégio em algumas máquinas e também só é necessário responder apenas uma pergunta por máquina, que é a flag encontrada.
Abaixo, dou algumas dicas para você se sair bem no exame:
Pesquisando as exploits
- Caso você use o searchploit e não ache ou a exploit não funcione, você pode procurar no Google usando google dorks:
site:github.com intitle:CVE [SERVIÇO] remote code execution
site:github.com intitle:CVE [SERVIÇO] exploit
site:github.com [SERVIÇO] exploit [TIPO_DA_EXPLOIT]
Por exemplo, no mundo pentest existem diversos tipos de exploits como: LFI, RFI, Prototype Pollution, Deserialization e etc
Testando uma exploit
- O Wireshark é um dos seus melhores amigos em qualquer exame, sempre use-o caso você tenha dúvida do que está acontecendo na execução de tal exploit;
- Para testar exploits você pode usar o payload “ping [SEU_IP]” e filtrar por ICMP no Wireshark ao invés de inicialmente tentar abrir uma shell ou testar com netcat. Caso você receba os pacotes, significa que sua exploit funcionou. Caso nada aconteça, você pode usar telnet, netcat, wget ou curl para ver se a exploit funciona e pelo menos atinge o seu host.
Lembrando
- Não pode usar Metasploit, mas pode usar o msfvenom (para gerar uma shell em netcat), pattern creator e pattern offset;
- Você pode usar WinPEAS e LinpEAS para enumerar o sistema a fim de escalar privilégios;
- Enumere o host ao máximo;
- Dica: Explore o host e se em 2 horas você não encontrar uma forma de abrir uma shell inicial, pule para outro host. Caso consiga abrir a shell em menos de 2 horas, aí você tem mais 2 horas para a escalação de privilégios (caso necessite);
- Tirar screenshot do passo-a-passo e quando você encontrar a flag do último host só coloque-a quando você tiver tirado todos os screenshots e evidências, pois quando você coloca todas as flags seus resets são encerrados;
- 24 horas é mais do que suficiente, então explore o sistema como se não tivesse um tempo máximo, no meu exame eu tive um atraso grande e mesmo assim consegui terminar em 16 horas, restando 8 horas;
- Tenha uma boa noite de sono, e caso você esteja com dor de cabeça ou mal-estar recomendo não iniciar o exame;
- Deixe uns petiscos e água do seu lado para evitar que a fome te atrapalhe, e, em alguns momentos, você pode dar algumas pausas.
Bom exame!