Plugin Commands
This section lists plugin-based commands available via the REST API, their parameters, and usage examples.
connect-smb
Purpose: Connect to an SMB agent using a parent agent trigger.
Parameters:
- host: IP address or domain of the SMB agent (required).
- pipename: Name of the SMB pipe.
Example:
connect-tcp
Purpose: Establish a connection for a TCP-BIND agent.
Parameters:
- host: IP address or domain to connect to (required).
- port: TCP port number in the range 1-65535 (required).
Example:
cp
Purpose: Copy a file or directory on the target filesystem.
Parameters:
- source: Source file/directory path.
- destination: Destination file/directory path.
Example:
download
Purpose: Download a file from the agent’s filesystem.
Parameters:
- filepath: File path to read (supports environment variables).
Example:
execute-assembly
Purpose: Execute a .NET assembly in memory.
Parameters:
- @files.executable: .NET executable file content (base64 encoded if provided via API).
- parameters: Command line arguments as an array of strings (e.g.
["--audit", "--verbose"]).
Note: Requires a multipart/form-data request if using @files.
Example:
inject
Purpose: Inject and execute shellcode.
Parameters:
- @files.shellcode: Shellcode content.
Example:
jump-service
Purpose: Copy a payload and create a Windows service for lateral movement.
Parameters:
- target: Target machine IP/name (required).
- payloadId: Integer service executable payload ID. Required when
copyMethodisSMB. It is also required whencopyMethodis omitted unlessservicePathis supplied andcopyPathis omitted. - copyMethod: Method for copying the payload (
SMB,NONE). When omitted, it skips copying only whenservicePathis supplied andcopyPathis omitted; otherwise it uses the SMB-copy branch. SetNONEexplicitly when using an existing remote service executable. - copyPath: Destination path for the copied file. Auto-generated if omitted.
- servicePath: Path for the created service. Defaults to
copyPath. - serviceName: Service name. Auto-generated if omitted.
- serviceDisplayName: Display name for the service. Auto-generated if omitted.
- cleanup: Delete the service after execution (default:
true). - username: Username for remote authentication. If supplied,
passwordmust also be supplied. - password: Password for remote authentication. If supplied,
usernamemust also be supplied.
Example:
jump-ssh
Purpose: Execute commands or copy payloads via SSH for lateral movement.
Parameters:
- payloadId: Integer executable payload ID. Required when
copyMethodisSMBorSCP, and when bothcopyMethodandcmdlineare omitted. - copyMethod: Copy method (
SCP,SMB,NONE). When omitted, it skips copying ifcmdlineis supplied; otherwise it usesSCPand requirespayloadId. SetNONEexplicitly when running an existing remote command or executable. - copyPath: Destination path on the target.
- target: Target machine IP/name.
- cmdline: Command line to execute on the target.
- authMechanism: Authentication mechanism (
CLASSIC,NTLM,KERBEROS). Default:CLASSIC. Note:NTLM/KERBEROScannot be combined with key-based auth. - username: Username. Required with
CLASSICauthentication. - password: Password (required with
CLASSICif noprivateKeyPEM). - @files.privateKeyPEM: Private key PEM file (required with
CLASSICif no password). - privateKeyPassword: Password for the private key file.
Example:
jump-winrm
Purpose: Execute commands or run an executable via WinRM.
Parameters:
- payloadId: Integer executable payload ID. Required when
copyMethodisSMB. With an omittedcopyMethod, it is also required unless bothexecutablePathandcustomPowershellare supplied. - copyMethod: Copy method (
SMB,NONE). When omitted, it skips copying only when bothexecutablePathandcustomPowershellare supplied; otherwise it takes the SMB-copy branch. SetNONEexplicitly when using an existing remote executable or script. - copyPath: Destination path. Required when
copyMethodisSMB. - target: Target machine IP/name.
- executablePath: Path of the executable to run.
- customPowershell: Custom PowerShell script.
- username: Username. If supplied,
passwordmust also be supplied. - password: Password. If supplied,
usernamemust also be supplied.
Example:
jump-wmi
Purpose: Execute commands via WMI for lateral movement.
Parameters:
- payloadId: Integer executable payload ID. Required when
copyMethodisSMB, and when bothcopyMethodandcmdlineare omitted. - copyMethod: Copy method (
SMB,NONE). When omitted, it skips copying ifcmdlineis supplied; otherwise it uses the SMB-copy branch and requirespayloadId. SetNONEexplicitly when running an existing remote command. - copyPath: Destination path.
- target: Target machine IP/name.
- cmdline: Command line to execute.
- username: Username. If supplied,
passwordmust also be supplied. - password: Password. If supplied,
usernamemust also be supplied.
Example:
mkdir
Purpose: Create a new directory on the target system.
Parameters:
- dirpath: Directory path to create (supports recursive creation).
Example:
mv
Purpose: Move a file or directory on the target system.
Parameters:
- source: Source file/directory path.
- destination: Destination path.
- overwrite: Allow overwriting the destination file (default:
true).
Example:
portscan
Purpose: Perform a TCP port scan and log discovered hosts and ports.
Parameters:
- ips: IP addresses to scan (values or ranges, separated with commas).
- ports: Ports to scan (values or ranges, separated with commas).
- hostDiscovery: Method to use for host discovery:
ICMP,ARP, orNONE(assumes the host exists). The default isICMPon Windows andNONEon Linux. - hostnameResolving: Method to resolve discovered hostnames:
DNS,NETBIOS,ANY, orNONE(default). - timeout: Timeout in milliseconds.
- threads: Number of concurrent threads for ARP requests.
Example:
procinfo
Purpose: Retrieve additional information about the agent’s process.
Parameters: None
Example:
rm
Purpose: Remove a file from the target filesystem.
Parameters:
- filepath: File path to delete (supports environment variables).
Example:
rmdir
Purpose: Remove a directory from the target filesystem.
Parameters:
- dirpath: Directory path to delete (supports environment variables).
Example:
rportfwd
Purpose: Creates reverse port forwarding (traffic is forwarded through C2).
Parameters:
- bindIp: On what IP/interface to listen on the agent (all interfaces by default).
- bindPort: On what port to listen on the agent.
- forwardHost: To what host to redirect traffic (data is sent from Tuoni server).
- forwardPort: To what port to redirect traffic (data is sent from Tuoni server).
Example:
screenshot
Purpose: Capture a screenshot of the target machine.
Parameters: None
Example:
socks5
Purpose: Create a SOCKS5 proxy on the agent’s network.
Parameters:
- port: Port that C2 opens for the SOCKS5 proxy, required and in the range 1-65535.
Example:
spawn
Purpose: Spawn a new agent with provided configuration.
Parameters:
- payloadId: Integer
SHELLCODEpayload ID (required, minimum 1). - encryptedCommunication: Whether to encrypt communication.
Example:
upload
Purpose: Upload a file to the target filesystem.
Parameters:
- filepath: Destination file path (supports environment variables). Optional — when omitted, the uploaded filename is used.
- @files.file: File content.
Example:
upload-payload
Purpose: Write a generated payload to the target filesystem.
Parameters:
- filepath: Destination file path (supports environment variables).
- payloadId: Integer ID of the payload to upload.
Example:
powerpick
Purpose: Execute a PowerShell command or script without spawning powershell.exe. Uses an in-process unmanaged PowerShell runspace.
Parameters:
- command: PowerShell command or script to execute. Optional — when omitted, an interactive session is opened.
Example:
timestomp
Purpose: Modify file timestamps on the target system to aid anti-forensics.
Parameters:
- target: Path of the file whose timestamps will be modified (required).
- source: Path of a file to copy timestamps from. When provided,
created,written, andaccessedare ignored. - created: New creation timestamp (e.g.
2020-01-01T00:00:00). Optional. - written: New last-write timestamp. Optional.
- accessed: New last-access timestamp. Optional.
Example:
remote-exec-ssh
Purpose: Execute a command on a remote host over SSH.
Parameters:
- target: Target machine IP or hostname (required).
- command: Command to execute on the remote host (required).
- authMechanism: Authentication mechanism (
CLASSIC,NTLM,KERBEROS). Default:CLASSIC. Note:NTLM/KERBEROScannot be combined with key-based auth. - username: Username for authentication. Required with
CLASSICauthentication. - password: Password (required with
CLASSICif noprivateKeyPEM). - @files.privateKeyPEM: Private key PEM file (required with
CLASSICif no password). - privateKeyPassword: Password for the private key file.
Example:
remote-exec-winrm
Purpose: Execute a PowerShell command on a remote host via WinRM.
Parameters:
- target: Target machine IP or hostname (required).
- command: PowerShell command to execute on the remote host (required).
- username: Username for authentication. If supplied,
passwordmust also be supplied. - password: Password for authentication. If supplied,
usernamemust also be supplied.
Example:
remote-exec-wmi
Purpose: Execute a command on a remote host via WMI.
Parameters:
- target: Target machine IP or hostname (required).
- command: Command to execute (required).
- commandType: How the command is run:
POWERSHELL,CMD, orCREATE_PROCESS. Default:POWERSHELL. - username: Username for authentication. If supplied,
passwordmust also be supplied. - password: Password for authentication. If supplied,
usernamemust also be supplied. - hideWindow: Hide the spawned process window (default:
true).
Example:
remote-exec-service
Purpose: Execute a command on a remote host by creating a temporary Windows service.
Parameters:
- target: Target machine IP or hostname (required).
- command: Command to execute (required).
- commandType: How the command is run:
POWERSHELL,CMD, orCREATE_PROCESS. Default:POWERSHELL. - username: Username for authentication. If supplied,
passwordmust also be supplied. - password: Password for authentication. If supplied,
usernamemust also be supplied.
Note: A randomly named Windows service is created, used to run the command, and then deleted automatically.
Example:
remote-upload-scp
Purpose: Upload a payload or a custom file to a remote host via SCP.
Parameters:
- target: Target machine IP or hostname (required).
- path: Destination path on the remote host (required).
- payloadId: Integer ID of a generated payload to upload. Exactly one of this field or
@files.uploadFileis required. - @files.uploadFile: File to upload. Exactly one of this field or
payloadIdis required. - authMechanism: Authentication mechanism (
CLASSIC,NTLM,KERBEROS). Default:CLASSIC. Note:NTLM/KERBEROScannot be combined with key-based auth. - username: Username for authentication. Required with
CLASSICauthentication. - password: Password (required with
CLASSICif noprivateKeyPEM). - @files.privateKeyPEM: Private key PEM file (required with
CLASSICif no password). - privateKeyPassword: Password for the private key file.
Note: Exactly one of payloadId or uploadFile must be set.
Note (payload upload): Requires only a JSON body.
Example:
Note (file upload): Requires a multipart/form-data request.