Kali Linux

Tetanus : Mythic C2 Agent Targeting Linux And Windows Hosts Written In Rust

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

CommandSyntaxDescription
catcat [file]Output the contents of a file.
cdcd [new directory]Change directory.
cpcp [source] [destination]Copy a file from [source] to [destination].
downloaddownload [path]Download a file from the target system (supports relative paths).
exitexitExit the agent.
getenvgetenvGet the current environment variables.
getprivsgetprivsGet the privileges of the agent session.
jobkilljobkill [job id]Shutdown a running background job.
jobsjobsList currently running background jobs.
lsls [directory]List files or directories (supports relative paths).
mkdirmkdir [directory]Make a new directory.
mvmv [source] [destination]Move a file from [source] to [destination] (supports relative paths).
portscanportscan [popup]Scan a list of IPs for open ports.
pspsGet a list of currently running processes.
pwdpwdPrint working directory.
redirectredirect [<bindhost>:<bindport>:<connecthost>:<connectport>]Setup a TCP redirector on the remote system.
rmrm [path]Remove a file or directory (supports relative paths).
setenvsetenv [name] [value]Set environment variable [name] to [value].
shellshell [command]Run a shell command with bash -c on Linux or cmd.exe /c on Windows in a new thread.
sleepsleep [interval][units] [jitter]Set the sleep interval and jitter (supports unit suffixing).
sshssh [popup]Use ssh to execute commands, download/upload files or grab directory listings.
ssh-agentssh-agent [-c <socket>] [-d] [-l]Connect to running ssh agent sockets on the host or list identities.
ssh-spawnssh-spawn [popup]Spawn a Mythic agent on a remote host using ssh.
unsetenvunsetenv [var]Unset an environment variable.
uploadupload [popup]Upload a file to the host machine.

Windows-specific Commands

CommandSyntaxDescription
powershellpowershell [command]Run a command using powershell.exe /c in a new thread.
R K

Recent Posts

Understanding the Model Context Protocol (MCP) and How It Works

Introduction to the Model Context Protocol (MCP) The Model Context Protocol (MCP) is an open…

5 days ago

The file Command – Quickly Identify File Contents in Linux

While file extensions in Linux are optional and often misleading, the file command helps decode what a…

6 days ago

How to Use the touch Command in Linux

The touch command is one of the quickest ways to create new empty files or update timestamps…

6 days ago

How to Search Files and Folders in Linux Using the find Command

Handling large numbers of files is routine for Linux users, and that’s where the find command shines.…

6 days ago

How to Move and Rename Files in Linux with the mv Command

Managing files and directories is foundational for Linux workflows, and the mv (“move”) command makes it easy…

6 days ago

How to Create Directories in Linux with the mkdir Command

Creating directories is one of the earliest skills you'll use on a Linux system. The mkdir (make…

6 days ago