← Back to SOC feed Coverage →

Message with URL listed on OpenPhish delivered into Inbox

kql MEDIUM Azure-Sentinel
T1566
EmailEventsEmailUrlInfo
huntingmicrosoftofficial
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 Azure-Sentinel →
Retrieved: 2026-05-10T11:00:00Z · Confidence: medium

Hunt Hypothesis

Adversaries may be using OpenPhish-hosted URLs in phishing emails to compromise users and exfiltrate data. SOC teams should proactively hunt for this behavior in Azure Sentinel to identify and mitigate potential phishing campaigns before they lead to successful breaches.

KQL Query

let PhishingURLs = externaldata(url: string)
[
    "https://raw.githubusercontent.com/openphish/public_feed/refs/heads/main/feed.txt"
]
with (format="txt"); // CSV and JSON formats are also valid formats if using the premium feeds
EmailUrlInfo
| where Url in (PhishingURLs)
| join EmailEvents on NetworkMessageId
| where LatestDeliveryAction == "Delivered"

Analytic Rule Definition

id: d16f57cb-6a39-4e90-ae25-8902c68232ab
name: Message with URL listed on OpenPhish delivered into Inbox
description: |
  This query can be used as a Custom Detection Rule (CDR) to trigger when a potentially malicious email with a URL from OpenPhish was delivered to Inbox
description-detailed: |
  This query can be used as a Custom Detection Rule (CDR) to trigger when a potentially malicious email with a URL from OpenPhish was delivered to Inbox. https://learn.microsoft.com/en-us/defender-xdr/custom-detection-rules
requiredDataConnectors:
- connectorId: MicrosoftThreatProtection
  dataTypes:
  - EmailUrlInfo
tactics:
  - InitialAccess
relevantTechniques:
  - T1566
query: |
  let PhishingURLs = externaldata(url: string)
  [
      "https://raw.githubusercontent.com/openphish/public_feed/refs/heads/main/feed.txt"
  ]
  with (format="txt"); // CSV and JSON formats are also valid formats if using the premium feeds
  EmailUrlInfo
  | where Url in (PhishingURLs)
  | join EmailEvents on NetworkMessageId
  | where LatestDeliveryAction == "Delivered"
version: 1.0.0

Required Data Sources

Sentinel TableNotes
EmailEventsEnsure this data connector is enabled
EmailUrlInfoEnsure this data connector is enabled

MITRE ATT&CK Context

References

False Positive Guidance

Original source: https://github.com/Azure/Azure-Sentinel/blob/main/Hunting Queries/Microsoft 365 Defender/Email and Collaboration Queries/Custom Detections/Message with URL listed on OpenPhish delivered into Inbox.yaml