0_README
Red Teaming 101: Master Index
BLUF: This series provides a structured roadmap for transitioning from traditional penetration testing to advanced red team operations using the Harada OW64 methodology.
Master OW64 Grid โ Harada Mandala Chart
How to read: The center goal is surrounded by 8 pillars. Click any pillar to see its 8 action items in the dedicated file. Complete all 64 items to achieve the central goal.
| ๐ฃ P8 ยท Reporting | ๐ด P1 ยท Linux | ๐ P2 ยท Windows/AD |
| ๐ก P7 ยท C2 Infra | ๐ฏ Become a Red Team Operator | ๐ P3 ยท Web |
| โซ P6 ยท EDR | ๐ต P5 ยท Cloud | ๐ข P4 ยท Networking |
Operational Overview
graph TB
Goal((Red Team Operator))
style Goal fill:#ff6600,stroke:#333,stroke-width:4px
subgraph P1[Linux]
L1[Enumeration]
L2[PrivEsc]
L3[Persistence]
end
subgraph P2[Windows/AD]
W1[BloodHound]
W2[Kerberoasting]
W3[Trusts]
end
subgraph P3[Web]
WB1[Recon & Enum]
WB2[Injection & Auth]
WB3[API & SSRF]
end
subgraph P4[Network]
N1[Tunneling]
N2[Pivoting]
N3[Segmentation]
end
subgraph P5[Cloud]
CL1[IAM/Identity]
CL2[Azure/AWS]
CL3[Serverless]
end
subgraph P6[EDR]
E1[AV/AMSI]
E2[ETW/Unhooking]
E3[Syscalls]
end
subgraph P7[C2]
C1[Frameworks]
C2[Redirectors]
C3[Covert Channels]
end
subgraph P8[Reporting]
R1[Technical]
R2[Executive]
R3[Portfolio]
end
Goal --- P1
Goal --- P2
Goal --- P3
Goal --- P4
Goal --- P5
Goal --- P6
Goal --- P7
Goal --- P8Execution Model
Daily Micro-Practice (30โ60 min total):
- 1 task from Pillar 1: Linux
- 1 task from Pillar 2: Windows/AD
- 1 task from Pillar 3: Web
Rotating Deep Pillar (60โ120 min โ pick one per day):
| Day | Focus |
|---|---|
| Monday | C2 Infrastructure |
| Tuesday | EDR Bypass / Evasion |
| Wednesday | Networking & Pivoting |
| Thursday | Cloud |
| Friday | Full Attack Path Lab |
| Saturday | Web & API |
| Sunday | Review + Documentation |
Progress Tracking
| Level | Criteria |
|---|---|
[Beginner] |
Can perform the technique with reference material / walkthrough |
[Intermediate] |
Can perform independently in a lab environment |
[Advanced] |
Can adapt and apply in novel scenarios under time pressure |
[Operator] |
Can chain techniques into complete attack paths on real engagements |
Prerequisites
Before starting this series, ensure you are comfortable with the concepts in the Recon series:
- 1. External Recon
- 2. Internal Recon (No Creds)
- 3. Authenticated Pivot
- 4. C2 & SOCKS
- 7. Blue Team Detection
- 9. Detection Event IDs (Splunk)
Navigation
| # | Pillar | File | MITRE Focus |
|---|---|---|---|
| 1 | Linux | 1_Linux | Persistence, PrivEsc |
| 2 | Windows/AD | 2_Windows_AD | Lateral Movement, Credential Access |
| 3 | Web | 3_Web | Initial Access, Injection |
| 4 | Networking | 4_Networking | C2, Discovery, Pivoting |
| 5 | Cloud | 5_Cloud | Initial Access, Persistence |
| 6 | EDR | 6_EDR | Defense Evasion |
| 7 | C2 Infrastructure | 7_C2 | Command and Control |
| 8 | Reporting | 8_Reporting | Operational Excellence |
AI Usage
Good uses:
- Generate code scaffolding and boilerplate
- Summarize research papers and CVEs
- Generate payload variants for testing
- Draft initial report sections
Bad uses (avoid):
- Letting AI solve labs for you (you learn nothing)
- Copy/pasting exploits without understanding them
- Using AI as a crutch instead of building intuition
Career Progression
| Aspect | Pentester | Red Team Operator |
|---|---|---|
| Scope | Find vulnerabilities (point-in-time) | Test detection & response (adversarial simulation) |
| Stealth | Loud โ maximize coverage | Quiet โ OPSEC first |
| Tools | Use what works | Build what's needed |
| Persistence | Get DA and leave | Maintain access for weeks/months |
| Reporting | Technical findings | Business impact + detection gaps |
What Elite Firms Look For :
- Custom tooling that bypasses "off-the-shelf" detections
- Deep Windows/Linux internals knowledge (APIs, Syscalls, Kernel)
- Purple team mindset โ help Blue Team improve, not just "win"
- Publicly demonstrable thinking (writeups, tools, research)
Portfolio Reminder
Publish one technical artifact every 4โ6 weeks.
Examples: red team writeup, offensive tool repo, detection bypass research, attack path diagram, blog post.
Companies like Mandiant, CrowdStrike, and Microsoft hire people who demonstrate thinking, not just certifications.
Red Team 101 โ Operational Doctrine
BLUF: Technical skill is table stakes. What separates an operator from a hobbyist is how they plan, document, communicate, and manage risk throughout an engagement.
Pre-Ops: Planning & Authorization
Nothing executes without paper. If you don't have written authorization you are committing a crime, not running a red team engagement.
Required Before Day 1:
| Document | Purpose |
|---|---|
| Statement of Work (SoW) | Defines scope, deliverables, timeline, cost |
| Rules of Engagement (RoE) | What you CAN do โ techniques, hours, escalation process |
| Authorization Letter | Legal protection if challenged by law enforcement |
| Emergency Contact List | Who to call 24/7 if something breaks |
RoE Must Explicitly Address:
- Goals / Objectives โ Crown jewels, specific flags, detection testing
- Constraints โ No DDoS, no destructive actions, no production DB writes
- Off-Limits โ Named systems, subnets, third-party hosted services
- Working Hours โ Active ops window (e.g., 09:00โ17:00 local or 24/7)
- Escalation Path โ Who approves going out-of-scope if an opportunity arises
- Get-Out-of-Jail Contact โ Single POC who can authorize you to law enforcement on the spot
Stay in your lane. If you find something that requires going outside agreed scope, stop and call the client. Do not exploit it. Document it. Ask.
Op Plan
Sections:
- Objective โ What does success look like? (e.g., "Achieve DA without triggering a SOC alert")
- Target Profile โ Known intel: tech stack, AV/EDR, network segmentation, users
- Phasing โ Recon โ Initial Access โ Post-Ex โ Lateral Movement โ Objectives โ Reporting
- TTP Selection โ Specific techniques planned per phase, mapped to MITRE ATT&CK
- Contingency โ What happens if you get caught? How do you re-establish access?
- Exit Criteria โ When do you stop?
Infrastructure
Standard Red Team Infra Stack:
| Component | Purpose | Examples |
|---|---|---|
| Jump Server / VPS | Operator access point, external-facing | DigitalOcean, Vultr, AWS EC2, Residential Proxy |
| C2 Server | Beacon callbacks, session management | Cobalt Strike, Sliver, Mythic |
| Redirectors | Traffic filtering, attribution protection | Nginx, Apache, Cloudflare |
| Operator Workstation | Local machine for tooling and sessions | Kali, ParrotOS, hardened VM |
| Training / Testing VMs | Offline tool testing before deployment | Local VirtualBox/VMware lab |
| Collaboration | Team comms, task tracking | Slack, Mattermost, Obsidian |
Infrastructure Rules:
- Separate infrastructure per engagement โ no cross-contamination
- Age domains weeks in advance and warm up with legitimate traffic
- Use IaC (Terraform + Ansible) to provision and teardown quickly
- Never expose the team server IP directly โ always behind a redirector
- Document every IP, domain, credential, and port used โ add to op notes
Workstation Hardening (Assessment Laptop)
Your laptop is the most sensitive device in the engagement. If it's compromised or stolen, the client's network is compromised too.
OS & Build:
- Use a dedicated assessment OS โ don't dual-purpose your daily driver. Kali, ParrotOS, or a hardened Debian/Ubuntu install
- Full disk encryption (LUKS on Linux) โ enabled before anything else. No exceptions
Why "before anything else": Once loot, creds, SSH keys, C2 configs, or VPN profiles are written to an unencrypted disk you can't retroactively protect them. A lost or seized laptop becomes full compromise of the client environment โ your C2 keys, their credentials, and your entire op are readable by whoever has the machine. "No exceptions" because the usual exception is convenience, which is not an acceptable risk when you're carrying client crown jewels.
- Auto-lock on screen after โค 5 minutes of inactivity; require password to unlock
- Keep the OS and all tools fully patched before each engagement
- Disable Bluetooth when not in use; disable USB auto-mount to prevent accidental execution from dropped drives
How to:
# Enable LUKS full-disk encryption during OS install (Kali/Ubuntu installer โ check "Encrypt" option)
# Or encrypt an existing partition post-install:
cryptsetup luksFormat /dev/sdX
cryptsetup luksOpen /dev/sdX encrypted_vol
# Auto-lock (GNOME)
gsettings set org.gnome.desktop.session idle-delay 300
gsettings set org.gnome.desktop.screensaver lock-enabled true
# Patch before engagement
sudo apt update && sudo apt full-upgrade -y
# Disable Bluetooth
sudo systemctl disable bluetooth --now
# Disable USB auto-mount (GNOME)
gsettings set org.gnome.desktop.media-handling automount false
Compartmentalization:
- Run each engagement in an isolated VM โ take a snapshot before connecting to the client environment
- Use separate browser profiles (or separate browsers) for: client portals vs. personal vs. research
- Keep loot and client data inside the engagement VM only โ never copy to the host
- Use VPN from the host before the VM connects out โ adds a layer of separation from your real IP
How to:
# Create a new KVM/QEMU VM for the engagement (or use VirtualBox)
virt-manager # GUI โ create new VM, allocate disk, take snapshot before connecting
# VirtualBox snapshot before connecting to client
VBoxManage snapshot "EngagementVM" take "pre-client-connect" --description "Clean state"
# Verify VPN is up on host BEFORE starting VM
curl ifconfig.me # confirm you're hitting VPN exit IP, not home ISP
Network Discipline:
- Use a dedicated SIM / mobile hotspot for engagements โ your home ISP appears in OSINT
- Connect to the client environment only through agreed VPN or jump server โ never direct from your laptop IP
- Kill split tunneling on your VPN โ all traffic should route through the tunnel when connected
- Use DNS over HTTPS or DNSSEC to prevent local DNS leakage during recon
How to:
# Verify no split tunnel โ all traffic should exit VPN
ip route show # default route should point to tun0/wg0, not eth0/wlan0
# Check for DNS leakage
cat /etc/resolv.conf # should show VPN DNS, not home router
dig +short myip.opendns.com @resolver1.opendns.com # verify exit IP
# Enable DNS over HTTPS (systemd-resolved)
sudo nano /etc/systemd/resolved.conf
# Set: DNS=1.1.1.1 DNSOverTLS=yes
sudo systemctl restart systemd-resolved
Credential & Key Hygiene:
- Store all credentials, SSH keys, and API tokens in a password manager (Bitwarden, KeePassXC) โ not in plaintext files or shell history
- Use a unique SSH keypair per engagement โ rotate and destroy at engagement close
- Never save client credentials in the browser or SSH
known_hostson the host โ put them inside the engagement VM - Set
HISTFILE=/dev/nullorexport HISTCONTROL=ignorespacein your shell to suppress logging of sensitive commands
How to:
# Generate a per-engagement SSH keypair
ssh-keygen -t ed25519 -C "eng-clientname-2026" -f ~/.ssh/id_eng_clientname
# Suppress shell history for the session
unset HISTFILE
# Or prefix sensitive commands with a space (requires HISTCONTROL=ignorespace in .bashrc)
export HISTCONTROL=ignorespace
# Destroy keypair at engagement close
shred -u ~/.ssh/id_eng_clientname ~/.ssh/id_eng_clientname.pub
# Wipe known_hosts entries for client hosts
ssh-keygen -R <client-ip>
Physical Security:
- Never leave your laptop unattended and unlocked in any client facility
- Use a privacy screen filter when working in client offices or public spaces
- If your laptop is lost or stolen during an engagement, treat it as a breach โ notify the client immediately and initiate their incident response process
Risk Management
Risk-Adverse Mindset:
- Always prefer reversible actions over destructive ones
- Test exploits in your lab first โ never run untested code against production
- Before running any command that modifies state, ask: Can I undo this?
- If you break something, stop immediately, document exactly what happened, notify the client POC
Attack vs. Defend Mindset:
| Attack Mindset | Defend Mindset | Red Team Balance |
|---|---|---|
| "How do I get in?" | "How do I detect this?" | Think both simultaneously |
| Maximize access | Minimize noise | Quiet access, loud findings |
| Exploit everything | Protect everything | Exploit only what's in scope |
| Win | Survive | Complete the objective, leave cleanly |
Knowledge Management
What to Capture:
- Op Notes โ Real-time operational log (see below)
- Loot โ Credentials, hashes, tickets, keys, sensitive files โ organized and indexed
- Screenshots โ Every significant finding, timestamped and annotated
- Network Maps โ Running diagram of discovered hosts, subnets, and pivot paths
- Tool Configs โ Save exact configurations used (C2 profiles, Ansible playbooks)
Repository & Data Transfer Plan:
- Use an encrypted, access-controlled repo (private GitHub or self-hosted Gitea)
- Use SCP / SFTP over SSH to transfer loot โ never plain HTTP or email
- Define a data transfer plan in the op plan: how is loot moved, stored, and destroyed
- Client data must be securely deleted per SoW at engagement close
Never store client loot on public cloud drives, unencrypted personal devices, or any system outside the defined engagement infrastructure.
Op Notes
Op notes are your real-time log. They are the source of truth for the final report and any deconfliction.
Every Entry Must Include:
[TIMESTAMP UTC] ACTION
Command: <exact command run>
Target: <IP / hostname / URL>
Result: <exact output or summary>
Artifacts: <file dropped, service created, key used, etc.>
Screenshot: <filename or link>
Note: <why you did this / what you expected vs got>
Op Note Discipline:
- Log before you execute โ note your intent
- Copy exact commands โ never paraphrase
- If something fails or behaves unexpectedly, log it in full
- Use a dedicated tool: CherryTree, Obsidian (this vault), or a timestamped Markdown file
- Back up op notes to the encrypted repo at the end of every session
Analyst Journal (Narrative Log)
Separate from op notes โ a narrative account written in past tense. This is the raw material for the attack narrative in the final report.
Journal Format:
[DATE TIME UTC] โ Narrative sentence describing what happened and why.
Example:
[2026-03-08 14:32 UTC] โ Performed Kerberoasting against all SPN accounts.
Identified svc_sql with RC4 encryption. Hash cracked in 4 minutes via rockyou.txt.
Used resulting credential to authenticate to SQL01 as a domain user.
Journal vs Op Notes:
| Attribute | Op Notes | Analyst Journal |
|---|---|---|
| Format | Structured fields | Prose narrative |
| Timing | Real-time | End of session / phase |
| Audience | Yourself, teammates | Report reader |
| Detail level | Maximum | Summarized |
TTPs
Document every TTP used. This drives the MITRE ATT&CK mapping in the final report and helps the blue team build detections.
TTP Log Format:
| Phase | MITRE ID | Technique | Tool Used | Target | Result |
|---|---|---|---|---|---|
| Recon | T1595 | Active Scanning | nmap | 10.10.10.0/24 | 12 live hosts |
| Cred Access | T1558.003 | Kerberoasting | Rubeus | domain.local | 3 hashes obtained |
| Lateral Move | T1021.002 | SMB Exec | wmiexec.py | 10.10.10.5 | Shell as svc_sql |
TTP Discipline:
- Maintain the TTP log throughout the engagement โ do not reconstruct from memory later
- Every technique maps back to a specific op note entry
- Flag any TTP where an alert was or was not triggered โ feeds the detection gap analysis
Reporting Cadence
| Report | Frequency | Audience | Content |
|---|---|---|---|
| Daily Sitrep | End of each op day | Client POC | Progress, systems accessed, blockers, next steps |
| Mishap Report | Immediately on incident | Client POC + Management | What happened, impact, containment, RCA |
| Deficiency Report | As discovered | Client technical lead | Critical finding needing immediate attention |
| Final Report | End of engagement | All stakeholders | Executive summary, all findings, attack narrative, TTP log, remediation |
Daily Sitrep Template:
Date: [DATE]
Operator: [NAME]
Objective Today: [WHAT YOU PLANNED]
Accomplished: [WHAT YOU DID]
Systems Accessed: [IP / HOSTNAME LIST]
Findings: [NEW FINDINGS SUMMARY]
Blockers: [ANYTHING STOPPING PROGRESS]
Plan Tomorrow: [NEXT STEPS]
Risk Items: [ANYTHING NEEDING CLIENT ATTENTION]
Mishap Report Triggers โ Stop and report immediately if you:
- Caused an unintended service disruption or outage
- Accessed a system marked off-limits
- Exfiltrated data beyond what was agreed
- Triggered a security response not part of the engagement exercise
- Lost control of a payload or implant
Post-Engagement Debrief
Cleanup Checklist:
Debrief Meeting Agenda:
- Walk the client through the attack narrative โ show the path, not just the findings
- Demonstrate key findings with live reproduction (if safe)
- Map each finding to a defensive control that would have blocked or detected it
- Discuss detection gaps identified from the TTP log
- Agree on a remediation timeline