MCPcopy Index your code
hub / github.com/its-a-feature/Mythic

github.com/its-a-feature/Mythic @v3.4.0.61 sqlite

repository ↗ · DeepWiki ↗ · release v3.4.0.61 ↗
12,840 symbols 53,136 edges 674 files 277 documented · 2%
README

Activity commits since last release @its_a_feature_ on Twitter chat on Bloodhound Slack Sponsored by SpecterOps

Mythic

A cross-platform, post-exploit, red teaming framework built with GoLang, docker, docker-compose, and a web browser UI. It's designed to provide a collaborative and user friendly interface for operators, managers, and reporting throughout red teaming.

Starting Mythic

Mythic is controlled via the mythic-cli binary. To generate the binary, run sudo make from the main Mythic directory. From there, you can run sudo ./mythic-cli start to bring up all default Mythic containers.

More specific setup instructions, configurations, examples, screenshots, and more can be found on the Mythic Documentation website.

Installing Agents and C2 Profiles

The Mythic repository itself does not host any Payload Types or any C2 Profiles. Instead, Mythic provides a command, ./mythic-cli install github <url> [-b branch name] [-f], that can be used to install agents into a current Mythic instance.

Payload Types and C2 Profiles can be found on the overview page.

To install an agent, simply run the script and provide an argument of the path to the agent on GitHub:

sudo ./mythic-cli install github https://github.com/MythicAgents/apfell

The same is true for installing C2 Profiles:

sudo ./mythic-cli install github https://github.com/MythicC2Profiles/http

This allows the agents and c2 profiles to be updated at a much more regular pace and separates out the Mythic Core components from the rest of Mythic.

Updating

Use the ./mythic-cli update command to check for available updates across mythic-cli, mythic_server, and mythic_react's UI. This will NOT do the update for you, but let you know if an update exists. To check for updates against a specific branch, use ./mythic-cli update -b [branch name].

Mythic Docker Containers

latest docker versions

Mythic uses Docker and Docker-compose for all of its components, which allows Mythic to provide a wide range of components and features without having requirements exist on the host. However, it can be helpful to have insight into how the containers are configured. All of Mythic's docker containers are hosted on DockerHub under itsafeaturemythic.

Additionally, Mythic uses a custom PyPi package (mythic_container) and a custom Golang package (https://github.com/MythicMeta/MythicContainer) to help control and sync information between all the containers as well as providing an easy way to script access to the server.

Dockerfiles for each of these Docker images can be found on MythicMeta.

mythic-container PyPi

mythic-container downloads mythic-container python version mythic-container version latest tags

The mythic-container PyPi package source code is available on MythicMeta and is automatically installed on all of the mythic_python_* Docker images.

This PyPi package is responsible for connecting to RabbitMQ, syncing your data to Mythic, and responding to things like Tasking, Webhooks, and configuration updates.

github.com/MythicMeta/MythicContainer

MythicContainer go version MythicContainer latest stable version

The github.com/MythicMeta/MythicContainer Golang package source code is available on MythicMeta.

This Golang package is responsible for connecting to RabbitMQ, syncing your data to Mythic, and responding to things like Tasking, Webhooks, and configuration updates.

Mythic Scripting

mythic scripting downloads mythic scripting python version mythic scripting latest pypi version latest release

  • Scripting source code (https://github.com/MythicMeta/Mythic_Scripting)

Documentation

All documentation for the Mythic project is being maintained on the docs.mythic-c2.net website. The backing code for the documentation is in the Mintlify_Dcumentation repository in MythicMeta.

Contributions

A bunch of people have suffered through bug reports, changes, and fixes to help make this project better. Thank you!

The following people have contributed a lot to the project. As you see their handles throughout the project on Payload Types and C2 Profiles, be sure to reach out to them for help and contributions: - @djhohnstein - @xorrior - @Airzero24 - @SpecterOps

Sponsors

Liability

This is an open source project meant to be used with authorization to assess the security posture and for research purposes.

Historic References

Extension points exported contracts — how you extend this code

PtTaskFunctionCreateTasking (FuncType)
Tasking step 2: Task message/process to run the create_tasking function this can start creating subtasks
mythic-docker/src/rabbitmq/structs.go
CLIManager (Interface)
(no doc) [1 implementers]
Mythic_CLI/src/cmd/manager/managerInterface.go
PtTaskFunctionOPSECPost (FuncType)
Tasking step 3: Task message/process after running create_tasking but before the task can be picked up by an agent thi
mythic-docker/src/rabbitmq/structs.go
PtTaskFunctionOPSECPre (FuncType)
(no doc)
mythic-docker/src/rabbitmq/structs.go
PTTaskingCompletionFunction (FuncType)
(no doc)
mythic-docker/src/rabbitmq/structs.go
PtTaskProcessResponse (FuncType)
(no doc)
mythic-docker/src/rabbitmq/structs.go

Core symbols most depended-on inside this repo

KH
called by 6428
mythic-react-docker/mythic/public/static/js/main.12fdaefe.js
s
called by 3339
mythic-react-docker/mythic/public/static/js/main.12fdaefe.js
eRe
called by 1884
mythic-react-docker/mythic/public/static/js/main.12fdaefe.js
RV
called by 1774
mythic-react-docker/mythic/public/static/js/main.12fdaefe.js
n
called by 1494
mythic-react-docker/mythic/public/static/js/main.12fdaefe.js
e
called by 1236
mythic-react-docker/mythic/public/static/js/main.12fdaefe.js
aMe
called by 1005
mythic-react-docker/mythic/public/static/js/main.12fdaefe.js
r
called by 1001
mythic-react-docker/mythic/public/static/js/main.12fdaefe.js

Shape

Function 11,193
Method 777
Struct 730
Class 110
Interface 17
FuncType 7
TypeAlias 6

Languages

TypeScript84%
Go16%
Python1%

Modules by API surface

mythic-react-docker/mythic/public/static/js/main.12fdaefe.js8,322 symbols
documentation-docker/themes/hugo-theme-learn/static/mermaid/mermaid.js919 symbols
documentation-docker/themes/hugo-theme-learn/static/js/jquery-3.3.1.min.js92 symbols
mythic-docker/src/grpc/services/translationContainerGRPC.pb.go78 symbols
mythic-docker/src/rabbitmq/util_agent_message_actions_post_response.go76 symbols
documentation-docker/themes/hugo-theme-learn/static/js/highlight.pack.js63 symbols
mythic-docker/src/grpc/services/translationContainerGRPC_grpc.pb.go61 symbols
mythic-docker/src/rabbitmq/utils_rabbitmq_routing.go57 symbols
Mythic_CLI/src/cmd/manager/dockerComposeManager.go47 symbols
mythic-docker/src/rabbitmq/utils_proxy_traffic.go46 symbols
mythic-docker/src/grpc/services/pushC2GRPC_grpc.pb.go44 symbols
Mythic_CLI/src/cmd/manager/managerInterface.go41 symbols

Dependencies from manifests, versioned

github.com/Microsoft/go-winiov0.6.2 · 1×
github.com/bytedance/gopkgv0.1.3 · 1×
github.com/cespare/xxhash/v2v2.3.0 · 1×
github.com/cloudwego/base64xv0.1.6 · 1×
github.com/containerd/errdefsv1.0.0 · 1×
github.com/containerd/errdefs/pkgv0.3.0 · 1×
github.com/containerd/logv0.1.0 · 1×
github.com/creack/ptyv1.1.24 · 1×
github.com/distribution/referencev0.6.0 · 1×
github.com/docker/dockerv28.5.2+incompatible · 1×

For agents

$ claude mcp add Mythic \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact