Tetanus is a Windows and Linux C2 agent written in rust.
Installation
To install Tetanus, you will need Mythic set up on a machine.
In the Mythic root directory, use mythic-cli to install the agent.
sudo ./mythic-cli install github https://github.com/MythicAgents/tetanus
sudo ./mythic-cli payload start tetanus
Tetanus supports the http C2 profile:
sudo ./mythic-cli install github https://github.com/MythicC2Profiles/http
sudo ./mythic-cli c2 start http
Features
- Background job management
- Built-in ssh client
- Connect to a machine and download/upload files between that machine and Mythic
- Get directory listings from machines using sftp
- Spawn agents on machines using ssh
- ssh-agent hijacking
- Streaming portscan
- Stand up TCP redirectors
Future Additions
- v0.2.0
- Socks proxying
- Windows token manipulation
- More browser script integration
- DNS C2 profile
- p2p capabilities
- In memory shellcode execution
execute-shellcode
General Commands
| Command | Syntax | Description |
|---|---|---|
| cat | cat [file] | Output the contents of a file. |
| cd | cd [new directory] | Change directory. |
| cp | cp [source] [destination] | Copy a file from [source] to [destination]. |
| download | download [path] | Download a file from the target system (supports relative paths). |
| exit | exit | Exit the agent. |
| getenv | getenv | Get the current environment variables. |
| getprivs | getprivs | Get the privileges of the agent session. |
| jobkill | jobkill [job id] | Shutdown a running background job. |
| jobs | jobs | List currently running background jobs. |
| ls | ls [directory] | List files or directories (supports relative paths). |
| mkdir | mkdir [directory] | Make a new directory. |
| mv | mv [source] [destination] | Move a file from [source] to [destination] (supports relative paths). |
| portscan | portscan [popup] | Scan a list of IPs for open ports. |
| ps | ps | Get a list of currently running processes. |
| pwd | pwd | Print working directory. |
| redirect | redirect [<bindhost>:<bindport>:<connecthost>:<connectport>] | Setup a TCP redirector on the remote system. |
| rm | rm [path] | Remove a file or directory (supports relative paths). |
| setenv | setenv [name] [value] | Set environment variable [name] to [value]. |
| shell | shell [command] | Run a shell command with bash -c on Linux or cmd.exe /c on Windows in a new thread. |
| sleep | sleep [interval][units] [jitter] | Set the sleep interval and jitter (supports unit suffixing). |
| ssh | ssh [popup] | Use ssh to execute commands, download/upload files or grab directory listings. |
| ssh-agent | ssh-agent [-c <socket>] [-d] [-l] | Connect to running ssh agent sockets on the host or list identities. |
| ssh-spawn | ssh-spawn [popup] | Spawn a Mythic agent on a remote host using ssh. |
| unsetenv | unsetenv [var] | Unset an environment variable. |
| upload | upload [popup] | Upload a file to the host machine. |
Windows-specific Commands
| Command | Syntax | Description |
|---|---|---|
| powershell | powershell [command] | Run a command using powershell.exe /c in a new thread. |









