← Back to SOC feed Coverage →

ThreatFox: XWorm IOCs

ioc-hunt HIGH ThreatFox
CommonSecurityLogDeviceNetworkEventsDnsEventsUrlClickEvents
iocthreatfoxwin-xworm
This rule was pulled from an open-source repository and enriched with AI. Validate in a test environment before deploying to production.
View original rule at ThreatFox →
Retrieved: 2026-09-10T11:00:00Z · Confidence: high

Hunt Hypothesis

This hypothesis targets the presence of XWorm, a multi-stage malware that establishes persistence and exfiltrates data through compromised credentials and phishing vectors. Proactively hunting for these IOCs in Azure Sentinel allows the SOC to identify and isolate affected assets before the adversary leverages lateral movement to expand their foothold within the environment.

IOC Summary

Malware Family: XWorm Total IOCs: 6 IOC Types: domain, url, ip:port

TypeValueThreat TypeFirst SeenConfidence
ip:port103[.]83[.]86[.]96:4001botnet_cc2026-09-1075%
ip:port91[.]239[.]6[.]97:4449botnet_cc2026-09-1075%
domainwindowsupgrade[.]3utilities.combotnet_cc2026-09-1075%
ip:port107[.]149[.]8[.]250:54321botnet_cc2026-09-1075%
ip:port185[.]29[.]10[.]23:1012botnet_cc2026-09-1075%
urlhxxp://209[.]145[.]51[.]44/keepon.exepayload_delivery2026-09-10100%

KQL: Ip Hunt

// Hunt for network connections to known malicious IPs
// Source: ThreatFox - XWorm
let malicious_ips = dynamic(["91.239.6.97", "103.83.86.96", "185.29.10.23", "107.149.8.250"]);
CommonSecurityLog
| where DestinationIP in (malicious_ips) or SourceIP in (malicious_ips)
| project TimeGenerated, SourceIP, DestinationIP, DestinationPort, DeviceAction, Activity
| order by TimeGenerated desc

KQL: Ip Hunt Device

// Hunt in Defender for Endpoint network events
let malicious_ips = dynamic(["91.239.6.97", "103.83.86.96", "185.29.10.23", "107.149.8.250"]);
DeviceNetworkEvents
| where RemoteIP in (malicious_ips)
| project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, ActionType
| order by Timestamp desc

KQL: Domain Hunt

// Hunt for DNS queries to known malicious domains
// Source: ThreatFox - XWorm
let malicious_domains = dynamic(["windowsupgrade.3utilities.com"]);
DnsEvents
| where Name has_any (malicious_domains)
| project TimeGenerated, Computer, Name, IPAddresses, QueryType
| order by TimeGenerated desc

KQL: Url Hunt

// Hunt for access to known malicious URLs
// Source: ThreatFox - XWorm
let malicious_urls = dynamic(["http://209.145.51.44/keepon.exe"]);
UrlClickEvents
| where Url has_any (malicious_urls)
| project Timestamp, AccountUpn, Url, ActionType, IsClickedThrough
| order by Timestamp desc

Required Data Sources

Sentinel TableNotes
CommonSecurityLogEnsure this data connector is enabled
DeviceNetworkEventsEnsure this data connector is enabled
DnsEventsEnsure this data connector is enabled
UrlClickEventsEnsure this data connector is enabled

References

False Positive Guidance

Original source: https://threatfox.abuse.ch/browse/malware/win.xworm/