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/Enumeration/Services
← All services tasks

Retrieve an evidence-backed file over TFTP

CommandsIf → thenExplanation & examples

Needs: Reachable TFTP service and an exact server-relative filename permitted for read or write

Client commands / example output

Recognize: TFTP normally uses UDP/69 for the initial request and has no directory-listing or login model. It is useful only when configuration, source, boot metadata or another service gives a plausible filename.

# Baseline
tftp TARGET
tftp> binary
tftp> get FILE
tftp> quit

Decisive output: a completed transfer plus recognizable local bytes establishes read access to that exact name. A timeout is ambiguous because the UDP request, server policy, transfer port or filename can fail without a useful error.

Bounded write check only when the objective requires it

# Variant — bounded write check only when the objective requires it
printf '%s\n' 'TFTP_WRITE_CANARY' > tftp-probe.txt

Bounded write check only when the objective requires it

# Variant — bounded write check only when the objective requires it
tftp TARGET
tftp> binary
tftp> put tftp-probe.txt
tftp> quit

Use a unique harmless filename and only when write capability changes the next decision. TFTP normally offers no remote delete operation; do not create a probe unless you already have an authorized cleanup route.

Next action: inspect a retrieved artifact and follow only evidence-backed filenames. A successful upload is not execution; prove the server-side path and consumer separately.

Verify → Verify the local file's recognizable bytes and provenance; a client success message without the expected file is insufficient.

If it fails → Timeout can mean filtering, transfer-port policy or a missing/denied name. TFTP provides no general remote cleanup, so do not upload a probe without a cleanup route. More detail ↓

If → then

  • A secret-like value, key file, stored hash, challenge response or ticket → Classify the artifact and its identity context

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

  • A tool/artifact must reach a target that can make an HTTP request → Transfer over HTTP using Linux or Windows clients

    Needs: Correct server bind and served directory; target-to-server route, available downloader and writable destination

  • A product/version clue, advisory or component-specific public PoC → Match a public exploit to the actual component and configuration

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

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

Explanation & examples

Retrieve an evidence-backed file over TFTP

USE WHEN
A UDP/69 service plus a plausible filename from configuration, source or boot metadata
STARTING ACCESS
A confirmed reachable application; anonymous context or one identified credential
RESULT
Verified bytes for one known filename, or a separately justified bounded file-placement primitive

Recognize the clue

Use TFTP only after another artifact or boot/configuration clue supplies a plausible exact filename.

tftp TARGET
tftp> binary
tftp> get FILE
tftp> quit
SYNTHETIC EXAMPLE OUTPUT
Transfer complete
Local file: recognizable configuration bytes

Means: The exact known filename is retrievable; TFTP still exposes no general directory namespace.

Confirm: Verify recognizable bytes and provenance; distinguish read from any separately required write test.

After validation
The intended artifact is recovered: inspect it and follow its concrete paths or credentials.
Ruled out in this context
A server error says the exact filename is unavailable or denied in this context: reject that name.
Still inconclusive
Timeout is ambiguous across UDP reachability, transfer-port policy and filename handling.

Troubleshooting: Timeout can mean filtering, transfer-port policy or a missing/denied name. TFTP provides no general remote cleanup, so do not upload a probe without a cleanup route.

Recognize: TFTP normally uses UDP/69 for the initial request and has no directory-listing or login model. It is useful only when configuration, source, boot metadata or another service gives a plausible filename.

Decisive output: a completed transfer plus recognizable local bytes establishes read access to that exact name. A timeout is ambiguous because the UDP request, server policy, transfer port or filename can fail without a useful error.

Variant — bounded write check only when the objective requires it

Use a unique harmless filename and only when write capability changes the next decision. TFTP normally offers no remote delete operation; do not create a probe unless you already have an authorized cleanup route.

Next action: inspect a retrieved artifact and follow only evidence-backed filenames. A successful upload is not execution; prove the server-side path and consumer separately.

Why it works

TFTP has no directory listing or login negotiation. Initial UDP/69 contact normally switches to a transfer port, so silence does not identify the failed layer.

Worked example · hypothetical

Observation: a boot configuration reveals a TFTP filename. Test: request that exact name. Illustrative output: the retrieved bytes match the expected configuration. Interpretation: inspect its paths and credentials; do not guess a whole filesystem.

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