Introduction

I wanted to learn offensive cybersecurity, actual technical skills, hands-on. I had time for it, but not a ton during exams and the semester, so CWES made more sense than jumping straight into CPTS. On top of that, some pentesting internships specifically value Hack The Box experience, which made the decision easy. So I planned it out: complete the path during exam season and find a 4 days timeslot during the semester.


The Exam Experience

I was pretty rusty going in. I had done about 60% of the course during the Christmas break (two months earlier) and barely took any notes. Right before the exam, I set up my environment: I spun up a fresh VM from my golden image, which is a clean base I keep updated with all my tools and only touch for upgrades. From that, I create throwaway VMs for any actual work (after consideration I’ll probably switch to Exegol.

Here’s how the days played out:

Day Flags Notes
Day 1 0 Rough start : had to accept I needed to revisit the course
Day 2 2 First flags came in the afternoon, after 1.5 days of nothing
Day 3 5 Breakthrough, started internalizing the methodology
Day 4 2 Steady
Day 5+ Report writing

The biggest lesson: be meticulous. After day one with nothing, I realized the exam wasn’t going to reward speed, it rewarded thoroughness. The path doesn’t train you for actual black box penetration testing, be aware of that ! I went back through the course material during the exam itself, and it paid off.


How I Structured My Notes - After the exam

The most valuable thing I’d recommend is building a solid methodology folder system before you sit the exam. Here’s what mine looks like:

  • 1_Methodology/ - Maps real situations to the techniques or tools and order of operations you should follow. Think: login form → try SQL Injection, then LDAP injection, etc.
  • 2_Techniques/ - Deep dives on each technique referenced in the methodology: SQL Injection, LDAP, XSS, etc.
  • 3_Tools/ - Usage references for specific tools: Nmap, SQLmap, ffuf, etc.

The key insight is that Methodology and Techniques are separate. Methodology tells you when to use something; Techniques tell you how.

Here’s an example of what a systematic methodology section looks like in practice:

Example of systematic methodology

Port & Service Discovery

  • Full port scan → Reference: Nmap
  • Identify services, versions, OS → Whatweb

Fingerprinting

  • Check HTTP headers (Server, X-Powered-By, Set-Cookie naming)
  • Check page source for comments, frameworks, JS libs
  • Identify CMS → Reference: CMS Tool
  • Check robots.txt, sitemap.xml, .well-known/
  • Check for common files: crossdomain.xml, security.txt

Etc…