← Back to Explore
kqlHunting
CloudWorker Abuse Detection
This query detects network connections to known malicious Cloudflare workers
Detection Query
//This query detects network connections to known malicious Cloudflare workers
let NetskopeCloudflareWorkers = externaldata(Url: string)[@"https://raw.githubusercontent.com/netskopeoss/NetskopeThreatLabsIOCs/main/Phishing/CloudflareWorkers/IOCs/README.md"] with (format="csv", ignoreFirstRecord=True);
let CloudFlareWorkers = NetskopeCloudflareWorkers
| where Url <> "```text" //ParseOutJunk
| where Url <> "- **URLs**"
| where Url <> "```"
| extend domain = split(Url,'/')
| extend RemoteUrl = replace_string(strcat(domain[1],domain[2]),'[.]','.')
| distinct RemoteUrl;
DeviceNetworkEvents
| where RemoteUrl in (CloudFlareWorkers) //example, use as you please
| extend VT_domain = iff(isnotempty(RemoteUrl),strcat(@"https://www.virustotal.com/gui/domain/",RemoteUrl),RemoteUrl)Data Sources
DeviceNetworkEvents
Platforms
windows
Tags
defenderioc
Raw Content
//This query detects network connections to known malicious Cloudflare workers
let NetskopeCloudflareWorkers = externaldata(Url: string)[@"https://raw.githubusercontent.com/netskopeoss/NetskopeThreatLabsIOCs/main/Phishing/CloudflareWorkers/IOCs/README.md"] with (format="csv", ignoreFirstRecord=True);
let CloudFlareWorkers = NetskopeCloudflareWorkers
| where Url <> "```text" //ParseOutJunk
| where Url <> "- **URLs**"
| where Url <> "```"
| extend domain = split(Url,'/')
| extend RemoteUrl = replace_string(strcat(domain[1],domain[2]),'[.]','.')
| distinct RemoteUrl;
DeviceNetworkEvents
| where RemoteUrl in (CloudFlareWorkers) //example, use as you please
| extend VT_domain = iff(isnotempty(RemoteUrl),strcat(@"https://www.virustotal.com/gui/domain/",RemoteUrl),RemoteUrl)