This detection rule identifies adversary behavior consistent with the deployment of Cobalt Strike tools by monitoring for five specific indicators of compromise that signal active command and control or lateral movement capabilities. A SOC team should proactively hunt for these IOCs within Azure Sentinel to rapidly detect early-stage post-exploitation activities, thereby reducing dwell time before attackers establish persistent footholds in the network.
Malware Family: Cobalt Strike Total IOCs: 5 IOC Types: ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 108[.]165[.]147[.]244:8081 | botnet_cc | 2026-08-16 | 100% |
| ip:port | 101[.]42[.]255[.]92:8001 | botnet_cc | 2026-08-16 | 100% |
| ip:port | 149[.]88[.]66[.]234:80 | botnet_cc | 2026-08-16 | 100% |
| ip:port | 149[.]88[.]66[.]234:2020 | botnet_cc | 2026-08-15 | 75% |
| ip:port | 106[.]14[.]16[.]18:22 | botnet_cc | 2026-08-15 | 100% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - Cobalt Strike
let malicious_ips = dynamic(["101.42.255.92", "149.88.66.234", "106.14.16.18", "108.165.147.244"]);
CommonSecurityLog
| where DestinationIP in (malicious_ips) or SourceIP in (malicious_ips)
| project TimeGenerated, SourceIP, DestinationIP, DestinationPort, DeviceAction, Activity
| order by TimeGenerated desc
// Hunt in Defender for Endpoint network events
let malicious_ips = dynamic(["101.42.255.92", "149.88.66.234", "106.14.16.18", "108.165.147.244"]);
DeviceNetworkEvents
| where RemoteIP in (malicious_ips)
| project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, ActionType
| order by Timestamp desc
| Sentinel Table | Notes |
|---|---|
CommonSecurityLog | Ensure this data connector is enabled |
DeviceNetworkEvents | Ensure this data connector is enabled |
Here are 4 specific false positive scenarios for the ThreatFox: Cobalt Strike IOCs detection rule, along with targeted filters and exclusions to mitigate noise in an enterprise environment:
Scenario: Automated Patch Management Deployment
beacon.exe or cs_beacon.exe) as a temporary agent to verify endpoint connectivity before pushing updates.ccmexec.exe (SCCM) or ivantiagent.exe, and the file hash matches the known good hash of the patching tool’s bundled beacon component.Scenario: Scheduled Vulnerability Scanning Jobs
CobaltStrike User-Agent string and specific HTTP POST intervals) to report scan results back to the central console.svc-nessus-scanner) running on dedicated jump hosts, specifically filtering for connections where the destination IP is within the internal management subnet (e.g., 10.x.x.x or 192.168.100.x).Scenario: DevOps Pipeline Artifact Distribution