Offensive Security Roadmap medjahdi.dev
// the attacker's mindset: continue here

The real path into offensive security.

No hype, no shortcuts. This is the order I'd learn in if I started today, with the exact free resources, tools, labs, books and people. Work it top to bottom. Don't skip the fundamentals: that's the step that separates people who last from people who quit.

Built by Mohamed Medjahdi, Cybersecurity Engineer · medjahdi.dev

Fundamentals: the step everyone skips

If you jump straight to "hacking" you'll spend years copy-pasting payloads you don't understand and wondering why they fail. Learn how a request actually reaches a server and the rest gets easy. Four things, roughly in this order:

Networking

TCP/IP, ports, DNS, what actually happens when you load a page.

Linux

The command line is your home. Learn files, permissions, processes, pipes. Best way is by doing:

How the web works

HTTP requests & responses, methods, status codes, headers, cookies, sessions. This is the ground under every web attack.

A bit of scripting

Python first: enough to read others' tools and write small ones of your own.

The vocabulary you'll hear everywhere

Vulnerability, a weakness that can be abused.
Exploit, the technique/code that abuses it.
Payload, what the exploit delivers/runs.
Recon, gathering info on the target.
Enumeration, digging deeper into what recon found.
Foothold, your first access into a system.
Privilege escalation, limited access → full/admin.
Shell, command access on the target.
CVE, a public ID for a known vuln.
XSS, running your JavaScript in a victim's browser.
SQLi, injecting into a database query.
IDOR, changing an ID to reach others' data.
CSRF, forcing a victim's browser to act.
SSRF, making the server send requests for you.
RCE, running your commands on the server.
LFI / RFI, including local/remote files you shouldn't.

Pick one surface: start with web

Offensive security is huge: web, networks, mobile, cloud, IoT, wireless. Don't scatter across all of them. Start with web apps, free to practise, browser-based, in constant demand, fastest feedback. The single best free resource on the planet for this is PortSwigger's Web Security Academy, work through it topic by topic.

The tools: what they do, and one command

recon · port scanningNmap

Find open ports & services. nmap.org

web testingBurp Suite

Intercept & edit web traffic. portswigger.net/burp

content discoverydirsearch / ffuf

Brute-force hidden paths. dirsearch · ffuf

sql injectionsqlmap

Automate SQLi. sqlmap.org

vuln scanningNuclei

Template-based checks at scale. nuclei

trafficWireshark

Read the packets. wireshark.org

passwordshashcat / John

Crack hashes. hashcat · John

decodeCyberChef

base64, JWT, hashes, URLs. CyberChef

And the two things every one of these needs: wordlists (SecLists) and a toolkit OS (Kali Linux, in a VM). A few starter commands:

the basics
# find services
nmap -sV -sC target.com
# find hidden paths
dirsearch -u https://target.com -t 10
ffuf -u https://target.com/FUZZ -w .../common.txt
# test a parameter for SQLi (only on targets you own/are allowed)
sqlmap -u 'https://target.com/item?id=1' --batch

Practice: legal targets only

You get good by doing, thousands of reps, but only on systems built to be hacked or that you own:

your own practice target (needs Docker)
# then open http://localhost:3000
docker run --rm -p 3000:3000 bkimminich/juice-shop

Learn the vulnerabilities, OWASP Top 10

The reference list of the ten riskiest web flaws. Learn each, then hunt it in the labs. The workshop's XSS is A03: Injection. Pair this with the OWASP Testing Guide: a free, professional checklist of how to test everything.

Work a methodology, every time

Pros don't hack randomly. They run the same phases on every target:

Automated tools find hidden paths. Manual testing, poking every input by hand: is what finds the good bugs: broken business logic, access-control flaws, a reflected XSS a scanner walks right past. Tools narrow the search; your brain finds the bug.

Recon, in more detail

Recon is where most bugs are won. Three layers:

Read the output critically. Most of a scan is noise: a wall of errors and dead ends. The skill isn't running the tool, it's spotting the two useful lines in two hundred.

Use AI the right way

In 2026 AI is part of the job. Autonomous agents now run recon and exploitation, and they drive the same classic tools you're learning, AI didn't replace Nmap and Burp, it orchestrates them. But it's a multiplier, not a replacement: it pays off for the person who can already tell when its output is wrong.

Fundamentals first. Then AI is a force multiplier in your hands, not a crutch hiding what you don't understand.

The AI vulnerability-report template

Finding a bug is half the job: the report is the other half, and it's the half that pays. Paste your finding plus this template into any AI, get a first draft, then verify and edit it yourself.

1, The template

vulnerability-report.md
# Vulnerability Report

Title: [short descriptive title]
Severity: [Critical / High / Medium / Low]
Affected asset: [URL / endpoint / feature]
Date: [date]   Tested by: [name]

## Summary
[1-2 sentences: what it is and why it matters.]

## Steps to Reproduce
1. [step]   2. [step]   3. [step]

## Proof of Concept
[the exact payload / request used]

## Impact
[what an attacker can actually do - be concrete.]

## Remediation
[how to fix it.]

## References
[OWASP link, CVE if any]

2, The prompt to give your AI

prompt.txt
You are a penetration tester writing a professional vulnerability report.
Using ONLY the finding below, fill in the template. Be precise and concise.
Do not invent details: mark anything uncertain as (to confirm).

FINDING:
- Vulnerability type: [e.g. DOM-based XSS]
- Location: [e.g. product search field]
- Payload used: [the script you injected]
- What happened: [script executed, session token shown]
- Target: [OWASP Juice Shop, local test instance]

TEMPLATE:
[paste the template above]
AI drafts it. You verify it. A report you didn't check is worse than no report.

Certifications: the honest ladder

Certs help you get past HR filters and give you structure. You don't need them to start, and skills beat paper, but here's the sensible order, cheap to expensive:

Don't collect certs for the wall. Pick one, use it to force yourself to study, and put the projects you build along the way on GitHub.

Books worth your time

People to learn from (free, on YouTube)

IppSec

HackTheBox walkthroughs. watch ↗

John Hammond

Practical hacking & CTFs. watch ↗

The Cyber Mentor

Beginner-friendly pentest courses. watch ↗

NahamSec

Bug bounty & recon. watch ↗

LiveOverflow

Deep, concept-first hacking. watch ↗

PwnFunction

Web vulns explained with animation. watch ↗

Bug bounty: how to actually start

Bug bounties are the legal way to hack real companies: they invite you, you find bugs, they pay. It's hard at first: don't expect money fast. How to begin:

Community & staying current

Build a reputation in public

Your public work is what gets you hired: proof beats a CV full of claims.

How you make a living from this

get hiredA job

SOC analyst, pentester, red teamer, AppSec engineer. Demand is high and pay climbs fast.

your own clientsFreelance / consulting

Run security audits for companies as an independent.

paid per bugBug bounties

Find real bugs on real programs: legally, and get paid per finding.

fuel for all threeReputation

Write-ups, GitHub and solved labs open every one of these doors.

What machine do you need?

The one already in your hands. Mac, Windows or Linux: it doesn't matter when you start. Master your machine first.

Ethics & the law

Everything above is legal only on systems you own or have explicit permission to test.

The same skill builds a career or a criminal record. Choose the one with a future.

A concrete 90-day starter plan

  1. Weeks 1–3 · Fundamentals Networking + Linux (OverTheWire Bandit) + how HTTP works. Daily terminal practice.
  2. Weeks 4–7 · Web basics Work PortSwigger Academy, XSS, SQLi, access control, auth. One topic at a time, do the labs.
  3. Weeks 8–10 · Tools + methodology Learn Burp properly, run dirsearch/ffuf and Nmap, practise on Juice Shop and TryHackMe.
  4. Weeks 11–12 · Put it together Do full boxes (recon → exploit → report). Write up every one on GitHub/your blog.
  5. Ongoing Read disclosed bug-bounty reports, play a CTF, pick a first cert (eJPT or PNPT) as a goal, and keep publishing.