Overview#
A tool (agentless module) runs on the teamserver and connects directly to remote services on your behalf. Tools integrate with the credential store for authentication and the proxy configuration for routing.
Unlike agents, tools do not persist on targets. Each operation is a discrete connection — connect, execute, disconnect.
tools/ssh/.Installing Tool Modules#
Tool modules are Python packages installed as TantoC2 plugins.
| |
After installing, register with the running teamserver:
| |
Web UI: Plugins page > “Refresh Modules”.
Listing Available Tools#
| |
Output shows module name, protocol, description, and available operations.
| |
Web UI: Tools page — module picker dropdown.
Tools Shell (CLI)#
The recommended way to run multiple operations against the same targets is the tools shell:
| |
Setting Up Session State#
| |
Multiple targets:
| |
Operations run in parallel across all targets. Results are aggregated per target.
Optional proxy:
| |
Checking Session State#
| |
SSH Operations#
Execute a Command#
| |
For exec, everything after exec is treated as the command string — no quoting needed for single-word commands.
Background mode:
| |
Multi-task:
| |
Upload a File#
| |
Download a File#
| |
Downloaded files land on the teamserver. Retrieve them via files fetch if needed.
Interactive Shell#
| |
Opens an interactive SSH session using xterm.js (web UI) or a streamed terminal session (CLI). Type normally. Exit with exit or logout.
shell streams output to your terminal. In the web UI, a terminal panel opens in the Tools page. The back command does not work inside an interactive session — use the session’s own exit mechanism.Credential Integration#
Use credentials stored in the credential store directly — no need to pass secrets on the command line.
Find the credential ID:
| |
Set it in the tools shell:
| |
The teamserver decrypts the credential and passes it to the tool. The decrypted secret never appears in logs.
Supported credential types for SSH:
| Type | Used As |
|---|---|
plaintext | SSH password authentication |
ssh_key | SSH public key authentication (private key as secret) |
Proxy Configuration#
Route tool operations through a SOCKS5 or HTTP proxy — useful when the teamserver cannot directly reach the target but a pivot machine can.
Create a Proxy#
| |
Web UI: Tools page > “Add Proxy”.
Assign to a Tools Session#
| |
All operations in this session route through the proxy.
Managing Proxies#
| |
Viewing Execution History#
After each operation, the result is stored as an execution record.
From inside the tools shell:
| |
Web UI: Tools page > execution history table with expandable rows showing per-target results.
Multi-Target Operations#
When multiple targets are set, operations run in parallel and results are returned per-target:
| |
Results show:
| |
Multi-target is useful for batch operations across a server farm or for initial enumeration when you have a list of in-scope targets.
Task Execution Model#
The tools shell uses the same execution model as the agent shell:
| Mode | Syntax | Behaviour |
|---|---|---|
| Blocking | exec whoami | Submits and waits for result (up to 120s timeout) |
| Background | exec whoami & | Submits and returns to prompt immediately |
| Multi-task | cmd1 ;; cmd2 | Submits all, waits for all results |
| Ctrl+C | During blocking wait | Backgrounds the current task |
Quick Reference#
| Task | Command |
|---|---|
| List tools | tools list |
| Module info | tools info <name> |
| Enter tools shell | tools use <name> |
| Refresh modules | tools refresh |
| Set target | set target <host> |
| Set multiple targets | set targets <h1> <h2> ... |
| Set port | set port <N> |
| Set credential | set cred <id> |
| Set proxy | set proxy <id> |
| Run exec | exec <command> |
| Upload | upload <local> <remote> |
| Download | download <remote> |
| Interactive session | shell |
| List operations | operations |
| List bg tasks | tasks |
| Get bg result | results <N> |
| Return to global | back |
Related Pages#
- Credential Management — credential types and how to add them
- Engagement Workflow — where tools fit in an operation
- Building Tools Modules — developer reference for writing new tool plugins