Operator On The Wire
Join
← Back to Knowledge Base
RED TEAM / FILE TRANSFERS

File Transfer Matrix

MethodWindowsLinuxDownloadUploadNetwork Needed?Notes
Base64 + certutil✔*NoClipboard-only; encode/decode
Base64 (Linux)NoOffline text transfer
certutil -verifyctlYesModern + reliable download
certutil -urlcacheYesLegacy; sometimes blocked
bitsadminYesDownload only
Invoke-WebRequestYesFull HTTP client
IEX DownloadStringIn-MemYesIn-memory execution
wget✔*YesDefault on Linux
curlYesUniversal HTTP
python urllibYesRequires Python
PHP downloadYesRequires PHP
Ruby Net::HTTPYesRequires Ruby
/dev/tcpYesRaw TCP
python http.serverServerYesSimple download server
php -SServerYesPHP HTTP server
ruby httpdServerYesRuby server
uploadserver (HTTPS)YesEasiest upload path
curl -X POST uploadYesWorks with uploadserver
SMB (impacket)YesFast file moves
net use \\shareYesWindows SMB
nc / ncatYesRaw TCP
FTP serverYesSimple; built-in Windows FTP client
RDP ClipboardOptionalClipboard channel
RDP Drive ShareOptional\\tsclient\share

Best for high-restriction environments (no network):

  • Base64 + certutil
  • Base64 (Linux)

Best for pure Windows workflow:

  • Invoke-WebRequest (download + upload)
  • IEX DownloadString (in-memory)
  • Certutil -verifyctl (download)
  • SMB (fast & simple)
  • Bitsadmin (download-only)

Best universal cross-platform downloaders:

  • curl
  • wget
  • python urllib

Best direct peer-to-peer transfer:

  • Netcat / Ncat
  • SMB copy
  • FTP (put/get)

Best for uploading FROM target → attacker:

  • curl -X POST + uploadserver
  • FTP put
  • SMB writable share
  • RDP share
  • Netcat

Best when everything is locked down but clipboard works:

  • certutil Base64
  • Linux base64