This hypothesis targets adversaries establishing command-and-control channels through known malicious URLs, a behavior that often precedes data exfiltration or lateral movement. Proactively hunting for these specific indicators in Azure Sentinel allows the SOC to identify compromised assets early, reducing the dwell time of threats that may otherwise evade standard signature-based detections.
Threat: c2-monitor-auto Total URLs: 4 Active URLs: 1
| URL | Status | Threat | Date Added |
|---|---|---|---|
hxxp://91.92.242.236/files-129312398/files/file_b4456f15b424d604.exe | online | malware_download | 2026-09-15 |
hxxp://91.92.242.236/files-129312398/files/file_78ade3c9abb0bfbb.exe | offline | malware_download | 2026-09-15 |
hxxp://91.92.242.236/files-129312398/files/file_02d328715076f2b1.exe | offline | malware_download | 2026-09-15 |
hxxp://91.92.242.236/files-129312398/files/file_2f719905826df92a.exe | offline | malware_download | 2026-09-15 |
// Hunt for DNS resolution of URLhaus malicious domains
// Threat: c2-monitor-auto
let malicious_domains = dynamic(["91.92.242.236"]);
DnsEvents
| where Name has_any (malicious_domains)
| project TimeGenerated, Computer, Name, IPAddresses
| order by TimeGenerated desc
// Hunt for web traffic to URLhaus malicious domains
let malicious_domains = dynamic(["91.92.242.236"]);
CommonSecurityLog
| where RequestURL has_any (malicious_domains) or DestinationHostName has_any (malicious_domains)
| project TimeGenerated, SourceIP, RequestURL, DestinationHostName, DeviceAction
| order by TimeGenerated desc
| Sentinel Table | Notes |
|---|---|
CommonSecurityLog | Ensure this data connector is enabled |
DnsEvents | Ensure this data connector is enabled |
Postman or curl and the destination IP belongs to the internal 10.0.0.0/8 staging subnet, or specifically exclude the staging-api-gateway service account.Ansible or Chef) fetches a list of approved external resources or vulnerability signatures from a public repository, and one of the URLs in the manifest matches a known malicious entry due to a shared path structure or temporary hosting overlap.
python.exe or node.exe running under the compliance-audit scheduled task, and the destination domain is in the raw.githubusercontent.com or cdn.jsdelivr.net allowlist.bit.ly or t.ly) for a campaign, and the shortened URL resolves to a landing page that has been temporarily compromised or is hosted on a server that shares a C2 tag in the URLhaus database due to a recent takedown or misconfiguration.
Mozilla/5.0 (browser traffic) and the source IP is within the Marketing-Team VLAN, or specifically exclude domains bit.ly and t.ly if the HTTP status code is 200 and the content-type is text/html.