Evasion detection
What this page is
A complete catalog of EDR evasion techniques that the sensor detects and the detection logic for each, including ETW-TI injection events, ETW/AMSI patching, direct syscall detection, kernel callback tampering, handle stripping, and PowerShell obfuscation. Every technique is mapped to MITRE ATT&CK.
Why it exists this way
EDR evasion is a mature adversarial discipline with documented
bypasses for every major commercial sensor. Defending against
evasion requires layered detection: the sensor must monitor the
monitoring infrastructure itself. The evasion detection module
(edr_windows::guard) treats any attempt to interfere with
telemetry collection as a detection event with higher severity
than the underlying behaviour the adversary is trying to hide.
How it works
The evasion detection runs as part of the guard module's integrity check cycle (every 30 seconds) and reactively on ETW-TI events.
ETW-TI injection events
The Microsoft-Windows-Threat-Intelligence provider exposes events that are invisible to user-mode API hooks. Three event types are critical for evasion detection:
-
Event ID 1 (CreateRemoteThread): A thread is created in a remote process. Detected injection techniques: classic DLL injection, reflective DLL injection, process hollowing (resume), and APC injection.
-
Event ID 2 (VirtualAllocEx_Remote): Memory is allocated in a remote process with executable permissions (PAGE_EXECUTE_READWRITE). This is the precursor to Process Hollowing (T1055.012) and Process Doppelganging (T1055.013).
-
Event ID 8 (QueueUserAPC): An APC is queued to a remote thread. This is the delivery mechanism for Early Bird APC injection and Atom Bombing.
The sensor correlates these events with process creation events from Kernel-Process to build an injection timeline: attacker process, target process, injection method, and payload.