Threat Hunting Bootcamp
Proactive detection beyond alerts — hypothesis-driven hunting, SIEM hunting with KQL and SPL, endpoint hunting with Velociraptor and Sysmon, network hunting, TI-driven hunt operations, and building a detection engineering programme. All tools free.
Threat hunting is the proactive, human-driven process of searching through networks and endpoint data to find attackers who have evaded automated detection. It is not running reports. It is not reviewing alerts. It is starting with a question — "Are there signs of lateral movement in our environment?" — and systematically searching for evidence that answers it, regardless of whether any alert was triggered.
The philosophical foundation of threat hunting is the Assume Breach model: operate as if adversaries are already inside your network, because sophisticated attackers frequently are — undetected, for months. The 2023 IBM Cost of Data Breach report found the global average dwell time before detection is 204 days. Hunters find attackers during that dwell period. Alerts find attackers only when they make a detectable mistake — and sophisticated actors often don't.
The key distinction between a threat hunter and a SOC analyst: a SOC analyst investigates what the SIEM told them to look at. A threat hunter decides what to look for based on adversary intelligence, environmental knowledge, and analytical reasoning — then goes looking for it with no guaranteed result.
Intelligence-driven hunting: "CISA just published an advisory about Volt Typhoon targeting critical infrastructure using living-off-the-land techniques. We operate power infrastructure. Let me hunt for these specific behaviours." Starts with external threat intelligence, hunts for specific indicators or TTPs in your environment.
Data-driven / baseline hunting: "Show me the top 10 processes that make network connections we have never seen before." No pre-formed hypothesis — statistical outlier detection. Identifies anomalies that do not match the environment's baseline. Best for discovering novel attacks or threats with no prior intelligence.
Every hunt starts with a structured hypothesis. An unstructured hunt — "look for anything suspicious" — produces inconsistent results and wastes analyst time. A structured hypothesis frames the exact adversary behaviour being hunted, the data sources that would contain evidence, the specific queries to run, and the criteria for a positive finding.
A good hunt hypothesis has four components: Actor (who are we hunting — a specific group, or a technique common to many actors?), Technique (what ATT&CK technique or behaviour pattern?), Data source (where would evidence exist — Windows event logs, EDR telemetry, network traffic?), and Observable (what specific artefact would confirm the hypothesis — a specific process tree, a registry key, a network pattern?).
Hypothesis Statement: "We believe [threat actor / actor category] may be using [ATT&CK technique ID and name] in our environment, evidenced by [specific observable]. We expect to find [specific artefact] in [specific data source]."
ATT&CK Mapping: Technique ID, sub-technique if applicable, tactic
Risk Rating: What is the blast radius if this hypothesis is confirmed? How likely is it based on threat intelligence?
Data Sources Required: Exactly which log sources are needed. If they are not available, note the collection gap.
Queries: The specific SIEM/EDR queries to execute
Success Criteria: What constitutes a confirmed finding? What constitutes a clean result (absence of the behaviour)?
Time Estimate: How long to execute this hunt? How often should it be repeated?
Hunting is only as good as your data. If you do not have process creation logs, you cannot hunt for process injection. If you do not have DNS logs, you cannot hunt for DNS tunneling. Before designing hunts, you must know exactly what data your environment collects, how long it is retained, how quickly it is available, and what is missing. A data source gap inventory is the first deliverable of any new hunting programme.
The MITRE ATT&CK Data Sources component (part of ATT&CK since 2021) maps each technique to the data sources that could detect it. This is the reference for understanding what you need to collect to detect specific techniques. If a technique you want to hunt for requires "Network Traffic: Network Connection Creation" and you have no network flow logs — you have a collection gap, not a detection gap. Collection gaps must be resolved before hunting gaps.
Security log (4624/4625 logon, 4688 process creation, 4698 sched task, 4720 user created, 4732 group membership, 4776 NTLM auth) · System log (7045 service installed) · PowerShell/Operational (4103 module logging, 4104 script block logging) · Task Scheduler/Operational · Windows Defender/Operational
Sysmon (essential — free, Microsoft): Process creation with full command line (Event 1) · Network connections with PID (Event 3) · File creation time changes/timestomping (Event 2) · Raw disk access (Event 9) · CreateRemoteThread injection (Event 8) · Named pipe events (Event 17/18) · Registry modification (Event 13) · DNS queries (Event 22) · File creation (Event 11) · Process access (Event 10 — LSASS access for cred dumping)
EDR telemetry: More granular than Sysmon — parent-child process relationships, loaded DLLs, memory allocation events, network connections with full metadata. The richest endpoint data source if available.
Network data: VPC/firewall flow logs (who talked to whom, volume, timing) · DNS logs (what domains were queried, from which hosts) · Proxy/web gateway logs (HTTP URLs, user agents, response sizes) · NetFlow/IPFIX (connection metadata without content) · Full PCAP (everything — expensive to store long term).
Cloud/SaaS logs: CloudTrail (AWS API calls) · Azure Activity Log · Google Workspace audit log · Office 365 Unified Audit Log · Okta/Azure AD sign-in logs (authentication patterns, impossible travel, MFA anomalies).
sysmon64.exe -accepteula -i sysmonconfig.xml. Key events to ensure are enabled: 1, 2, 3, 7, 8, 10, 11, 13, 15, 17, 18, 22.
auditpol /set /subcategory:"Process Creation" /success:enable /failure:enable auditpol /set /subcategory:"Logon" /success:enable /failure:enable auditpol /set /subcategory:"Account Logon" /success:enable /failure:enableEnable PowerShell Script Block Logging: HKLM\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging → EnableScriptBlockLogging = 1
hayabusa.exe csv-timeline -d /path/to/evtx --profile verbose -o timeline.csvThis gives you a quick hunt result on any machine's event logs.