This detection rule identifies potential compromise by monitoring network and endpoint activity against nine specific indicators of unknown malware that may not yet be covered by existing signatures. A proactive hunt is essential in Azure Sentinel to rapidly isolate these emerging threats before they establish persistence or propagate laterally across the environment, thereby minimizing dwell time for novel malicious actors.
Malware Family: Unknown malware Total IOCs: 9 IOC Types: domain, ip:port, url
| Type | Value | Threat Type | First Seen | Confidence |
|---|---|---|---|---|
| url | hxxp://165[.]22[.]225[.]110/commands | botnet_cc | 2026-08-28 | 100% |
| url | hxxp://165[.]22[.]225[.]110/responses.php | botnet_cc | 2026-08-28 | 100% |
| ip:port | 213[.]165[.]50[.]109:8787 | botnet_cc | 2026-08-28 | 75% |
| ip:port | 213[.]165[.]50[.]109:8080 | botnet_cc | 2026-08-28 | 75% |
| domain | guard7.barnfabric.click | botnet_cc | 2026-08-28 | 100% |
| ip:port | 82[.]165[.]202[.]90:443 | botnet_cc | 2026-08-28 | 75% |
| ip:port | 102[.]117[.]171[.]26:7443 | botnet_cc | 2026-08-28 | 75% |
| ip:port | 20[.]119[.]73[.]195:7443 | botnet_cc | 2026-08-28 | 100% |
| ip:port | 45[.]141[.]148[.]134:2002 | botnet_cc | 2026-08-28 | 75% |
// Hunt for network connections to known malicious IPs
// Source: ThreatFox - Unknown malware
let malicious_ips = dynamic(["20.119.73.195", "45.141.148.134", "102.117.171.26", "82.165.202.90", "213.165.50.109"]);
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(["20.119.73.195", "45.141.148.134", "102.117.171.26", "82.165.202.90", "213.165.50.109"]);
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 - Unknown malware
let malicious_domains = dynamic(["guard7.barnfabric.click"]);
DnsEvents
| where Name has_any (malicious_domains)
| project TimeGenerated, Computer, Name, IPAddresses, QueryType
| order by TimeGenerated desc
// Hunt for access to known malicious URLs
// Source: ThreatFox - Unknown malware
let malicious_urls = dynamic(["http://165.22.225.110/commands", "http://165.22.225.110/responses.php"]);
UrlClickEvents
| where Url has_any (malicious_urls)
| project Timestamp, AccountUpn, Url, ActionType, IsClickedThrough
| order by Timestamp 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 |
UrlClickEvents | Ensure this data connector is enabled |
Here are 5 specific false positive scenarios for the ThreatFox: Unknown malware IOCs rule, including targeted filters and exclusions:
Scenario: Enterprise Endpoint Protection Scans
Destination Port 443 AND Source IP Range: 10.x.x.x for Defender).Scenario: Automated Software Deployment via SCCM
ccmsetup.exe and WUAUService when the destination is within the corporate DMZ IP range, specifically during defined maintenance windows (e.g., 02:00–04:00 UTC).Scenario: Cloud Backup Agent Heartbeats
VeeamAgent.exe or rubrik-agent AND