This hunt detects adversary activity involving command and control communications linked to the AdaptixC2 threat actor by monitoring for matches against a curated set of 14 specific indicators of compromise. Proactively hunting for these IOCs in Azure Sentinel is critical to identify early-stage lateral movement or data exfiltration attempts before they escalate into full-blown incidents within the organization’s cloud infrastructure.
Malware Family: AdaptixC2 Total IOCs: 14 IOC Types: ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 192[.]3[.]139[.]18:8080 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 138[.]124[.]84[.]7:8080 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 138[.]124[.]84[.]7:443 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 138[.]124[.]84[.]7:80 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 154[.]19[.]229[.]85:4321 | botnet_cc | 2026-07-16 | 75% |
| ip:port | 192[.]3[.]139[.]18:80 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 192[.]3[.]139[.]18:8443 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 18[.]226[.]81[.]143:8080 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 18[.]226[.]81[.]143:80 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 146[.]70[.]87[.]96:6579 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 18[.]226[.]81[.]143:443 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 185[.]213[.]20[.]250:8080 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 146[.]70[.]87[.]64:6579 | botnet_cc | 2026-07-16 | 100% |
| ip:port | 185[.]213[.]20[.]250:80 | botnet_cc | 2026-07-16 | 100% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - AdaptixC2
let malicious_ips = dynamic(["185.213.20.250", "18.226.81.143", "154.19.229.85", "146.70.87.64", "192.3.139.18", "138.124.84.7", "146.70.87.96"]);
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(["185.213.20.250", "18.226.81.143", "154.19.229.85", "146.70.87.64", "192.3.139.18", "138.124.84.7", "146.70.87.96"]);
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 specific false positive scenarios for the ThreatFox: AdaptixC2 IOCs rule, including suggested filters and exclusions tailored for an enterprise environment:
Endpoint Protection Scanning of Quarantine Archives
Quarantine folder where AdaptixC2-related malware samples were previously isolated. During a scheduled deep scan, the agent generates network telemetry for these static files, triggering the rule against the known IOCs even though no active infection is present.svc-crowdstrike, LocalSystem) where the destination port is restricted to internal management ports (8443, 9901) and the process path contains \CrowdStrike\ or \Program Files\Microsoft Defender\.Security Information & Event Management (SIEM) Enrichment Jobs
siem-prod-01) and exclude any traffic where the user agent string contains keywords like Splunk-Forwarder, QRadar-Collector, or ThreatIntel-Sync.Software Deployment via Configuration Management