Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/MythicAgents/thanatos

Mythic C2 agent targeting Linux and Windows hosts written in Rust
https://github.com/MythicAgents/thanatos

Last synced: about 1 month ago
JSON representation

Mythic C2 agent targeting Linux and Windows hosts written in Rust

Awesome Lists containing this project

README

        


Thanatos Logo

# Thanatos

[![GitHub License](https://img.shields.io/github/license/MythicAgents/thanatos)](https://github.com/MythicAgents/thanatos/blob/main/LICENSE)
[![GitHub Release](https://img.shields.io/github/v/release/MythicAgents/thanatos)](https://github.com/MythicAgents/thanatos/releases/latest)
[![Release](https://github.com/MythicAgents/thanatos/workflows/Release/badge.svg)](https://github.com/MythicAgents/thanatos/actions/workflows/release.yml)

Thanatos is a Windows and Linux C2 agent written in rust.

# Installation
To install Thanatos, you will need [Mythic](https://github.com/its-a-feature/Mythic) set up on a machine.

In the Mythic root directory, use `mythic-cli` to install the agent.
```bash
sudo ./mythic-cli install github https://github.com/MythicAgents/thanatos
sudo ./mythic-cli payload start thanatos
```

Thanatos supports the http C2 profile:
```bash
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 [:::]` | 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 ] [-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.