Guide to Hunting Cobalt Strike, Part 4: Automating C2 Feeds for Detection

· Original article ↗

Summary

A practical walkthrough for retrieving Hunt.io’s Cobalt Strike C2 feed, filtering and structuring indicators, and deploying them in SIEM, network, and endpoint detection workflows.

Key points

  • The walkthrough retrieves Hunt.io’s gzip-compressed NDJSON C2 feed through its API, filters for Cobalt Strike, and normalizes records into core, network, and endpoint feeds.
  • The outputs can include infrastructure indicators, HTTP and beacon configuration, and geolocation data, and can be exported as JSON, CSV, or STIX 2.1.
  • The article describes using the feeds for SIEM enrichment, firewall blocking, IDS signatures, and endpoint hunting, with examples for Splunk and Suricata.
  • It recommends refreshing indicators regularly, limiting ingestion to recent observations, applying confidence thresholds, and correlating feed matches with internal logs.
  • Hunt.io telemetry cited in the article recorded 8,868 distinct Cobalt Strike-associated IPs in 2025 and 1,921 in January 2026.

Article Details

Defense Focus
Continuously ingest and operationalize Cobalt Strike C2 intelligence for infrastructure blocking, network detection, endpoint hunting, and internal telemetry correlation.
Detection Methods
  • Filter incoming feed records where malware_name is Cobalt Strike and normalize them into core, network, and endpoint feeds.
  • Match outbound destination IP addresses against a C2 intelligence lookup and retain matches with an associated confidence score.
  • Fingerprint HTTP traffic using extracted user agents, callback paths, POST endpoints, custom headers, HTTP verbs, and cookie behavior.
  • Hunt proxy requests to the example beacon paths /api/poll and /api/event, and inspect HTTP headers for WC1-Session-ID.
  • Use beacon sleep time and jitter to identify regular, low-volume connections to the same external host. The example query selects calculated connection intervals below 10 seconds.
  • Correlate rundll32.exe execution and outbound connections with known C2 infrastructure.
  • Monitor memory injection, suspicious memory allocations, and unusual process parent-child relationships.
  • Cluster infrastructure using watermarks, watermark hashes, beacon public keys, ASN information, and observation timestamps.
Data Sources
  • Hunt.io Active C2 Server Feed, delivered through an authenticated API as gzip-compressed NDJSON.
  • Infrastructure observations containing IP addresses, ports, hostnames, callback paths, timestamps, confidence scores, and malware labels.
  • Observed listener HTTP behavior and extracted beacon configuration.
  • GeoIP, ASN, domain, and network-range enrichment.
  • Proxy, firewall, DNS, and HTTP telemetry.
  • Endpoint process execution, network connection, memory allocation, and injection telemetry.
  • Sandbox analysis and historical intelligence snapshots.
Rule Types
  • Splunk lookup-based searches correlating destination IP addresses with C2 indicators.
  • Splunk searches matching HTTP URI paths.
  • Splunk aggregation queries estimating connection periodicity.
  • Splunk endpoint searches combining process execution, network activity, and C2 feed membership.
  • Suricata HTTP header signatures.
  • Proxy rules and IDS/IPS traffic fingerprints.
  • STIX 2.1 indicator patterns combining IPv4 addresses and destination ports.
Platforms
  • SIEM
  • IDS/IPS
  • EDR
  • TIP
  • SOAR
  • Firewalls
  • Proxy monitoring
  • Sandbox environments
Defensive Actions
  • Retrieve the feed with authenticated API requests and keep the API token in an environment variable rather than hardcoding it.
  • Refresh intelligence every 1–6 hours; the article also recommends recurring hourly or daily retrieval.
  • Restrict ingestion to observations from the previous 24–72 hours to reduce stale indicators.
  • Apply minimum confidence thresholds of 80–90 to reduce false positives.
  • Separate core indicators for blocking, network metadata for detection, and endpoint configuration for hunting.
  • Deny outbound connections to known Cobalt Strike team servers and update SIEM lookups, firewall blocklists, and EDR intelligence tables.
  • Correlate external indicators with internal logs before issuing high-severity alerts.
  • Deduplicate IP/port pairs and normalize exports as JSON, CSV, or STIX 2.1.
  • Whitelist internal red-team and testing infrastructure.
  • Track infrastructure churn, ASN, and geography, and retain historical snapshots for retrospective investigations.
  • Enrich alerts with malware labels, confidence scores, and timestamps, and distribute intelligence across defensive controls.

Indicators of compromise

TypeIndicatorContext
IPV4121[.]127[.]232[.]250Cobalt Strike C2 indicator in the example JSON and STIX exports, associated with destination port 59002 and a confidence score of 80.0.
IPV4159[.]75[.]177[.]25Cobalt Strike infrastructure indicator in the example CSV export, associated with port 32130, a confidence score of 80.0, and China geolocation.

MITRE ATT&CK

Vendors

Products

Tools

Countries

Related Articles