Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
c2detect — C2 server fingerprinter — Cobalt Strike, Sliver, Mythic, Havoc, Brute Ratel | Kitploit
Tools/GitHubGitHub/cognis-digital/c2detect
Defensive ToolsIndicator of Compromise (IOC) ManagementThreat Feeds & AggregatorsInformation GatheringNetwork SecurityCommand and ControlThreat IntelligenceIntrusion DetectionIncident ResponseFingerprint SpoofingLog Analysis
357331 month agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
GitHubcognis-digital/c2detect

c2detect

C2 server fingerprinter — Cobalt Strike, Sliver, Mythic, Havoc, Brute Ratel

View RepositoryWebsite
Share

c2detect

Fingerprint the C2 server behind the beacon. Point it at network telemetry and it names the command-and-control framework — Cobalt Strike, Sliver, Mythic, Havoc, Brute Ratel, and 11+ more — with a confidence score and the exact indicators that matched.

PyPI CI License: COCL 1.0 C2 families Deps

Blue-team / defensive: detect known C2 infrastructure from telemetry. Passive by default; the active probe is opt-in and authorization-gated.

pip install cognis-c2detect
c2detect scan .            # → prioritized C2 findings in seconds, offline

See it work

Real, reproducible output — point it at a captured observation and it fingerprints the framework:

$ c2detect scan demos/01-cobalt-strike-network/observations.json
host: 203.0.113.10
  jarm=07d14d16d21d21d07c42d41d00041d24a458a375eef0c576d23a7bab9a9fb1  port=443

  CONF  SEV       FAMILY         INDICATORS
  -----------------------------------------
    48  critical  Cobalt Strike  jarm, port

  TOP: Cobalt Strike (48% / critical)
    - jarm [+42] matched '07d14d16d21d21d07c42d41d00041d24a458a375eef0c576d23a7bab9a9fb1'
    - port  [+6] matched '443'

c2detect: 3 C2 indicator(s) across 3 observation(s)

It fuses JA4/JARM/certificate/URI/port indicators against a bundled signature DB — and can emit ready-to-deploy Sigma and Suricata rules from those same signatures (c2detect rules), so a detection goes straight into your SIEM/IDS.

Why c2detect

threat-intel IP listsJARM alonec2detect
Names the C2 framework (not just "bad IP")✗partial✅
JA4 + JARM + cert + URI + port fusion✗✗✅
Confidence score + matched indicators✗✗✅
Generates Sigma / Suricata rules✗✗✅
Campaign correlation (shared infrastructure)✗✗✅
Runs offline, zero runtime depsvaries✓✅
$ c2detect-emit --help
usage: c2detect [-h] [--version]
                {scan,match,db,rules,feeds,correlate,probe,self-check,mcp} ...

Fingerprint-match TLS/network observations against a bundled database of known
C2 frameworks (JA4/JARM/cert/URI/port indicators). Defensive triage only.

positional arguments:
  {scan,match,db,rules,feeds,correlate,probe,self-check,mcp}
    scan                Scan JSON observation files / telemetry text / dirs /
                        stdin.
    match               Match explicit indicators (--ja4/--jarm/--port/...).
    db                  List the bundled C2 signature database.
    rules               Generate Sigma / Suricata detection rules from the
                        signature DB.
    feeds               List/update/get the live abuse.ch Feodo-C2 + SSLBL
                        threat-intel feeds c2detect consumes (keyless; cached;
                        offline re-serve).
    correlate           Cluster many observations into shared-infrastructure
                        campaigns (same JARM/JA4S/cert across hosts = one
                        operator's estate).
    probe               AUTHORIZED ACTIVE: TLS-fingerprint a consented
                        host:port in scope (default OFF; needs --authorized +
                        --target-allowlist + rate limit).
    self-check          Scan bundled demo scenarios and report C2 detection
                        coverage.
    mcp                 Run the MCP server (stdio JSON-RPC).

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
$ c2detect-emit self-check
c2detect self-check — bundled scenario coverage
================================================
  [DETECT    ] 01-basic                           Cobalt Strike
  [DETECT    ] 01-cobalt-strike-network           Cobalt Strike
  [DETECT    ] 02-deep                            Cobalt Strike
  [DETECT    ] 02-mixed-frameworks                Brute Ratel C4, Mythic, Sliver
  [DETECT    ] 03-behavioral                      Cobalt Strike
  [CLEAN     ] 03-benign-baseline                 (quiet)
  [DETECT    ] 04-sliver-mtls                     Cobalt Strike, Sliver
  [DETECT    ] 05-havoc-demon                     Havoc
  [DETECT    ] 06-mythic-agent                    Mythic
  [DETECT    ] 07-brute-ratel                     Brute Ratel C4
  [DETECT    ] 08-adaptixc2-teamserver            AdaptixC2
  [DETECT    ] 09-metasploit-meterpreter          Metasploit / Meterpreter
  [DETECT    ] 10-empire-windows                  PowerShell Empire
  [DETECT    ] 11-multi-framework-incident        AdaptixC2, Cobalt Strike, Havoc, Sliver
  [DETECT    ] 12-threat-hunt-jarm-sweep          Cobalt Strike, Sliver
  [feeds/corr] 13-threat-intel-feeds              (non-signature demo)
  [DETECT    ] 14-campaign-correlation            Cobalt Strike, Metasploit / Meterpreter
------------------------------------------------
  malicious detected : 14/14
  benign clean       : 1/1
  frameworks exercised: 8/21 in DB
  status             : HEALTHY
$ c2detect-emit db
FAMILY                            SEV       INDICATORS
------------------------------------------------------
Brute Ratel C4                    critical  ja3:1, jarm:1, uri:3, cert_quirk:2, port:2
Cobalt Strike                     critical  ja4s:1, ja3:1, ja3s:1, jarm:1, uri:5, uri_regex:1, http_banner:2, user_agent:1, cert_quirk:3, beacon:1, port:3
Metasploit / Meterpreter          critical  ja3:1, jarm:1, uri:3, cert_quirk:2, port:3
AdaptixC2                         high      uri:3, http_banner:4, cert_quirk:1, port:4
Covenant                          high      jarm:1, uri:3, http_banner:1, cert_quirk:1, port:3
Godzilla WebShell                 high      uri:3, uri_regex:1, cert_quirk:1, port:3
Havoc                             high      jarm:1, uri:3, http_banner:1, port:3
Mythic                            high      jarm:1, uri:2, http_banner:1, port:3
PoshC2                            high      uri:4, cert_quirk:2, port:2
PowerShell Empire                 high      ja3:1, uri:3, http_banner:1, port:3
Pupy RAT                          high      ja3:1, uri:2, cert_quirk:2, port:3
SILENTTRINITY                     high      uri:3, http_banner:1, beacon:1, port:3
Sliver                            high      ja4:1, ja4x:1, jarm:1, uri:5, cert_quirk:2, beacon:1, port:3
Caldera (MITRE)                   medium    uri:4, http_banner:1, beacon:1, port:5
Deimos C2                         medium    uri:3, http_banner:1, port:2
Koadic                            medium    uri:3, user_agent:1, port:3
Merlin                            medium    uri:2, http_banner:1, cert_quirk:1, port:1
NimPlant                          medium    uri:3, http_banner:1, user_agent:1, beacon:1, port:2
Villain                           medium    uri:3, http_banner:2, user_agent:1, port:3
Generic Beaconing Heuristic       low       beacon:1, port:6
Generic Self-Signed C2 Heuristic  low       cert_quirk:4, port:5

21 families in bundled signature DB.

Blocks above are real c2detect output — reproduce them from a clone.

Usage — step by step

Download Tool