Query Details

Url Click Events To Open Phish URL

Query

//This Query detects UrlClickEvents to URLs listed on OpenPhish Database followed by a risky sign in to this Account
//Recommended Action: Mark User as Compromised
let OpenPhish = externaldata (Url: string) ["https://openphish.com/feed.txt"];
UrlClickEvents
| join kind=inner OpenPhish on $left.Url == $right.Url
| project Timestamp, AccountUpn, Url
| join kind=inner AADSignInEventsBeta on $left.AccountUpn == $right.AccountUpn
| where Timestamp > Timestamp1
| where isnotempty(RiskLevelDuringSignIn) 

Explanation

This query is designed to identify potentially compromised user accounts by detecting two specific events:

  1. URL Click Events: It first checks for instances where users have clicked on URLs that are listed in the OpenPhish database, which is a known source of phishing URLs.

  2. Risky Sign-Ins: It then looks for any risky sign-in events associated with the same user accounts that clicked on the phishing URLs.

Here's a step-by-step breakdown of what the query does:

  • Load OpenPhish Data: It imports a list of phishing URLs from the OpenPhish database.

  • Identify Phishing URL Clicks: It checks for URL click events where the clicked URL matches one from the OpenPhish list.

  • Project Relevant Data: It extracts the timestamp, user account (AccountUpn), and URL from these events.

  • Join with Sign-In Events: It joins this data with Azure Active Directory (AAD) sign-in events to find corresponding sign-ins by the same user accounts.

  • Filter for Risky Sign-Ins: It filters the results to include only those sign-in events that occurred after a certain timestamp (Timestamp1) and have a non-empty risk level, indicating a potentially risky sign-in.

Recommended Action: If such events are detected, the user account should be marked as compromised for further investigation or action.

Details

Benjamin Zulliger profile picture

Benjamin Zulliger

Released: November 10, 2024

Tables

UrlClickEventsAADSignInEventsBeta

Keywords

UrlClickEventsAADSignInEventsBetaOpenPhishAccountUpnUrlRiskLevelDuringSignIn

Operators

externaldatajoinonprojectwhereisnotempty

Actions