This hunt targets adversary behavior characterized by the presence of specific Indicators of Compromise (IOCs) linked to the Remcos remote access trojan, which often establishes persistence and exfiltrates sensitive data from compromised endpoints. Proactively hunting for these signatures in Azure Sentinel is critical because early detection of Remcos activity allows the SOC team to isolate infected assets before the malware can expand its lateral movement or establish long-term command-and-control channels within the cloud environment.
Malware Family: Remcos Total IOCs: 11 IOC Types: domain, ip:port
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| ip:port | 94[.]199[.]45[.]148:443 | botnet_cc | 2026-07-10 | 75% |
| ip:port | 85[.]206[.]168[.]238:26076 | botnet_cc | 2026-07-10 | 75% |
| ip:port | 45[.]74[.]7[.]195:8015 | botnet_cc | 2026-07-10 | 75% |
| ip:port | 20[.]204[.]61[.]204:21891 | botnet_cc | 2026-07-10 | 75% |
| ip:port | 155[.]103[.]69[.]30:14647 | botnet_cc | 2026-07-10 | 75% |
| ip:port | 13[.]73[.]107[.]136:443 | botnet_cc | 2026-07-10 | 75% |
| domain | anubixfreedom001.duckdns.org | botnet_cc | 2026-07-10 | 75% |
| ip:port | 102[.]220[.]160[.]125:56793 | botnet_cc | 2026-07-10 | 100% |
| ip:port | 172[.]111[.]163[.]176:65070 | botnet_cc | 2026-07-10 | 100% |
| ip:port | 172[.]111[.]225[.]72:56090 | botnet_cc | 2026-07-10 | 100% |
| ip:port | 198[.]135[.]51[.]238:2404 | botnet_cc | 2026-07-10 | 100% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - Remcos
let malicious_ips = dynamic(["198.135.51.238", "102.220.160.125", "85.206.168.238", "155.103.69.30", "13.73.107.136", "20.204.61.204", "94.199.45.148", "172.111.163.176", "172.111.225.72", "45.74.7.195"]);
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(["198.135.51.238", "102.220.160.125", "85.206.168.238", "155.103.69.30", "13.73.107.136", "20.204.61.204", "94.199.45.148", "172.111.163.176", "172.111.225.72", "45.74.7.195"]);
DeviceNetworkEvents
| where RemoteIP in (malicious_ips)
| project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, ActionType
| order by Timestamp desc
// Hunt for DNS queries to known malicious domains
// Source: ThreatFox - Remcos
let malicious_domains = dynamic(["anubixfreedom001.duckdns.org"]);
DnsEvents
| where Name has_any (malicious_domains)
| project TimeGenerated, Computer, Name, IPAddresses, QueryType
| order by TimeGenerated desc
| Sentinel Table | Notes |
|---|---|
CommonSecurityLog | Ensure this data connector is enabled |
DeviceNetworkEvents | Ensure this data connector is enabled |
DnsEvents | Ensure this data connector is enabled |
Here are 4 specific false positive scenarios for the ThreatFox: Remcos IOCs detection rule in an enterprise environment, along with suggested filters or exclusions:
Endpoint Protection Scanning of Quarantine Folders
svc-crowdstrike or Local System) where the process path is within the known security tool installation directory and the target file resides in a designated quarantine path (e.g., C:\ProgramData\ThreatIntel\Samples).Automated Threat Intelligence Feed Ingestion
Daily-IOC-Ingestion-Job) and restrict the rule to only alert when the parent process is a user-interactive session rather than a background service account (NT AUTHORITY\SYSTEM or DOMAIN\svc-ti-ingest).Software Deployment via Configuration Management