πŸ›‘οΈ Methodology Checklist

  • Set up engagement folder structure (00_scope through 11_archive) before testing
  • Capture all screenshots: YYYY-MM-DD_HHMM_[HOST]_[FINDING]_desc.png
  • Record all commands run with timestamps in testing notes
  • Document scope exceptions and any deviations
  • Note all evidence locations in engagement tracker spreadsheet
  • Include snapshot-in-time disclaimer in report introduction
  • Verify evidence completeness before beginning report drafting

🎯 Operational Context

Use when: Engagement complete or milestone reached β€” document findings with sufficient technical detail for both executive and technical audiences. Think Dumber First: Start the report template on day 1, not day 15. Fill findings as you discover them. Screenshots are evidence β€” capture them in the moment, not from memory. Every exploited vulnerability needs: PoC command, screenshot of impact, affected asset list. Skip when: N/A β€” documentation is always required.


⚑ Tactical Cheatsheet

CommandTactical Outcome
mkdir -p engagement/{00_scope,01_admin,02_scans,03_enum,04_exploitation,05_privesc,06_lateral-movement,07_credentials,08_screenshots,09_findings,10_report,11_archive}Create standard engagement folder structure
script -a engagement/01_admin/terminal-session-$(date +%F-%H%M).logStart terminal logging session
sudo nmap -Pn -sS -sV -sC -oA engagement/02_scans/nmap-initial [TARGET_IP]Nmap with all output formats saved (-oA)
sudo nmap -Pn -p- --min-rate 5000 -oA engagement/02_scans/nmap-full-tcp [TARGET_IP]Full TCP port scan with output preserved
date | tee engagement/03_enum/[TARGET_IP]/timestamp.txtTimestamp evidence at each host
whoami /all > whoami-all.txt; hostname > hostname.txt; ipconfig /all > ipconfig-all.txtSave Windows proof artifacts
tar -czvf engagement-backup-$(date +%F).tar.gz engagement/Daily evidence backup archive
rsync -avh engagement/ /mnt/shared/engagement/Sync evidence to backup storage
curl ifconfig.meConfirm current public IP for source IP documentation
ip addr show tun0Get VPN IP for metadata documentation

πŸ”¬ Deep Dive & Workflow

Engagement Folder Structure

engagement/
β”œβ”€β”€ 00_scope/
β”‚   β”œβ”€β”€ signed_scope.pdf
β”‚   β”œβ”€β”€ rules_of_engagement.pdf
β”‚   β”œβ”€β”€ in_scope_targets.txt
β”‚   β”œβ”€β”€ out_of_scope_targets.txt
β”‚   β”œβ”€β”€ source_ips.txt
β”‚   └── testing_window.txt
β”œβ”€β”€ 01_admin/
β”‚   └── testing_metadata.md
β”œβ”€β”€ 02_scans/          ← nmap -oA output (3 files per scan)
β”œβ”€β”€ 03_enum/           ← per-host enumeration output
β”œβ”€β”€ 04_exploitation/
β”œβ”€β”€ 05_privesc/
β”œβ”€β”€ 06_lateral-movement/
β”œβ”€β”€ 07_credentials/
β”œβ”€β”€ 08_screenshots/
β”œβ”€β”€ 09_findings/       ← one file per finding + tracker
β”œβ”€β”€ 10_report/
└── 11_archive/

Testing Metadata Template

# Testing Metadata
 
## Engagement
- Client: [CLIENT_NAME]
- Type: Internal / External / Web App / AD
- Tester(s): [TESTER_NAME]
- Testing Window: [START_DATE] to [END_DATE]
 
## Source IPs
- VPN IP: [VPN_IP]
- Public IP: [PUBLIC_IP]
- Internal Testing Host: [INTERNAL_IP]
 
## Special Considerations
- Testing over VPN: Yes/No
- EDR/AV status: Enabled/Disabled/Unknown
- Explicit exclusions: [OUT_OF_SCOPE_HOSTS]

Evidence Quality Standards

Evidence TypeRequiredScreenshot Alone Sufficient?
Command outputYesNo β€” need raw output too
Target ownership proofYesYes (if URL/hostname visible)
Privilege proof (whoami)YesYes + hostname context
Credential captureYesNo β€” need packet capture or raw file
Exploitation impactYesPreferred with terminal output

Screenshot naming: YYYY-MM-DD_HHMM_[HOST]_[FINDING]_description.png

Key Reporting Principles

  • Snapshot disclaimer: β€œThis report represents a snapshot in time during the testing period.”
  • Source IPs: Document all VPN/public/internal IPs used for testing.
  • Scope from file: nmap -Pn -iL 00_scope/in_scope_targets.txt β€” never scan from memory.
  • Exclusions: Always ask client for explicit out-of-scope systems (fragile/OT/regulated).
  • Incident preservation: If client claims outage, immediately archive: timestamps, scope docs, scan output, source IPs.

Screenshot Checklist

Take screenshots at:

βœ“ Initial access
βœ“ Successful authentication
βœ“ Exploit execution
βœ“ Privilege escalation (whoami /priv, id)
βœ“ Sensitive file access
βœ“ Domain compromise (domain admin whoami)
βœ“ Flag/proof capture
βœ“ Configuration proof (registry, config file)

Findings Tracker Template

| ID | Finding | Host(s) | Severity | Status | Evidence |
|----|---------|---------|----------|--------|----------|
| F-001 | [FINDING_NAME] | [HOST] | Critical/High/Medium/Low | Draft | [PATH] |

πŸ› οΈ Troubleshooting & Edge Cases

ProblemCauseFix
Screenshot evidence lostTerminal closed before captureUse script command to log entire session: script -a /tmp/engagement.log; keep running throughout
Cannot reproduce finding for documentationExploit required specific timingDocument the conditions; note intermittent reproducibility; include error conditions too
Executive summary too technicalAudience mismatchExecutive summary = business impact + risk rating; Technical section = commands + screenshots; keep separate
Finding severity unclearCVSS vs contextual riskCVSS gives base score; adjust for environment: DA-level impact is Critical regardless of CVSS
Remediation too genericCopy-paste recommendationsTailor recommendations to client environment: specific GPO names, CIS benchmark control numbers, vendor docs

πŸ“ Reporting Trigger

Finding Title: Penetration Test Report β€” Comprehensive Finding Documentation Impact: N/A β€” reporting process documentation. Root Cause: N/A β€” operational reference. Recommendation: Use structured report template with Executive Summary, Scope, Methodology, Findings (CVSS-scored, with PoC and remediation), and Appendices. Ensure each finding maps to a specific asset with reproducible evidence. Provide both immediate remediation steps and strategic recommendations.