This is part two of a series of blog posts on Thanatos, a Mythic C2 agent written in
Rust. This post will go over setting up Mythic and Thanatos in an Ubuntu VM and the agent’s
usage.
Part one of the series discusses how this project came about and the development of it.
Project repository:
https://github.com/MythicAgents/thanatos
Overview
Thanatos Features and Functionality
If you’re new to Mythic, I highly recommend checking out the Mythic Documentation.
Mythic is very unique compared to other C2 frameworks due to its modular design. Other
frameworks such as Cobalt Strike or Empire include a full suite of modules including: C2
profiles/transports, stagers, payloads a UI, etc. Mythic decides to take these common
features of a C2 framework and split them up into three distinct server, C2 profiles and
payload types modules. Due to this design, payloads can vary from compiled .NET Windows
executables to chrome web browser extensions. C2 profiles give the operator and developers flexibility on how
their payloads communicate with Mythic. This allows a very high level of flexibility to
tune the operation based on what the target is. The currently public C2 profiles are HTTP,
DNS and websocket but profiles can be developed which utilize AWS S3 buckets, Microsoft Teams,
Dropbox or various other mediums for communication.