SLIVER
mTLS
JARM
GO IMPLANT
DetectionBlue TeamSOCOctober 12, 2026•9 min read

Detecting Sliver C2: mTLS, Profiles and Implant Artifacts

Sliver filled the gap when cracked Cobalt Strike got noisy. It is open source, cross-platform and Go-compiled — but its defaults are just as fingerprintable.

Scroll

Sliver (BishopFox) is now a mainstream adversary C2: free, cross-platform and modular, with mTLS, HTTP(S), DNS and WireGuard transports. Its defaults — TLS certificate fields, JARM, HTTP URIs and large stripped Go implants — give defenders plenty to work with until operators heavily customise.

Signals at a Glance

SignalWhereATT&CK
Default Sliver JARM / self-signed mTLS cert fieldsNetwork, scan dataT1573.002
Default HTTP C2 URI/extension patterns (.woff/.js/.php polling)Proxy, ZeekT1071.001
Large (5-20MB) stripped Go binary written to diskSysmon 11, EDRT1105
DNS C2 with long encoded subdomainsDNS logsT1071.004
Regular polling interval with jitter/reconnectFlow/proxyT1571

Network Fingerprints

Default Sliver servers present a recognisable JARM and self-signed certificates with randomised but patterned subject fields. HTTP(S) C2 polls static-looking resources. Hunt egress to one destination with periodic small requests for resources that never change:

# Suricata-style idea (validate/tune against ET Open before deploying)
alert tls any any -> any any ( \
  msg:"HUNT Sliver default mTLS certificate pattern"; \
  flow:established,to_server; \
  tls.cert_subject; content:"CN="; \
  threshold:type limit, track by_dest, count 1, seconds 3600; \
  classtype:trojan-activity; sid:9000001; rev:1; )
# Prefer JARM/JA3 matching in Zeek + reputation over signature-only.

In Zeek, surface long-lived connections where a host repeatedly fetches the same URI with near-constant size — the hallmark of a poller:

// Zeek/KQL-style hunt: repetitive same-size fetches to one host
HttpEvents
| summarize reqs=count(), uris=dcount(UriPath), sizes=dcount(ResponseSize)
          by SrcIp, DstHost, bin(TimeGenerated, 1h)
| where reqs > 30 and uris <= 3 and sizes <= 2

Host Artifacts

Vetted sources

BishopFox documents Sliver's transports; the community has published JARM values, default certificate patterns and HTTP C2 indicators. Use Zeek/Suricata (ET Open) and SigmaHQ as starting points and validate against your own baselines — Sliver is highly configurable.

Build Detections That Fire

Mjolnir Security helps blue teams turn threat intelligence into high-fidelity detections across endpoint, network, identity and cloud telemetry.

Detection EngineeringManaged Detection & ResponseThreat HuntingIncident ResponsePurple Teaming
  • Detection Engineering We build and tune detections mapped to ATT&CK from your own telemetry.
  • Threat Hunting as a Service Hypothesis-driven hunts for the behaviours on this page.
  • 24/7 Incident Response Containment when a detection fires. Call +1 833 403 5875.
Written by: Mjolnir Threat Research (MTAC)  |  Published: October 12, 2026  |  Last reviewed: October 12, 2026