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.
- 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.
- port: TCP port number.
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: Service executable payload ID. Required when
copyMethodisSMB. - copyMethod: Method for copying the payload (
SMB,NONE). When omitted, defaults toSMB. - 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 needed).
- password: Password for remote authentication (if needed).
Example:
jump-ssh
Purpose: Execute commands or copy payloads via SSH for lateral movement.
Parameters:
- payloadId: Executable payload ID. Required when
copyMethodisSMBorSCP. - copyMethod: Copy method (
SCP,SMB,NONE). - 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.
- 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: Executable payload ID.
- copyMethod: Copy method (SMB, NONE).
- copyPath: Destination path.
- target: Target machine IP/name.
- executablePath: Path of the executable to run.
- customPowershell: Custom PowerShell script.
- username: Username (if needed).
- password: Password (if needed).
Example:
jump-wmi
Purpose: Execute commands via WMI for lateral movement.
Parameters:
- payloadId: Executable payload ID.
- copyMethod: Copy method (SMB, NONE).
- copyPath: Destination path.
- target: Target machine IP/name.
- cmdline: Command line to execute.
- username: Username (if needed).
- password: Password (if needed).
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(default),ARP, orNONE(assumes host exists). - hostnameResolving: Method to resolve discovered hostnames:
DNS,NETBIOS,ANY, orNONE. - 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.
Example:
spawn
Purpose: Spawn a new agent with provided configuration.
Parameters:
- payloadId: Listener payload ID.
- 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: 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.
- 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 needed).
- password: Password for authentication (if needed).
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 needed).
- password: Password for authentication (if needed).
- 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 needed).
- password: Password for authentication (if needed).
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.
- payloadId: ID of a generated payload to upload. Mutually exclusive with
@files.uploadFile. - @files.uploadFile: File to upload. Mutually exclusive with
payloadId. - authMechanism: Authentication mechanism (
CLASSIC,NTLM,KERBEROS). Default:CLASSIC. Note:NTLM/KERBEROScannot be combined with key-based auth. - username: Username for authentication.
- 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: PayloadId or uploadFile - one of them has to be set but not both.
Note (payload upload): Requires only a JSON body.
Example:
Note (file upload): Requires a multipart/form-data request.