Before deploying, ransomware operators blind the defenders: turning off real-time protection, adding broad exclusions, stopping EDR services or loading a vulnerable driver to terminate protected processes. Each action is configuration change or process behaviour you can log, and each is almost never legitimate on a production server.
Signals at a Glance
| Signal | Where | ATT&CK |
|---|---|---|
| Set-MpPreference disabling real-time or behaviour monitoring | PowerShell 4104, EDR | T1562.001 |
| New Defender exclusion for a path, process or extension | Defender 5007, registry | T1562.001 |
| Defender real-time protection disabled (5001) | Defender Operational | T1562.001 |
| Security service stopped or deleted | System 7036, 7040 | T1562.001 |
| Known-vulnerable driver loaded then protected process killed | Sysmon 6, EDR | T1068 |
Defender Configuration Changes
Defender logs preference changes and protection state to its Operational channel. Alert on the disable and exclusion events, and on registry writes that mimic the same change from a script:
title: Defender Protection Disabled or Excluded
logsource:
category: process_creation
product: windows
detection:
sel_disable:
CommandLine|contains:
- 'DisableRealtimeMonitoring'
- 'DisableBehaviorMonitoring'
- 'DisableIOAVProtection'
- 'DisableScriptScanning'
sel_exclusion:
CommandLine|contains|all:
- 'Add-MpPreference'
- 'Exclusion'
sel_registry:
CommandLine|contains|all:
- 'DisableAntiSpyware'
- 'reg'
condition: 1 of sel_*
level: high
# tune/validate: allowlist the management account that applies approved exclusions
EDR Termination and Driver Abuse
Protected EDR processes are usually killed through a vulnerable signed driver. The driver load is the visible step. Alert on driver loads that are new to your estate or on the vendor block lists, then on security processes exiting immediately afterward:
// Defender / Sentinel (KQL) - new driver followed by security service stop let drivers = DeviceEvents | where ActionType == "DriverLoad" | where isempty(SHA256) == false | summarize firstSeen=min(Timestamp), hosts=dcount(DeviceId) by SHA256, FileName | where hosts <= 2 and firstSeen > ago(1d); drivers | join kind=inner (DeviceEvents | where ActionType == "ServiceStopped" or ActionType == "ProcessTerminated") on $left.FileName == $right.FileName // tune/validate: schema and ActionType values depend on your EDR; adapt the join key
- Enable tamper protection and manage it centrally so local disablement fails and logs.
- Page on any security-tool disable on a server or domain controller; there is rarely a benign reason.
- Apply the vendor and community vulnerable-driver block lists through application control.
SigmaHQ Defender tamper and exclusion rules, Elastic defense-evasion detections, Splunk ESCU Defender analytics and Microsoft’s recommended driver block rules. Confirm which exclusions are legitimately managed in your estate so a new one stands out.
Build Detections That Fire
Mjolnir Security helps blue teams turn threat intelligence into high-fidelity detections across endpoint, network, identity and cloud telemetry.
- Detection Engineering We build and tune detections mapped to ATT&CK from your own telemetry.
- Threat Hunting as a Service Hypothesis-driven hunts for the behaviours on this page.
- 24/7 Incident Response Containment when a detection fires. Call +1 833 403 5875.
Stay ahead of emerging threats. Get notified when we publish new intelligence reports and advisories.
Subscribe to Alerts