Skip to content
leg3ndProjects & tools
01Home02Projects03Tools04Notes
GMT+8
O/ OSCP exploitation reference
Workspace controls Memory only · 0 steps
Visualize path ↗
Command values 0 filled

Temporary connection values clear on reload. Passwords, hashes and tickets remain placeholders. Check address-family syntax in the selected command.

Reference index ↗ Search all procedures & variants ↗
01Discovery02Enumeration03Initial access04Usable access05Local privilege06Active Directory07Internal access08Evidence & reporting

QUICK REFERENCE

Discovery›Services›Web mapping›Web exploitation›Credentials›Public exploits›Sessions & transfers›Linux escalation›Windows escalation›AD enumeration›AD identity attacks›Lateral movement›Pivoting & tunnels›Execution troubleshooting›Integration & evidence›
174 methods · 15 topicsFull reference on GitHub ↗Commands · scripts · next steps
Tools/OSCP/Evidence & reporting/Integration & evidence

REFERENCE / 5 TASKS

Integration & evidence

Record the working host, identity and route. Follow a supported next step, preserve proof at each change, and return to the last working boundary when stuck.

Contents ↓Tools & scripts ↓Commands ↓First-pass workflow ↓Full procedure index ↗

Contents

Jump to a task. Commands and variants are visible below; full checks and explanations stay on each technique page.

  • State, chain selection and recovery
    • Maintain state and select the next evidence-producing test
    • Integrate a standalone or assumed-breach AD attack
    • Recover from dead ends without repeating disproven paths
  • Transition evidence and reporting
    • Capture state-transition, proof and exploit-adaptation evidence
    • Build and validate the report and submission artifacts

Tools & scripts

Native identity proof upstream ↗
Record host/identity and the exact capability change.

State, chain selection and recovery

Maintain state and select the next evidence-producing test

Contents ↑

Use when: Several hosts, identities, routes or competing hypotheses need coordination

Needs: Explicit scope/objective and a record of observations, unknowns and available capabilities

Before interacting with a target, record

# Before interacting with a target, record
scope and explicit exclusions
objective and required evidence
starting identity/credential and whether it is local, domain or application scoped
source host, interface, route and DNS context
allowed/restricted tools and the current Metasploit target decision
case directory and note/evidence locations
cleanup or restoration obligations

Create a private case workspace using target-neutral names until the real scope is known

An interesting vulnerability is not automatically the objective. The attack is complete only when the required access or privilege is verified and the reproduction/evidence chain is retained.

# Create a private case workspace using target-neutral names until the real scope is known
mkdir -p case/{00-admin,01-scans,02-services,03-web,04-exploits,05-loot,06-sessions,07-screenshots,08-report}
touch case/00-admin/{scope.md,state.md,credentials.md,routes.md,hypotheses.md,transitions.md}

Client commands / example output

Do not put exam or private target material in a public repository.

# Baseline
HOSTS
- host/IP | role | reachable from | open services | evidence file

IDENTITIES
- local/domain identity | credential type | validated services | privilege | source

ROUTES
- source -> listener/tunnel -> pivot -> destination | DNS point | callback path

HYPOTHESES
- observation | hypothesis | prerequisite | next discriminating test | status

TRANSITIONS
- old state -> action -> new access/identity/route | decisive output | evidence

EVIDENCE COVERAGE
- objective | reproduction complete? | identity/IP proof? | screenshot? | panel/task state

Client commands / example output

Label each claim observed, inferred, possible, confirmed, disproven or inconclusive. Close a path only with a test that addressed its prerequisite; do not confuse a tool error with a disproven attack hypothesis.

# Baseline
Observe
→ Enumerate
→ Interpret
→ Hypothesize
→ Validate prerequisite
→ Exploit the confirmed primitive
→ Verify the new state
→ Re-enumerate from that state
→ Escalate, move or pivot
→ Capture evidence and cleanup

# The coverage queue prevents missed surfaces
host/source position → endpoint → confirmed application → required enumeration → state

# The hypothesis queue prevents random exploitation
observation → possible transition → prerequisite → cheapest discriminating test
→ decisive success/failure → next action
New stateMandatory re-entry
Hostname, address, interface, listener or routeDiscovery and service identification from the source position that can reach it
Credential, key, hash or ticketClassify identity/material, validate compatible access, then authenticated enumeration
Application role/sessionRevisit the same application and objects through the new authorization view
Command execution or shellVerify host/identity/network, repair the session, transfer only what is needed, start local enumeration
Administrator/root/SYSTEMRe-enumerate protected files, credentials, services, sessions, routes and domain context
Domain identity/group/rightRebuild reachable host/service/object paths and validate the specific right
Pivot or proxyRepeat discovery from the new vantage point; separately design callback and delivery routes

Create one card per distinct mechanism

Do not spend the whole assessment deepening one hypothesis while high-value coverage remains unknown. Conversely, do not keep scanning after a confirmed path only to avoid validating it.

# Create one card per distinct mechanism
Observation:
Desired state transition:
Required prerequisites:
Already confirmed:
Still unknown:
Cheapest discriminating test:
Success means:
Failure means:
Noise/change/cleanup:
Handoff if successful:
Status/evidence:
  1. Confirmed prerequisite, direct objective transition. Test first.
  2. Strong observation, one cheap missing prerequisite. Validate next.
  3. Useful information path. Prefer when it can unlock several branches.
  4. Multiple unsupported assumptions or disruptive action. Defer.
  5. Disproven prerequisite. Close until new evidence changes it.

Evidence strength overrides technique popularity. Prefer low-cost tests that split plausible explanations and create reusable information. A path that succeeds only after several unverified assumptions is not yet a high-priority path.

Read / verify → Every proposed action must name the uncertainty it resolves and the result that changes the decision.

If it fails → An untested assumption must remain possible/inferred, not confirmed. Record disproven contexts to avoid repeating them without new evidence.

  • Scanners disagree, a result is ambiguous, or a new identity changes accessible behavior → Validate uncertain results and rebuild the service queue
  • Directory relationships are too broad for manual comparison or a candidate chain needs ranking → Collect focused BloodHound data and validate an attack path
  • Repeated attempts add no new evidence or several layers have been changed at once → Recover from dead ends without repeating disproven paths
  • Individual techniques are understood but the full path must be selected independently → Integrate a standalone or assumed-breach AD attack

Prerequisite checks & examples →Full technique →

Integrate a standalone or assumed-breach AD attack

Contents ↑

Use when: Individual techniques are understood but the full path must be selected independently

Needs: An assigned objective and current host/identity/route map; each next method's enabling conditions must be produced or discovered

Client commands / example output

  1. Record scope, objective, source position and evidence requirements.
  2. Establish TCP coverage, bounded UDP coverage and confirmed application identities.
  3. Enumerate every confirmed service in its anonymous/current context; map web requests, hosts, parameters, content and roles.
  4. Search files, configuration, repositories and application data for identities or prerequisites.
  5. Build candidate cards for manual application weaknesses, compatible credentials and exact public-exploit prerequisites.
  6. Validate one prerequisite at a time and prove the smallest useful effect.
  7. Convert execution into a verified session; record host, identity, privilege, interfaces and routes.
  8. Capture the initial-access transition and any required unprivileged objective before changing state.
  9. Enumerate local privilege paths as controlled object → effective permission → privileged consumer → trigger → effect.
  10. Verify the elevated identity, capture required evidence, re-enumerate protected context and remove exercise artifacts.
  11. Reconstruct the ordered reproduction path while the commands and assumptions are still known.

Failure at a step returns to its owning block. Do not skip service enumeration because one banner suggests a CVE, and do not start privilege escalation before proving which host and identity the shell represents.

# Baseline
starting credential
→ local/domain identity + DNS/time/DC context
→ reachable host/service map
→ users/groups/computers/shares/SPNs/ACLs/sessions
→ ranked identity or host transition
→ compatible password/hash/ticket use
→ verified session/new identity
→ re-enumeration
→ route/movement to next host
→ higher domain privilege/objective

# Keep five variables together for every edge
controlled identity
effective group/right
target object or host
required protocol/route
resulting identity/access

BloodHound and enumerators generate candidate edges. Validate the underlying group membership, ACL, session, service right, route and authentication material before acting. After every new identity or host session, repeat authenticated enumeration rather than continuing from the old authorization view.

Read / verify → For every transition record its prerequisite evidence and independently verified effect; no step is complete because the next tool launched.

If it fails → A broken route or invalid account context can halt an otherwise plausible chain. Return to the first unmet prerequisite.

  • A download/path parameter or URL segment influences a local filename → Read files through directory traversal
  • A password tied to a plausible user and service → Validate known passwords and context-specific reuse
  • Domain credentials or a domain-joined foothold → Establish domain identity, DC, DNS, time and route
  • Access, privilege, identity or route changes, or a report will need reproduction → Capture state-transition, proof and exploit-adaptation evidence

Prerequisite checks & examples →Full technique →

Recover from dead ends without repeating disproven paths

Contents ↑

Use when: Repeated attempts add no new evidence or several layers have been changed at once

Needs: A saved last-known-working state, recorded errors and a bounded next uncertainty

Treat stagnation as a state problem, not an instruction to try more commands. Warning signs include unchanged evidence, repeated disproven tests, increasingly exotic mechanisms, tool switching without a new hypothesis, and work whose success would not advance the objective.

When progress stalls:

  1. Freeze the current host/identity/route/credential map.
  2. Mark each path with the last decisive result.
  3. Recheck scan/service/application coverage and authenticated views.
  4. Separate environment/tool failure from a disproven prerequisite.
  5. Choose the cheapest test that can change the decision.
  6. Switch paths when the expected information gain is higher.
  7. Return only when new evidence changes an assumption.

Use this failure router:

SymptomClassificationNext action
Tool cannot reach any known-good endpointEnvironment/route failureRepair source interface, proxy, DNS or tool configuration
Test did not exercise the claimed prerequisiteInconclusiveReplace it with a discriminating test
Exact prerequisite is absentDisproven pathClose the card until state changes
Authentication works but action is deniedAuthorization boundaryEnumerate service/object rights under that identity
New credential or route exists but old enumeration is unchangedStale stateRe-enumerate from the new identity/vantage point
Many weak possibilities, no decisive observationCoverage gapReturn to surface/service/application enumeration

Read / verify → The recovery action should create new evidence and preserve the reason an old path was rejected.

If it fails → If the same prerequisite remains absent, switch to an enabled path and retain a clear return condition.

  • Command execution or payload delivery exists but the expected usable channel does not → Diagnose connection direction, listener and session failures in order
  • Scanners disagree, a result is ambiguous, or a new identity changes accessible behavior → Validate uncertain results and rebuild the service queue
  • Several hosts, identities, routes or competing hypotheses need coordination → Maintain state and select the next evidence-producing test

Prerequisite checks & examples →Full technique →

Transition evidence and reporting

Capture state-transition, proof and exploit-adaptation evidence

Contents ↑

Use when: Access, privilege, identity or route changes, or a report will need reproduction

Needs: Known destination/identity, observable effect and a private evidence destination; actual exam proof requirements must be read from current official guidance

Linux

# Linux
date -Is
hostname
id
ip addr
ip route

Windows

REM Windows
echo %DATE% %TIME%
hostname
whoami /all
ipconfig /all
route print

Use a compact transition packet

  1. the observation that selected the path;
  2. the exact command/request with secrets redacted in the reusable copy;
  3. relevant output or response;
  4. host and identity verification;
  5. the effect/new capability;
  6. cleanup/restoration; and
  7. the next re-enumeration result.
# Use a compact transition packet
time/timezone | source host/interface | target host/service | starting identity
observation | prerequisite | exact action | decisive output
new identity/access/route | evidence files | cleanup | next re-enumeration

Shell commands

Capture the transition when it happens. Reconstructing it later risks losing a required token, request, route, working directory, listener or source identity.

# Baseline
mkdir -p evidence/nmap evidence/web evidence/loot evidence/screenshots
nmap -Pn -sV -sC -p PORTS TARGET -oA evidence/nmap/TARGET-services
script -q -f evidence/session.txt

PowerShell commands

# Baseline
Start-Transcript -Path .\evidence\powershell-session.txt
# commands
Stop-Transcript

Hash important transferred or generated artifacts

# Hash important transferred or generated artifacts
sha256sum FILE | tee FILE.sha256

Linux example layout

Current official exam guidance requires proof-file content to be displayed from its original location in an interactive target shell and included in a screenshot with the target IP. The control-panel submission is separate and must occur before the exam ends. Recheck the guide immediately before an exam because these rules can change.

# Linux example layout
hostname; id; ip addr
cat /root/proof.txt

Windows example layout

REM Windows example layout
hostname & whoami & ipconfig
type C:\Users\Administrator\Desktop\proof.txt

Shell commands

Use the actual objective-provided path and required identity. Do not use AI on actual exam targets, proofs or reports; the current guide prohibits AI chatbots during the exam.

# Baseline
git diff --no-index original.py modified.py > exploit-changes.diff
sha256sum original.py modified.py

Commands

<!-- Baseline -->
### Objective / result

**Starting state:** source host, network position and identity.

1. Observation and evidence.
2. Enumeration command/request and decisive output.
3. Vulnerability/prerequisite validation.
4. Exploitation command/request, including required listener/route.
5. Session verification: host, identity and privilege.
6. Escalation evidence and final verification.
7. Cleanup/restoration.

**Artifacts:** screenshots, saved output, hashes and exploit source/diff.

Read / verify → Tie evidence to the correct target and transition, with no invented success or missing reproduction step.

If it fails → A screenshot without identity/target context or an exploit success string without effect is incomplete. Keep real targets, credentials and proofs private.

  • Verified findings and private transition evidence are ready for reporting → Build and validate the report and submission artifacts
  • Several hosts, identities, routes or competing hypotheses need coordination → Maintain state and select the next evidence-producing test
  • A new Linux foothold or an identity/privilege change → Establish Linux state and choose an escalation candidate
  • A new Windows session or claimed administrator/SYSTEM transition → Establish Windows token, host and process context

Prerequisite checks & examples →Full technique →

Build and validate the report and submission artifacts

Contents ↑

Use when: Verified findings and private transition evidence are ready for reporting

Needs: Complete reproduction path, required screenshots/proofs, suitable document tooling and the current submission naming/archive rules

For every achieved objective, the report path should read

# For every achieved objective, the report path should read
starting state and scope
→ decisive enumeration
→ prerequisite/vulnerability validation
→ exact exploitation action
→ session/identity verification
→ privilege or movement transition
→ final objective evidence
→ cleanup/restoration

Shell commands

Include only enough non-decisive enumeration to make the selection understandable. Screenshots need captions and nearby interpretation; they do not replace commands or prose. Raw transcripts are supporting artifacts, not the final narrative.

Current official exam grading follows the target order used in the report. Keep target/objective labels aligned with the control panel and place each target's complete chain together.

Recheck the current guide immediately before a mock or exam. The current baseline is one PDF inside a non-password-protected .7z, exact case-sensitive filenames and an archive no larger than 200 MB:

# Baseline
7z a OSCP-OS-XXXXX-Exam-Report.7z OSCP-OS-XXXXX-Exam-Report.pdf
7z l OSCP-OS-XXXXX-Exam-Report.7z
7z t OSCP-OS-XXXXX-Exam-Report.7z
md5sum OSCP-OS-XXXXX-Exam-Report.7z

Windows hash fallback for a local rehearsal

# Windows hash fallback for a local rehearsal
Get-FileHash -Algorithm MD5 -LiteralPath '.\OSCP-OS-XXXXX-Exam-Report.7z'

Inspect every exported PDF page before archiving. Confirm that code is not clipped, screenshots remain readable, captions match the correct target and the archive contains only the required PDF. Required scripts and PoCs belong as text inside that PDF, not as extra archive members. The current guide recommends creating/uploading from Kali and warns of a Windows 11 archive compatibility issue. Compare the local MD5 with the upload site's value, click the final submission control and retain the acknowledgement.

The official Word or LibreOffice template is the reliable baseline. A Markdown/Pandoc pipeline, including Hexdump's report/ generator, is a viable alternative only after a complete dummy export/archive rehearsal; do not install or debug a new report stack during an assessment.

  • Commands are copyable and placeholders/secrets are resolved in the private report.
  • Screenshots are legible and show required identity/IP/proof context.
  • Every claim is supported by nearby evidence.
  • Target order and objective labels match the control panel.
  • Exploit modifications and payload-generation steps are documented.
  • The final PDF is visually reviewed after export.
  • Archive name/format/size and upload hash match current official requirements.

Read / verify → Verify reproduction, legible pages, correct required names/content and matching local/upload checksum when applicable.

If it fails → Do not infer acceptance from successful compression. Actual exam and report-writing phases prohibit AI assistance; use the prepared general notes independently.

  • Access, privilege, identity or route changes, or a report will need reproduction → Capture state-transition, proof and exploit-adaptation evidence
  • Repeated attempts add no new evidence or several layers have been changed at once → Recover from dead ends without repeating disproven paths
  • Several hosts, identities, routes or competing hypotheses need coordination → Maintain state and select the next evidence-producing test

Prerequisite checks & examples →Full technique →

First pass: tools and findings

Use the steps matching your current access. Follow a concrete finding instead of completing every technique in order.

Capture the access transition while it is reproducible

Keep commands/output, host and identity beside the transition that produced them.

hostname
id
ip addr
  • If A new identity, host or route → Maintain state and select the next evidence-producing test

    Re-enumerate from that exact new position.

  • If The final objective is evidenced → Build and validate the report and submission artifacts

    Build the report from the reproducible chain.

Otherwise: A transition lacks proof: repeat its specific verification before connecting it to another method. Open Integrate a standalone or assumed-breach AD attack →

Full commands & alternatives →

When stuck, return to the last working boundary

Preserve the working session/route. Change one failed layer at a time.

LAST WORKING STATE | FIRST FAILED BOUNDARY | EXACT ERROR | CHANGED CONDITION | DISCRIMINATING TEST
  • If Authentication works but an action is denied → Match route, destination service and effective authorization

    Inspect service/object authorization under that same identity.

  • If A new credential or route has not been used for enumeration → Maintain state and select the next evidence-producing test

    Update the host/identity/route state and revisit the accessible surface.

Otherwise: Several guesses added no evidence: switch to a missing enumeration check, not a more exotic payload. Open Validate uncertain results and rebuild the service queue →

Full commands & alternatives →

Additional organization and gap review informed by 0xsyr0/OSCP ↗. Tool links open upstream sources.

HomeProjectsToolsNotes
Interactive toolsOSCP notes ↗Extended OSCP workspace ↗Attack-path visualizer ↗

© 2026 Armaan. Built with curiosity.

GitHub ↗GMT+8