Query Details
// CVE-2025-33073 Detection
// https://www.synacktiv.com/publications/ntlm-reflection-is-dead-long-live-ntlm-reflection-an-in-depth-analysis-of-cve-2025
let QueryPeriod = 1h;
let HostList =
DeviceInfo
| extend Hostname = tostring(split(DeviceName, '.')[0])
| distinct Hostname;
DnsEvents
| where TimeGenerated > ago(QueryPeriod)
| extend DNSQuery = tolower(Name)
| where DNSQuery startswith "localhost" or DNSQuery has_any(HostList)
| where not (DNSQuery has ".")
| where DNSQuery matches regex @"[A-Za-z0-9+\/]{20,}={0,2}"
This query is designed to detect potential exploitation attempts related to the CVE-2025-33073 vulnerability, which involves NTLM reflection attacks. Here's a simplified breakdown of what the query does:
Query Period: It sets a time window of 1 hour (1h) to look back at the DNS events.
Host List Creation: It extracts a list of distinct hostnames from the DeviceInfo table. This is done by taking the DeviceName, splitting it by the dot (.), and taking the first part as the hostname.
DNS Events Filtering: The query then filters DNS events from the DnsEvents table that were generated within the last hour.
DNS Query Processing:
.), focusing on non-fully qualified domain names.Overall, this query is looking for suspicious DNS queries that could be indicative of NTLM reflection attacks, focusing on queries that are local or match known hostnames and exhibit unusual characteristics.

Steven Lim
Released: June 16, 2025
Tables
Keywords
Operators