In this section
TH1.1 Formulating Hunt Hypotheses
What makes a hypothesis testable
A good hunt hypothesis has four properties. Miss any one of them and the hunt degrades — either producing results you cannot interpret or consuming hours on a question you cannot answer with the available data.
Specific. The hypothesis names a technique, a behavior, or an indicator. "There might be threats in our environment" is not a hypothesis. "Compromised accounts are using OAuth applications with Mail.ReadWrite permissions to maintain persistent mailbox access after password resets" is. The specificity determines what you query, what you look for in the results, and how you know when you are done.
// Hypothesis testability check — does the data exist?
// Replace the table name with whatever your hypothesis requires
let requiredTable = "AADNonInteractiveUserSignInLogs";
let requiredWindow = 30d;
union isfuzzy=true
(AADNonInteractiveUserSignInLogs
| where TimeGenerated > ago(requiredWindow)
| summarize EventCount = count(),
FirstEvent = min(TimeGenerated),
LastEvent = max(TimeGenerated))
// If EventCount is 0, the table is empty or not ingested
// If FirstEvent is recent but not 30 days ago, retention is shorter
// than your hypothesis window — adjust the scope accordingly
// Run this for every table your hypothesis requires
// before writing the hunt queriesTry it yourself
Exercise: Write three hypotheses from three different sources
Write one hypothesis from each of these three sources. Each must follow the formula: "If [attacker behavior], then [data source] will contain [observable indicator] that differs from [baseline]."
From prior incidents: Think about the last incident your team investigated. What questions did the investigation raise about wider scope? Write the hypothesis.
From ATT&CK coverage gaps: Pick one ATT&CK technique relevant to M365 that you believe has no detection rule in your environment (T1098.003 — Additional Cloud Roles, T1550.001 — Application Access Token, and T1114.002 — Remote Email Collection are common gaps). Write the hypothesis.
From environmental change: What changed in your M365 environment in the last 90 days? A new application deployed, a new conditional access policy, a new user population? Write a hypothesis about what that change might have exposed.
Evaluate each hypothesis against the four properties: specific? testable with your data? grounded? actionable? If any property is missing, refine until all four are met. These three hypotheses are your first hunting backlog entries.
The myth: The best threat hunters operate on intuition. They sense something is wrong and investigate until they find it. Hypotheses are an unnecessary constraint that limits creative investigation.
The reality: Intuition is valuable — experienced analysts develop pattern recognition that surfaces suspicions worth investigating. But intuition without structure produces undocumented, unrepeatable, unmeasurable work. The hypothesis does not replace intuition. It translates intuition into a testable prediction that can be confirmed, refuted, documented, and converted to a detection rule. "I have a feeling about OAuth apps" becomes "If an attacker consented to a high-privilege application, AuditLogs will contain Consent to application operations with Mail.ReadWrite or Files.ReadWrite.All permissions from non-admin users in the last 90 days." The intuition is the same. The hypothesis makes it operational.
Extend this approach
If your organization has a formal threat intelligence function (or subscribes to a TI platform like Recorded Future, Mandiant Advantage, or Microsoft Defender Threat Intelligence), integrate TI reports into the hypothesis backlog systematically. Each TI report that describes a technique relevant to M365 environments should produce a backlog entry within 48 hours. The SOC Operations course (Module S12.5) covers the TI-to-detection pipeline in detail. For hunting, the process is identical — except the output is a hunt hypothesis rather than a detection rule. The hypothesis tests whether the technique has already occurred in your environment during the period before the TI report was published.
References Used in This Subsection
- MITRE Corporation. "MITRE ATT&CK — Enterprise Matrix." https://attack.mitre.org
- MITRE ATT&CK Techniques referenced: T1098.003 (Additional Cloud Roles), T1550.001 (Application Access Token), T1114.002 (Remote Email Collection)
- Sqrrl (now Amazon). "A Framework for Cyber Threat Hunting." — hypothesis-driven hunting methodology reference
- Course cross-references: TH0.8 (readiness prerequisites), TH3 (ATT&CK coverage analysis), SOC Operations S12.5 (TI-to-detection pipeline)
You have time for one hunt this quarter. Do you hunt for the threat in the latest advisory or for the gap in your ATT&CK coverage matrix?
Hunt the coverage gap. Advisories describe threats that are CURRENT but may not target NE. Coverage gaps describe techniques that COULD target NE and would succeed undetected. The coverage gap hunt produces a detection rule (closing the gap permanently). The advisory-driven hunt produces a point-in-time assessment (confirming the specific threat is not present today). Both are valuable — but the coverage gap hunt has a longer-lasting impact because it produces a permanent detection improvement.
You understand the detection gap and the hunt cycle.
TH0 showed you what detection rules fundamentally cannot catch. TH1 gave you the hypothesis-driven methodology that closes that gap. Now you run the hunts.
- 10 complete hunt campaigns — from hypothesis through KQL execution through finding disposition, each campaign based on a real TTP
- 70 production hunt queries — every one mapped to MITRE ATT&CK and tested against realistic telemetry
- Advanced KQL for hunting — UEBA composite risk scoring, retroactive IOC sweeps, and hunt management metrics
- Hypothesis-Driven Hunt Toolkit lab pack — 30 days of realistic M365 and endpoint telemetry with multiple attack patterns seeded in
- TH16 — Scaling hunts across a team — the operating model for a production hunt program