PRACTITIONER GUIDE | THREAT HUNTING
Practitioner GuideUpdated 16 min read

When Your EDR Says Clean but You Know Something Is Wrong: A Threat Hunter's Manual Checklist

20%
of confirmed breaches involve attacker techniques that EDR behavioral rules did not fire on (Red Canary Threat Report)
280 days
average attacker dwell time without proactive threat hunting, what this checklist is designed to compress
99 days
median dwell time reduction observed in organizations with active threat hunting programs vs. alert-only response
5 hunt phases
covered in this checklist: process anomalies, network beacons, persistence mechanisms, credential theft, lateral movement

SponsoredRetool

Retool's new app builder is where AI-generated code ships safely

Building apps with AI is easy. Getting them to production safely is another story.

Start building for free today

Your EDR is not infallible. Modern threat actors who understand EDR detection logic specifically engineer their tooling to avoid behavioral signatures, operate exclusively through legitimate system binaries, use memory-only payloads with no disk artifacts, and operate at a pace that keeps their activity below anomaly detection thresholds. When you have a signal that something is wrong (unusual outbound traffic, a user reporting unexpected behavior, a canary token that fired, or just investigative intuition built from pattern recognition), the manual checklist below is the investigation path that finds what automated tools miss.

Why EDR Misses Sophisticated Attacks

Understanding why your EDR missed something is as important as finding what it missed. EDR detection logic falls into two categories: signature-based (matching known bad file hashes, known C2 domains, known malware strings) and behavioral (identifying patterns of activity that indicate malicious intent regardless of the specific tool used).

Signature gaps are obvious: new malware or custom tooling that has never been seen before will not match any signature. Less obvious are the behavioral gaps.

Behavioral detection thresholds are tuned to reduce false positives. An attacker who adds a 30-second sleep between commands, who limits credential access attempts to three per hour, who uses WMI instead of PowerShell because your EDR has tighter PowerShell coverage, and who keeps their C2 beacon interval at 2 hours instead of 5 minutes can operate below the noise floor of behavioral detection.

Living-off-the-land techniques use legitimate Windows binaries (certutil, mshta, regsvr32, wscript, msiexec) that your EDR must handle carefully to avoid false positives in environments where these tools are used legitimately. An attacker who certutil-decodes a payload hosted at a legitimate URL can look indistinguishable from a software deployment script.

Memory-only threats that never write to disk have no file hash to signature-match and limited disk forensic artifacts. Process injection techniques that run malicious code inside a legitimate process (explorer.exe, svchost.exe) may generate a behavioral alert or may not, depending on the specific injection method and your EDR's coverage of that technique.

Starting Point: What Is Your Anomaly Signal?

Before you begin manual investigation, document the specific anomaly that triggered your concern. This matters because it determines where you start and what you are looking for.

Common starting signals and what they suggest:

Unusual outbound network connection: Start with network investigation (DNS lookups, connection timing, data volume). The anomaly may be C2 beaconing or data staging for exfiltration.

Canary token fired: Start with the specific user account and host that accessed the token. Look for lateral movement from that account.

Authentication anomaly (login from unusual location, unusual time): Start with the specific account. Look for actions taken after the anomalous login.

User-reported unexpected behavior (browser redirect, application crash, unexpected admin prompt): Start with the specific endpoint. Look for recently installed software, scheduled tasks, and persistence mechanisms.

SIEM alert that fired once and not again: May indicate a single exploitation event or a test probe. Look for actions in the 30-minute window around the alert timestamp.

File integrity monitoring alert on a system file: Start with the specific file. Verify the hash against known-good versions. Look for processes that wrote to that path.

Free daily briefing

Briefings like this, every morning before 9am.

Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.

Persistence Mechanism Checklist

Attackers establish persistence so they survive reboots and maintain access even if the initial access vector is patched. Check all of the following on any host you are investigating.

Scheduled Tasks: On Windows, run: schtasks /query /fo LIST /v | findstr /i "task name|run as|task to run" Look for tasks with names that do not match any known software, tasks that run at unusual times (3-5 AM), tasks that execute scripts from temp directories or user profile directories, and tasks with encoded PowerShell commands in the task action.

Registry Run Keys: Check: HKCU\Software\Microsoft\Windows\CurrentVersion\Run and HKLM\Software\Microsoft\Windows\CurrentVersion\Run Also check: HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon (Userinit and Shell values should be standard) And: HKLM\SYSTEM\CurrentControlSet\Services (new services with random names or names resembling legitimate services)

Startup Folders: C:\Users[username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

WMI Subscriptions (frequently missed by basic audits): Run in PowerShell: Get-WMIObject -Namespace root\subscription -Class __EventFilter Get-WMIObject -Namespace root\subscription -Class __EventConsumer Get-WMIObject -Namespace root\subscription -Class __FilterToConsumerBinding Any results here indicate a WMI subscription that could be used for persistent execution. Legitimate WMI subscriptions are rare in most environments.

DLL Hijacking: Check application directories for DLLs that do not belong there. Attackers place malicious DLLs in directories that are searched before the legitimate DLL path. Use Sigcheck (Sysinternals) to verify DLL signatures: sigcheck -a -h -s [path]

Office Add-ins: Check: HKCU\Software\Microsoft\Office[version][application]\Addins List loaded add-ins in Word and Excel. Malicious Office add-ins are a persistence mechanism that survives most EDR scans because they execute within the legitimate Office process.

Network Investigation Checklist

Network indicators often reveal compromise that endpoint tools miss because the attacker's tools are designed to look benign on the endpoint but the network behavior remains distinctive.

Active Connections: netstat -ano (Windows) or ss -tulnp (Linux) For each established connection to an external IP, look up the IP in threat intelligence (VirusTotal, AbuseIPDB, Shodan). Focus on connections to IP addresses rather than hostnames (malware that resolves a hardcoded IP bypasses DNS-based detection), connections on unusual ports, and connections with small but regular data transfer (C2 beaconing).

DNS Query History: If your DNS resolver logs queries (most enterprise DNS servers do), search for:

  • Newly registered domains (under 30 days old). Use WHOIS or a threat intel API to check registration date.
  • Domains with high-entropy names (randomized characters: aGf8k2mN9.com is more suspicious than supportdesk.company.com).
  • DGA (domain generation algorithm) patterns: sequences of similarly-structured domain names queried by the same host over time.
  • DNS TXT record queries (sometimes used for C2 data exfiltration in DNS tunneling).
  • Uncommon top-level domains (.tk, .ga, .ml, .cf are heavily abused by malware C2).

Network Connection Timing: C2 beacons are often the only network artifact of a memory-resident implant. They are identifiable by regularity: a connection to the same external IP every N minutes, often with a small jitter to avoid exact-interval detection. Pull 24-48 hours of connection logs for the host and plot connection timing to any external IPs you cannot identify as legitimate. Regular intervals of 5-60 minutes to an IP that is not associated with a known service are a high-confidence C2 indicator.

Data Volume Anomalies: Look for hosts with significantly higher than baseline outbound data volume, particularly outside business hours. Data exfiltration often occurs at night. Compare the host's outbound bytes for the last 7 days against its rolling 30-day average. A spike of 3-5x average is worth investigating even if the destination looks benign (attackers use legitimate cloud services like Dropbox, Google Drive, and OneDrive for exfiltration).

Process and Memory Investigation Checklist

Memory-resident threats and process injection require investigation techniques that EDR behavioral detection may not catch.

Process Tree Review: Use Process Monitor or Process Explorer (Sysinternals) on a live host. Look for:

  • Processes spawned by unusual parents (cmd.exe spawned by Excel, PowerShell spawned by a web browser, msiexec spawning cmd.exe)
  • Processes with no visible window running as SYSTEM or with elevated privileges
  • Processes with legitimate names (svchost.exe, explorer.exe) running from unusual paths (C:\Users[user]\AppData instead of C:\Windows\System32)
  • Multiple instances of a process that should have only one (two svchost.exe processes running from the same parent but with different command line arguments)

Hollow Processes: Process hollowing creates a legitimate process in a suspended state and replaces its memory with malicious code. The process looks legitimate in the process list but is executing attacker code. Indicators:

  • Process executable path does not match the loaded executable in memory (check with Process Explorer: right-click process, Properties, Image tab)
  • Process has unexpected DLLs loaded (compare with a known-good system)
  • Process has memory regions marked as executable that were written by a different process

Memory Injection Indicators: Look for processes with anonymous (non-file-backed) executable memory regions. In Process Explorer: highlight processes with non-file-backed executable regions in red under View > Select Columns > Process Memory > Private Bytes. Use Volatility (the memory forensics framework) on a captured memory image to identify injected code regions.

LSASS Access: Credential dumping almost always involves accessing the LSASS process (lsass.exe). Check Windows Security Event 4656 and 4663 (if object access auditing is enabled) for unexpected processes opening LSASS with read permissions. Sysmon Event ID 10 (ProcessAccess) specifically logs access to LSASS and is a reliable indicator of credential dumping attempts.

Credential Abuse Investigation Checklist

Once an attacker has credentials, their activity often looks legitimate at the endpoint level because they are using real accounts. The investigation must focus on behavioral anomalies at the identity layer.

Recent Authentication Events: For the accounts associated with your anomaly signal, pull authentication logs for the past 30 days:

  • Logons from IP addresses not previously seen for that account
  • Logons at hours inconsistent with the user's normal pattern
  • Authentication to systems the user does not normally access
  • Pass-the-Hash indicators: Event ID 4624 with LogonType 3 (network logon) and authentication package NTLM, particularly if the account normally uses Kerberos
  • Pass-the-Ticket indicators: Event ID 4769 (Kerberos service ticket request) with unusual encryption type (0x17 = RC4, which is weak and sometimes used in Pass-the-Ticket attacks)

Kerberoastable Accounts: If an attacker has compromised any domain account, they can request Kerberos service tickets for any service account with a Service Principal Name (SPN) and crack the ticket offline. Look for Event ID 4769 with ticket encryption type 0x17 (RC4-HMAC) for service accounts. A spike in these events across multiple service accounts from a single source IP indicates Kerberoasting.

Group Membership Changes: Event ID 4732 (member added to security-enabled local group) and 4728/4756 (member added to global/universal security group). Attackers frequently add their compromised account to local administrator groups or to groups with privileged access. Check all group membership changes in the past 30 days for any high-privilege groups.

Service Account Anomalies: Service accounts should have highly predictable behavior: they authenticate from specific hosts, to specific services, at specific times. Any service account authentication from an unexpected host or to an unexpected service is a high-priority investigation item, because attackers frequently abuse service account credentials harvested from an initial foothold to move to other systems.

File System and Artifact Investigation Checklist

Even memory-only threats leave some disk artifacts during their operation. Common locations to check:

Temp and AppData Directories: C:\Windows\Temp, C:\Users[user]\AppData\Local\Temp, and C:\Users[user]\AppData\Roaming are frequently used for staging malicious files. Look for:

  • Executable files (.exe, .dll, .ps1, .bat, .vbs, .js, .hta)
  • Files with extensions that do not match their content (a .jpg that contains a PE executable)
  • Recently created files (within the timeframe of your anomaly signal)

Recycle Bin: Attackers sometimes use the Recycle Bin as a staging location. Check $Recycle.Bin in all drives, including mapped network drives.

Alternate Data Streams: Windows NTFS supports alternate data streams (ADS), which can hide content inside a normal file. Malware and attackers use ADS to hide executables or scripts. Use: dir /r on Windows or streams.exe from Sysinternals to list ADS on suspicious files.

Prefetch Files: Windows prefetch records evidence of program execution even after the executable has been deleted. Check C:\Windows\Prefetch for entries matching the timeframe of your anomaly. Prefetch files are named [EXECUTABLE_NAME]-[HASH].pf. The presence of a prefetch file for an executable that no longer exists on the system is a strong indicator of malware that cleaned up after itself.

ShimCache and Amcache: ShimCache (Application Compatibility Cache) and Amcache.hve are Windows registry and file artifacts that record program execution history. They are often more complete than prefetch. Use Eric Zimmerman's AppCompatCacheParser or AmcacheParser tools to parse these artifacts and identify executables that ran on the system.

When to Escalate to a Forensics Firm

Manual investigation has limits. Know when to call external support.

Escalate when:

  • Your investigation finds evidence of compromise but you cannot identify the initial access vector. An unidentified entry point means the attacker can return after remediation.
  • Evidence points to a sophisticated threat actor with custom tooling. Nation-state actors and advanced criminal groups require specialized forensic capabilities beyond what most internal teams maintain.
  • You need legally defensible evidence for regulatory reporting, law enforcement, or litigation. Chain-of-custody requirements for forensic evidence are strict, and evidence collected without proper handling may be challenged.
  • The scope appears to span multiple systems and you do not have the analyst capacity to investigate all of them simultaneously. Containment timing matters, and undiscovered compromised systems that remain active while you investigate others can undermine your response.
  • You found memory-only malware. Memory forensics requires specialized tooling (Volatility, Rekall) and expertise that most IR teams do not maintain.

When you do escalate, provide the forensics firm with your investigation notes, the specific anomaly signals that started your investigation, the systems you have already investigated, and the artifacts you have collected. Good documentation accelerates external forensic engagement significantly.

The bottom line

EDR platforms catch the majority of commodity threats but are engineered around trade-offs that sophisticated actors understand and exploit. The manual checklist covering persistence mechanisms, network timing, process memory, credential abuse, and disk artifacts gives you investigation coverage in the gaps that automated tools leave. Use it whenever your instincts say something is wrong but the tools say everything is fine. Document every step, preserve evidence before touching anything, and know when the scope of what you are finding exceeds what your team can handle without outside support.

Frequently asked questions

How do I threat hunt without a dedicated threat hunting team?

Most security teams do not have dedicated hunters. Effective threat hunting for a two to three person team means scheduling specific investigation sessions (2-4 hours per week) with a predefined focus area, rather than waiting for alerts to trigger investigation. Each session picks one MITRE ATT&CK technique relevant to your threat profile and hunts for evidence of it in your logs and endpoint data. Over 12 weeks, you cover 12 techniques. Start with the techniques most commonly used against your industry (available in the Verizon DBIR by sector) and the techniques your existing detections do not cover. Document what you find (or do not find) so you are building institutional knowledge even when hunts come up clean.

What is the most common thing EDR misses that threat hunting finds?

The most common finding from manual threat hunts that EDR missed is WMI-based persistence. Malicious WMI event subscriptions (EventFilter, EventConsumer, FilterToConsumerBinding) execute code in response to system events (startup, user logon, time-based triggers) entirely within the WMI infrastructure, which is a legitimate Windows management component. Most EDR platforms have improved WMI subscription detection in recent years, but older deployments and less-common subscription types are still frequently missed. The second most common finding is abuse of legitimate remote management tools (AnyDesk, TeamViewer, Atera, ScreenConnect) installed by the attacker as a secondary persistence mechanism. These tools are designed to bypass security controls and frequently have EDR exclusions or low-confidence behavioral signatures.

How do you detect pass-the-hash attacks if the attacker is using stolen NTLM credentials?

Pass-the-hash attacks do not require knowledge of the plaintext password, only the NTLM hash. On the target system, they appear as legitimate network logons (Event ID 4624, LogonType 3) with NTLM authentication. Detection requires identifying NTLM authentication from accounts that should be using Kerberos, or NTLM authentications from workstations to systems those workstations do not normally authenticate to. The most effective preventive control is to disable NTLM authentication entirely where possible and enforce Kerberos authentication. For detection, enable logon failure auditing and look for failed NTLM authentications from workstations (lateral movement attempts often hit several targets before finding a successful credential reuse). Also look for NTLM authentication from service accounts, which should never authenticate via NTLM in a properly configured environment.

What tools do I need to perform a memory forensics investigation?

The primary tool for memory forensics is Volatility 3, a free, open-source Python framework for analyzing Windows, Linux, and macOS memory images. To use it, you first need to capture a memory image from the live system using a tool like WinPmem (free), Magnet RAM Capture (free), or DumpIt (free for incident response). Volatility then analyzes the image for running processes, network connections, loaded drivers, injected code regions, hidden processes (rootkits), and artifacts left by common attack tools. The Volatility community maintains plugins for detecting specific malware families and attack techniques. Commercial alternatives include Magnet AXIOM and Exterro FTK, which are more accessible for teams without forensics expertise but require licensing.

How do I know if a process is doing process injection?

Process injection is difficult to detect with certainty from the outside, but several indicators are reliable. In Process Explorer (Sysinternals), check the memory map of any suspicious process for executable memory regions that are not backed by a file on disk (these appear without a file path in the mapped file column). Normal processes have all their executable code backed by legitimate DLL or EXE files. Another indicator is a parent-child process relationship that does not make sense: if explorer.exe or a browser process has a child process that is cmd.exe or PowerShell.exe with unusual arguments, process injection or process hollowing is likely. Sysmon Event ID 8 (CreateRemoteThread) is a direct indicator that one process created a thread in another, which is the mechanism for several injection techniques. Look for CreateRemoteThread events where the source and target processes are not a known-good software relationship.

What is the difference between threat hunting and incident response?

Incident response is reactive: it begins when a known alert or confirmed compromise initiates a response process. Threat hunting is proactive: it begins with a hypothesis about attacker behavior and searches for evidence of that behavior before an alert fires. In practice, the line blurs. Manual investigation of an EDR alert often turns into threat hunting when the alert leads to suspicious activity that is not confirmed malicious but warrants further investigation. And threat hunting often turns into incident response when the hunt finds confirmed compromise. The practical difference is the starting point: incident response starts with a confirmed problem, threat hunting starts with a question (is there evidence of technique X in my environment?). The investigative techniques described in this guide apply to both.

How do I preserve forensic evidence during a manual investigation without tainting it?

The core principle is to minimize writes to the system you are investigating. Every command you run on a live system potentially writes to disk (temp files, log entries, command history) and can overwrite evidence. Where possible, collect evidence remotely rather than logging in locally. Use remote PowerShell or WMI to run commands and collect output without creating an interactive session. For disk forensics, image the drive before analysis rather than running investigation tools directly on the live drive. For memory forensics, collect a memory image as early in the investigation as possible before any reboots or system modifications. Document every action you take with a timestamp, so that any evidence you create (file access timestamps, command history) can be distinguished from attacker artifacts. If the investigation may result in legal action or regulatory reporting, engage a forensics firm early so that evidence handling meets chain-of-custody standards.

Sources & references

  1. MITRE ATT&CK Framework
  2. Sysinternals Suite

Free resources

25
Free download

Critical CVE Reference Card 2025–2026

25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.

No spam. Unsubscribe anytime.

Free download

Ransomware Incident Response Playbook

Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.

No spam. Unsubscribe anytime.

Free newsletter

Get threat intel before your inbox does.

50,000+ security professionals read Decryption Digest for early warnings on zero-days, ransomware, and nation-state campaigns. Free, daily, no spam.

Unsubscribe anytime. We never sell your data.

Eric Bang
Author

Founder & Cybersecurity Evangelist, Decryption Digest

Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.

Black Hat Giveaway

Win a $2,495 Black Hat pass.

Full-access to Black Hat USA 2026 in Las Vegas. Subscribe free to enter.

Joins Decryption Digest daily briefing. Unsubscribe anytime.

Giveaway: Black Hat USA 2026 Full-Access Pass ($2,495 value)

Details →
Daily Briefing

Subscribe to enter the giveaway

Every subscriber is automatically entered. You also get daily threat intel every morning: zero-days, ransomware, and nation-state campaigns. Free. No spam.

Already subscribed? You're already entered.

Giveaway

Win a $2,495 Black Hat USA 2026 pass.