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/Usable access/Credentials
← All credentials tasks

Classify the artifact and its identity context

CommandsIf → thenExplanation & examples

Needs: Artifact provenance and format; possible local/domain/application identity and compatible protocol

Client commands / example output

# Baseline
SOURCE -> MATERIAL/FORMAT -> LOCAL/DOMAIN/APPLICATION IDENTITY
-> POSSIBLE USE -> SERVICE/PROTOCOL -> AUTHENTICATION
-> AUTHORIZATION -> NEW ACCESS -> RE-ENUMERATION

Preserve the source and identity context, then identify the format

Record source, claimed identity, format evidence, possible uses, tested service, result and resulting rights together.

MaterialRecognitionCompatible use
Cleartext passwordText tied to an identity/sourceNormal protocol/application login
SSH private keyOpenSSH/PEM private-key blockSSH public-key authentication; recover passphrase offline if protected
Linux password recordUSER:$id$salt$digest:...Offline recovery with complete record/format
Application/file verifierTool-specific $...$ or documented digestOffline recovery with matching mode/parser
NT hashUsually 32 hex from SAM/LSASS/NTDS contextOffline recovery; PtH where NTLM and the client support it
Net-NTLMv2 responseUSER::DOMAIN:challenge:proof:blobOffline recovery or live relay under specific conditions; not PtH material
DCC2/MSCache v2Username-dependent cached-domain verifierOffline recovery; not ordinary PtH material
Kerberos ticket.kirbi, ccache or in-memory cacheTicket-specific access subject to realm, SPN, validity, clock and route
Kerberos roast material$krb5asrep$... or $krb5tgs$...Offline recovery with matching enctype/mode
Session/API tokenCookie, bearer/JWT or application tokenIssuing application and authorization context only

Do not feed unknown strings into random modes. Preserve the source and identity context, then identify the format:

# Preserve the source and identity context, then identify the format
hashid HASH_OR_FILE
john --list=formats | grep -i KEYWORD
hashcat -hh | grep -i KEYWORD
hashcat --example-hashes | less
OutputTypeImmediate compatible possibilitiesNot valid as
Cleartext passwordReusable secretPassword authentication, key derivation, DPAPI where applicableProof of authorization
NT hashNTLM keyOffline crack; PTH where NTLM/service policy allows; Kerberos RC4 transition where supportedNet-NTLM response or DCC2
AES128/AES256 keyKerberos long-term keyRequest Kerberos material using compatible toolingDirect NTLM authentication
.kirbi / ccacheKerberos ticket containerUse while valid for its client/realm/SPN scopePassword/hash
DCC2/MSCache v2Offline verifierOffline crackingPTH
DPAPI key/blobProtected-data materialDecrypt only with matching context/keysGeneral logon credential
Machine-account keyComputer identityMap the computer account's rights and Kerberos/NTLM pathsHuman/domain-admin identity

Net-NTLMv2 relay is a live authentication path, not hash reuse

A captured Net-NTLMv2 response is suitable for offline recovery, but cannot be passed as an NT hash. A relay path instead needs a fresh inbound NTLM authentication event, a different reachable target that accepts the relayed protocol, target protections that permit the exchange, and useful authorization for the relayed identity.

For an explicitly selected SMB destination, inspect signing behavior before considering it a relay receiver:

# Net-NTLMv2 relay is a live authentication path, not hash reuse
nmap -p 445 --script smb2-security-mode TARGET

Every newly usable identity returns to Block 10 before movement

Interpret: signing required closes the ordinary SMB-to-SMB relay receiver path. Signing enabled but not required is only one prerequisite; it does not supply an authentication source, bypass EPA/channel binding on another protocol, or grant the relayed identity useful rights.

The current OSCP+ exam guide prohibits poisoning/spoofing. Do not use Responder-style name-resolution poisoning in the exam workflow. A direct, already-existing authentication source still needs a separately reviewed, scope-compliant relay procedure and an action-specific verification; the incomplete procedure is tracked as RW09.

Every newly usable identity returns to Block 10 before movement:

# Every newly usable identity returns to Block 10 before movement
VERIFY MATERIAL -> AUTHENTICATE SAFELY -> CONFIRM IDENTITY
                -> MAP GROUPS/RIGHTS/SHARES/HOSTS/ROUTES

Verify → Identify artifact type, source, account/domain and compatible next operation; record unknowns instead of guessing.

If it fails → A 32-character hexadecimal value is not enough to identify its algorithm. Use application/source evidence and converters. More detail ↓

If → then

  • A password tied to a plausible user and service → Validate known passwords and context-specific reuse

    Needs: Correct local/domain/application identity, reachable compatible service, accepted authentication and account state

  • A supported stored verifier or converted protected artifact → Recover passwords with feasible dictionary, rule and mask attacks

    Needs: Correct format/mode, complete salt/context, justified candidates and an available offline tool/backend

  • A ccache/kirbi file or an existing ticket cache → Classify tickets and use a compatible cache

    Needs: Correct principal/realm, valid lifetime, service scope, compatible cache format and naming/KDC route

  • A readable KeePass database and possible associated key file → Recover a protected KeePass database password

    Needs: Complete database, compatible converter, and every required factor; a feasible password candidate strategy

  • A private key from a file read, share, repository or home directory → Inspect and recover SSH private-key access

    Needs: Correct key format, passphrase if encrypted, matching server account/key authorization and accepted algorithm/policy

  • Readable password verifiers and account metadata → Recover Linux account passwords from matched records

    Needs: Correct passwd/shadow pairing or known hash format; account identity and a feasible recovery strategy

  • An NT verifier from an appropriate credential source → Recover or reuse an NT password hash

    Needs: Correct account/domain and actual NT hash; recovery mode or an accepting NTLM service with required destination rights

  • A complete challenge-response record → Recover a password from a captured NTLM response

    Needs: Correct challenge/response formatting and feasible candidates; acquisition method must fit the allowed context

  • A DCC2/MSCache record from matched SECURITY/SYSTEM material → Recover a password from cached domain logon verifiers

    Needs: Correct username/salt/iteration context and feasible offline candidates

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

Explanation & examples

Classify the artifact and its identity context

USE WHEN
A secret-like value, key file, stored hash, challenge response or ticket
STARTING ACCESS
A credential artifact with a recorded source and possible account context
RESULT
A typed credential record with a justified use or recovery path

Recognize the clue

Return to the file, database row, capture or session that produced the artifact; inspect structure and account labels before choosing a tool mode.

file FILE
head -c 160 FILE
SYNTHETIC EXAMPLE OUTPUT
Possible structures:
-----BEGIN OPENSSH PRIVATE KEY-----
USER::DOMAIN:CHALLENGE:RESPONSE:BLOB
USER:RID:LM_HASH:NT_HASH:::

Means: Headers and producing context distinguish a private key, challenge response and stored NT verifier.

Confirm: Record the exact source, user/domain and complete format; identify compatible recovery/authentication operations.

After validation
Source and format agree on the type: route it to the matching recovery/use method.
Ruled out in this context
The value is an application identifier rather than an authentication artifact: reject the credential hypothesis.
Still inconclusive
A bare hexadecimal string without provenance does not identify its algorithm; investigate the producing application.

Troubleshooting: A 32-character hexadecimal value is not enough to identify its algorithm. Use application/source evidence and converters.

Record source, claimed identity, format evidence, possible uses, tested service, result and resulting rights together.

MaterialRecognitionCompatible use
Cleartext passwordText tied to an identity/sourceNormal protocol/application login
SSH private keyOpenSSH/PEM private-key blockSSH public-key authentication; recover passphrase offline if protected
Linux password recordUSER:$id$salt$digest:...Offline recovery with complete record/format
Application/file verifierTool-specific $...$ or documented digestOffline recovery with matching mode/parser
NT hashUsually 32 hex from SAM/LSASS/NTDS contextOffline recovery; PtH where NTLM and the client support it
Net-NTLMv2 responseUSER::DOMAIN:challenge:proof:blobOffline recovery or live relay under specific conditions; not PtH material
DCC2/MSCache v2Username-dependent cached-domain verifierOffline recovery; not ordinary PtH material
Kerberos ticket.kirbi, ccache or in-memory cacheTicket-specific access subject to realm, SPN, validity, clock and route
Kerberos roast material$krb5asrep$... or $krb5tgs$...Offline recovery with matching enctype/mode
Session/API tokenCookie, bearer/JWT or application tokenIssuing application and authorization context only

Do not feed unknown strings into random modes. Preserve the source and identity context, then identify the format:

Failure cue: No hashes loaded, token/line-length errors or zero parsed hashes normally indicate wrong format, mode, damaged input or unsupported version—not a strong password.

OutputTypeImmediate compatible possibilitiesNot valid as
Cleartext passwordReusable secretPassword authentication, key derivation, DPAPI where applicableProof of authorization
NT hashNTLM keyOffline crack; PTH where NTLM/service policy allows; Kerberos RC4 transition where supportedNet-NTLM response or DCC2
AES128/AES256 keyKerberos long-term keyRequest Kerberos material using compatible toolingDirect NTLM authentication
.kirbi / ccacheKerberos ticket containerUse while valid for its client/realm/SPN scopePassword/hash
DCC2/MSCache v2Offline verifierOffline crackingPTH
DPAPI key/blobProtected-data materialDecrypt only with matching context/keysGeneral logon credential
Machine-account keyComputer identityMap the computer account's rights and Kerberos/NTLM pathsHuman/domain-admin identity
Net-NTLMv2 relay is a live authentication path, not hash reuse

A captured Net-NTLMv2 response is suitable for offline recovery, but cannot be passed as an NT hash. A relay path instead needs a fresh inbound NTLM authentication event, a different reachable target that accepts the relayed protocol, target protections that permit the exchange, and useful authorization for the relayed identity.

For an explicitly selected SMB destination, inspect signing behavior before considering it a relay receiver:

Interpret: signing required closes the ordinary SMB-to-SMB relay receiver path. Signing enabled but not required is only one prerequisite; it does not supply an authentication source, bypass EPA/channel binding on another protocol, or grant the relayed identity useful rights.

The current OSCP+ exam guide prohibits poisoning/spoofing. Do not use Responder-style name-resolution poisoning in the exam workflow. A direct, already-existing authentication source still needs a separately reviewed, scope-compliant relay procedure and an action-specific verification; the incomplete procedure is tracked as RW09.

Every newly usable identity returns to Block 10 before movement:

Why it works

An NT hash, Net-NTLMv2 response and DCC2 verifier are not interchangeable. Source and format constrain cracking mode, reuse protocol and expected rights.

Worked example · hypothetical

Observation: a recovered value is labelled a hash. Test: inspect its format and producing source. Illustrative output: it is a challenge-response capture rather than an NT verifier. Interpretation: choose offline recovery; reject direct Pass-the-Hash.

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