Fui aprovado na eWPTX no dia 13/07 e durante esse artigo estarei falando um pouco sobre como se preparar para a mesma. A eWPTX ou eLearnSecurity Web application Penetration Tester eXtreme é um exame avançado com foco em pentest web, que visa avaliar habilidades de um pentester de se sobressair em diversas situações específicas, o exame simula realmente um pentest real life, onde você tem um prazo e deverá entregar um relatório profissional com os objetivos solicitados pelo cliente.
Detalhes do Exame:
Custo: $400;
Duração: 14 dias, sendo 7 dias de prática e 7 dias para fazer o report.
Obs: Após o término dos primeiros 7 dias de prática, a vpn fica indisponível, e há apenas a opção de fazer o upload do report.
Como estudar para a prova?
Indico fortemente o curso oficial da ine, você pode pagar o premium que é um pacote anual e ter acesso aos laboratórios práticos do curso que custam em média: $749/year, ou pagar o plano mensal que custa $39/month e ter acesso apenas aos slides e alguns vídeos, sem laboratórios práticos do curso:
Conteúdo do Curso:
- Encoding and Filtering
- Evasion Basics
- Cross-Site Scripting
- XSS – Filter Evasion and WAF Bypassing
- HTML5
- SQL Injection
- SQLI – Filter Evasion and WAF Bypassing
- XML Attacks
- Attacking Serialization
- Server Side Attacks
- Attacking Crypto
- Attacking Authentication & SSO
- Pentesting APIs & Cloud Applications
- Attacking LDAP-based Implementations
Outra fonte que é de extrema importância trata-se dos labs da portswigger:
https://portswigger.net/web-security/all-labs
Labs de plataformas de ctf, como tryhackme também são um ótimo complemento:
Recomendações e Conteúdo do Exame:
Recomendo seguir a trilha do curso oficial da INE passado acima, o curso possui diversas informações fantásticas que vão do básico até realmente o eXtreme, mostrando formas de bypassar diversas proteções em situações distintas em várias vulnerabilidades diferentes. A prova realmente deseja que você pense fora da caixinha.
Abaixo listarei algumas vulnerabilidades que costumam sempre cair no exame.
Vulnerabilidades:
- Cross-Site Scripting;
- SQL Injection;
- XML External Entity;
- Information Disclosure (Dangerous obfuscation);
- Git Exposed;
- Server-Side Request Forgery;
- Server-Side Template Injection;
- Insecure Deserialization.
Estude a trilha passada acima, mas estude com foco de explorar as vulnerabilidades em condições de bloqueios, como por exemplo realizar bypass de SQL Injection com WAF ou filtro/bloqueio de diversas querys através de regex, como também situações que envolvem bypassar token de proteção contra csrf para explorar outras vulnerabilidades encadeadas.
O exame também detém muitas informações que precisam ser buscadas através de code-review. O Exame não te da acesso ao código fonte quando você inicia, pois trata-se de um exame black-box. Você deve buscar diversos arquivos internos através de vulnerabilidades, fazendo a devida leitura e interpretação desse código para realizar outras explorações e bypassar proteções.
O curso, bem como a prova envolvem situações de criação de tamper para sqlmap, bem como criação de scripts em php para explorar vulnerabilidades, particularmente eu fiz sempre que pude, é uma ótima forma para agregar valor, em algumas situações para explorar vulnerabilidades da aplicação você verá que o conhecimento de programação será exigido, desde para interpretação de códigos, bem como exploits que se aproveitem de uma parte comprometida da aplicação.
Fiz um repositório com o intuito de ter gatilhos/tricks rápidas para hora da prática, sugiro a leitura do mesmo, pode ser bem útil:
GitHub – rodolfomarianocy/Tricks-Web-Penetration-Tester: Web Application Penetration Testing
Cookies -> HTTP response messages -> Rules -> HTTP status code -> wafw00f https://github.com/EnableSecurity/wafw00f ->…github.com
Também abaixo, seguem outros links que podem te ajudar na preparação para a prova:
https://book.hacktricks.xyz/pentesting-web
Contato para network: