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/Initial access/Public exploits
← All public exploits tasks

Match a public exploit to the actual component and configuration

CommandsIf → thenExplanation & examples

Needs: Exact vulnerable build/configuration, required access and endpoint behavior; reviewable source and a verifiable expected effect

Client commands / example output

# Baseline
source URL/EDB-ID/CVE/commit:
product + component + edition/build:
target OS/architecture/runtime:
remote or local; pre-auth or authenticated:
required configuration/feature/path/credential/privilege:
expected effect:
exploit runtime and dependencies:
hard-coded target/callback/payload assumptions:
destructive or stability risk:
evidence each prerequisite exists:

Shell commands

# Baseline
searchsploit --cve CVE
searchsploit -t "PRODUCT VERSION"
searchsploit PRODUCT VERSION --exclude="/dos/"

Inspect before copying

# Inspect before copying
searchsploit -p EDB_ID
searchsploit -x EDB_ID
searchsploit -w "PRODUCT VERSION"

# Copy a working copy, never edit the archive in place
mkdir -p exploit-work
cd exploit-work
searchsploit -m EDB_ID
sha256sum EXPLOIT_FILE
file EXPLOIT_FILE

Shell commands

Selection cue: prefer a readable, reputable or verified exploit whose prerequisites and outcome match the observed component. Exclude denial-of-service entries when the objective is access.

# Baseline
nmap --script-help SCRIPT_NAME
sed -n '1,240p' /usr/share/nmap/scripts/SCRIPT_NAME.nse
nmap -Pn -p PORT --script SCRIPT_NAME --script-args 'ARG=VALUE' TARGET

# Record and pin the exact source state
git clone REPOSITORY_URL exploit-source
cd exploit-source
git log -1 --format='%H %ad %s' --date=iso-strict
git status --short

A matching Metasploit exploit module

Use only in an authorized lab or after committing the current exam's one allowed Metasploit/Meterpreter target. Even check against a target consumes that choice under the current guide.

# Variant — a matching Metasploit exploit module
msfconsole -q
search type:exploit PRODUCT CVE
info MODULE_NAME
use MODULE_NAME
show options
show targets
show payloads
set RHOSTS TARGET
set RPORT PORT
set TARGET TARGET_ID
set PAYLOAD PAYLOAD_NAME
set LHOST LHOST
set LPORT LPORT
check
run

Read info, verify the module's affected versions/references, select the explicit target profile and inspect every required option. A module rank or check result does not replace exact prerequisite validation or session verification.

Verify → Write the evidence for every prerequisite and the minimal effect that would validate the hypothesis.

If it fails → A scanner's CVE label or a copied walkthrough command is insufficient. Resolve the build/feature gap before running the PoC. More detail ↓

If → then

  • A plausible exploit fails before reaching the target or has unreviewed side effects → Audit a PoC and reproduce its interpreter/dependency environment

    Needs: Reviewed source, understood network/file actions, correct interpreter and compatible isolated dependencies

  • An exploit sends requests but authentication, routing or parsing differs from the target → Repair a web PoC using the real HTTP transaction

    Needs: A valid baseline transaction with correct host, base path, session/CSRF state and request encoding

  • Forms, downloads, exports, account functions or role-specific interfaces → Map functions, roles and normal requests manually

    Needs: A normal request baseline and the relevant account/role; authorized accounts for role comparisons

  • A reviewed module fits a verified exploit prerequisite set → Use a framework module with explicit target and feature constraints

    Needs: Correct module/target/options, accepted payload/delivery route and the applicable current exam feature/target restrictions

No useful finding → another task in this topic. Failed check → resolve the failure before ruling out the path.

Explanation & examples

Match a public exploit to the actual component and configuration

USE WHEN
A product/version clue, advisory or component-specific public PoC
STARTING ACCESS
An identified component/build and a candidate exploit with reviewable source
RESULT
A justified exploit candidate or a documented prerequisite mismatch

Recognize the clue

Join application fingerprint/configuration evidence with the advisory and PoC's stated preconditions before selecting the exploit.

searchsploit PRODUCT VERSION
searchsploit -x EXPLOIT_ID
SYNTHETIC EXAMPLE OUTPUT
Candidate requires: FEATURE enabled, authenticated ROLE, affected BUILD
Observed deployment: FEATURE state not yet known

Means: The exact feature/role/build conditions identify what must be checked; a product-name hit does not establish applicability.

Confirm: Resolve every required condition and define the smallest observable proof of the expected effect.

After validation
Build, feature and access conditions match: review and test the candidate's bounded effect.
Ruled out in this context
The required feature is disabled or the build is patched: reject that candidate.
Still inconclusive
A generic banner cannot resolve patch/feature state; gather deployment evidence first.

Troubleshooting: A scanner's CVE label or a copied walkthrough command is insufficient. Resolve the build/feature gap before running the PoC.

Do not substitute a scanner label for component evidence. Check vendor/version output, application behavior, files/configuration and the exploit's own affected-version notes. Distribution backports, disabled features, authentication and mitigations can invalidate a simple version match.

Inspect before copying:

Copy a working copy, never edit the archive in place:

Selection cue: prefer a readable, reputable or verified exploit whose prerequisites and outcome match the observed component. Exclude denial-of-service entries when the objective is access.

A named Nmap NSE script can validate or exercise a specific known condition, but inspect it and its arguments first:

Script categories such as intrusive, exploit, brute or dos change risk and authorization requirements. A script-reported vulnerable result remains a candidate until its underlying evidence or controlled effect is validated.

Variant — source repository rather than Exploit-DB

Record and pin the exact source state:

Read the README, license, dependency files, open issues relevant to the target version and the actual execution path. A popular repository is not automatically safe or compatible.

Variant — a matching Metasploit exploit module

Use only in an authorized lab or after committing the current exam's one allowed Metasploit/Meterpreter target. Even check against a target consumes that choice under the current guide.

Read info, verify the module's affected versions/references, select the explicit target profile and inspect every required option. A module rank or check result does not replace exact prerequisite validation or session verification.

Why it works

Version resemblance is weaker than exact applicability. Authentication, feature state, architecture and patch backports can invalidate a published exploit even when the banner looks right.

Worked example · hypothetical

Observation: a banner resembles a vulnerable release. Test: compare advisory prerequisites with enabled features and the actual transaction. Illustrative output: the vulnerable feature is disabled. Interpretation: reject this candidate and inspect other application behavior.

New identity, privilege, host or route? Re-enumerate → All topic tasks →

Study guide ↗Full procedure ↗Cheatsheet ↗
HomeProjectsToolsNotes
Interactive toolsOSCP notes ↗Extended OSCP workspace ↗Attack-path visualizer ↗

© 2026 Armaan. Built with curiosity.

GitHub ↗GMT+8