Skip to content

Projects: Pentesting, Security, Privacy and CTF/Bug Bounty

Project ideas for this topic, ranging from beginner to expert. Projects require synthesizing knowledge from multiple modules and produce real, demonstrable artifacts.

[!IMPORTANT] All projects must be performed in authorized environments: your own systems, intentionally vulnerable VMs (DVWA, Metasploitable, HackTheBox machines), or with explicit written permission. Never test against systems you do not own or have authorization to test.


Table of Contents


Beginner Projects

Project 1: DVWA Full Walkthrough

Difficulty: Beginner Modules: 01, 03, 04, 05 Estimated Time: 6–10 hours

Description: Set up DVWA (Damn Vulnerable Web Application) locally and complete all vulnerability categories at the "Low" security level. Document each vulnerability with a screenshot of the exploit, an explanation of why it works, and the defensive fix.

Deliverables: - A written walkthrough document covering all DVWA categories (Brute Force, Command Injection, CSRF, File Inclusion, File Upload, SQL Injection, XSS reflected, XSS stored) - For each vulnerability: what it is, how you exploited it, what the fix is - Screenshots or terminal output as evidence

Success Criteria: - All categories completed at "Low" security level - Defensive fix explained for each vulnerability - Document is readable by someone who has not done the exercise


Project 2: Personal CTF Writeup Portfolio

Difficulty: Beginner to Intermediate Modules: 01, 03, 10 Estimated Time: Ongoing (5+ writeups)

Description: Complete at least 5 CTF challenges from TryHackMe or picoCTF and write a structured writeup for each one. This project teaches you to explain your thinking clearly — a skill essential for both bug bounty reports and job interviews.

Deliverables: - 5 writeups in Markdown format, each covering: challenge description, initial recon, thought process, tools used, solution, and what you learned - One writeup per category (web, crypto, forensics, reversing, misc)

Success Criteria: - Each writeup is understandable by another beginner (no assumed knowledge) - Tools and commands used are documented with explanations - "What I learned" section for each challenge is substantive


Intermediate Projects

Project 3: Home Lab Penetration Test

Difficulty: Intermediate Modules: 01, 02, 07, 08, 09 Estimated Time: 10–15 hours

Description: Set up a small home lab with at least two VMs (e.g., Kali Linux as attacker + Metasploitable 2 as target), conduct a simulated penetration test, and write a professional penetration test report. The report format mirrors what a real pentest consultant would deliver to a client.

Deliverables: A written penetration test report including: - Executive Summary (1 page, non-technical audience) - Scope and Methodology - Findings table (vulnerability name, severity, CVSS score, affected system) - Detailed finding for each vulnerability (description, evidence, impact, remediation) - Appendix: tools used, testing timeline

Success Criteria: - At least 5 distinct vulnerabilities documented - CVSS scores calculated for each finding - Executive summary is understandable by a non-technical manager - Remediation recommendations are specific and actionable


Project 4: Custom Recon Tool in Python

Difficulty: Intermediate Modules: 07, 02 Estimated Time: 8–12 hours

Description: Write a Python tool that automates passive and active reconnaissance for a given target domain (in an authorized context). The tool should: enumerate DNS records, find subdomains via certificate transparency logs, check for common HTTP endpoints, and produce a structured report.

Deliverables: - A Python script with: DNS enumeration, subdomain discovery via crt.sh, HTTP header fingerprinting - JSON or Markdown output report - README with usage instructions

Success Criteria: - Tool runs without errors against a test domain you own - Output is structured and human-readable - Code has comments explaining each function - Error handling for unresponsive targets


Advanced Projects

Project 5: Bug Bounty Report Submission

Difficulty: Advanced Modules: 01, 03–08, 11 Estimated Time: Variable (40+ hours of practice before first valid submission)

Description: Join a public bug bounty program on HackerOne, Bugcrowd, or Intigriti, find a valid vulnerability within scope, and submit a professional report. This is the most real-world project in the curriculum.

Deliverables: - A submitted bug report (link to the report) - A personal writeup (private, for your portfolio) documenting: how you found the program, how you approached testing, what you found, how you crafted the report, the triage result

Success Criteria: - Report is accepted as valid (even a "Resolved" or "Informational" — any non-duplicate response) - CVSS score included in report - Reproduction steps are exact and reproducible - Impact statement is accurate and specific

[!NOTE] This project may take many weeks or months to yield a valid finding. The process of triaging many non-issues is itself a critical learning experience. Keep a log of every target you test, even when you find nothing.


Project 6: Security Tool: Automated SQLi Detector

Difficulty: Advanced Modules: 04, 08 Estimated Time: 12–20 hours

Description: Build a Python tool that, given a URL with parameters, tests for SQL injection vulnerabilities using error-based, boolean-based, and time-based techniques. This is for use against systems you own or have explicit authorization to test.

Deliverables: - Python tool with: error-based detection, boolean-based detection, time-based detection - Test results output in structured format - Unit tests using a local DVWA instance as the target - Documentation explaining the detection logic

Success Criteria: - Correctly identifies SQLi in DVWA at all security levels - False positive rate is low on non-vulnerable endpoints - Code is clean, commented, and follows Python best practices - README includes clear usage instructions and ethical use statement


Expert Projects

Project 7: Full Red Team Exercise (Home Lab)

Difficulty: Expert Modules: All Estimated Time: 20–40 hours

Description: Design and execute a multi-stage attack simulation against a deliberately vulnerable lab environment you build yourself. The lab should include at least three machines with different vulnerability classes. Document the entire kill chain: initial access → lateral movement → privilege escalation → goal achievement. Write a full red team report and a blue team detection guide for each stage.

Deliverables: - Lab setup documentation (Vagrantfile or Docker Compose file preferred) - Attack timeline log (exact commands, timestamps, findings) - Red team report (attack perspective) - Blue team detection guide (for each attack stage: what log events to look for, what alerts to create)

Success Criteria: - Multi-stage attack chain documented end-to-end - At least 3 different vulnerability classes exploited - Blue team guide provides actionable detection rules (e.g., Suricata/Snort rules or SIEM queries) - Both offensive and defensive perspectives covered for each finding


Project 8: Open Source Security Tool Contribution

Difficulty: Expert Modules: All Estimated Time: Variable (20+ hours)

Description: Contribute a meaningful improvement to an open-source security tool (nmap scripts, Metasploit modules, Burp Suite extensions, OWASP ZAP scan rules, etc.). This is the expert-level project because it requires deep technical knowledge, understanding of the tool's architecture, and the ability to contribute clean, well-documented code to a professional codebase.

Deliverables: - An accepted pull request, merged module, or published extension to an open-source security tool - A writeup explaining: what you contributed, why, how it works, what testing you did

Success Criteria: - Contribution is accepted by the project maintainers (or clearly ready for submission) - Code follows the project's style and contribution guidelines - Security implications of the contribution are documented