ES0.6 The NE Endpoint Landscape
Figure ES0.6 — NE's current endpoint security posture. MDE is deployed but not engineered. Every gap maps to a specific module in this course. The journey from 2/10 to 8-10/10 is the work of Modules ES1 through ES15.
The current state: deployed but not engineered
Northgate Engineering has M365 E5 licensing for all 810 staff. Defender for Endpoint P2 is included. Intune is enrolled. The endpoint security products are available. The gap is between available and configured.
MDE onboarding: 780/865 (90%). The initial onboarding push hit 90% of the fleet. The remaining 85 devices include: 45 devices that are co-managed with SCCM and were not included in the Intune EDR profile, 22 BYOD devices that are enrolled in Intune but the EDR profile targets only corporate-owned devices, 12 devices that have been offline for more than 30 days (employees on leave, retired hardware still in the asset register), and 6 devices where the MDE sensor failed to install due to conflicting third-party AV software (legacy McAfee agent from a previous security product). The last 10% is always the hardest. Module ES2 covers the troubleshooting and onboarding completion process.
AV configuration: default. Defender AV is running on all MDE-onboarded devices. Cloud protection is at the default level (not High or High+). Block at First Sight is enabled (it is on by default). Real-time protection is on. But the cloud protection level determines how aggressively the cloud ML models analyse unknown files — default level provides basic cloud lookups, while High+ provides extended analysis time and blocks files that the cloud has not seen before. The difference matters for zero-day and targeted attacks.
ASR rules: zero in block mode. No ASR rules have been configured through Intune or GPO. NE has the prevention capability that could block Office from spawning PowerShell, block LSASS credential theft, block persistence through WMI subscriptions — and none of it is active. This single gap means that the prevention layer (Layer 2 from ES0.3) is operating at minimum capacity.
What an attacker sees
An attacker who compromises an NE user account (through phishing, credential spray, or session hijacking) encounters this endpoint security posture:
The phishing payload executes without ASR interference — no rules block Office from spawning child processes or scripts from launching downloaded content. The LOLBin chain (mshta → PowerShell → rundll32) runs unimpeded. The cloud AV at default level performs a basic check but the in-memory execution bypasses file-based scanning. The attacker is on the endpoint with code execution.
Privilege escalation succeeds because Credential Guard is not enabled and the LSASS ASR rule is not in block mode. The attacker dumps LSASS via comsvcs.dll and obtains NTLM hashes for every user who has logged into the machine.
Lateral movement is straightforward because LAPS is not deployed. The local administrator hash obtained from LSASS is valid on every endpoint. The attacker uses pass-the-hash to access 865 machines. No custom detection rule alerts on the lateral movement pattern.
The investigation team arrives to find default audit policies that did not capture the command lines used during the attack, no PowerShell ScriptBlock logs to reconstruct the scripts executed, and no Sysmon events to trace process chains. MDE’s DeviceEvents tables contain some telemetry, but the detailed forensic evidence is missing.
This is not a theoretical scenario. This is the operational reality of most M365 E5 environments that have deployed but not engineered their endpoint security stack. The CHAIN-ENDPOINT attack at NE exploited exactly these gaps.
You have completed the gap assessment and identified 15 controls that need configuration. Your management asks for a timeline. Do you (A) commit to configuring all 15 in the next 30 days, or (B) propose a 90-day phased deployment starting with the highest-impact controls? Option B is correct. Deploying all controls simultaneously creates an unmanageable blast radius — if 6 different policy changes are applied in the same week and users start reporting problems, you cannot isolate which change caused the issue. The phased approach in Module ES0.7 deploys visibility controls first (audit mode, monitoring), then prevention controls (ASR in graduated deployment), then detection (custom rules), then forensic readiness (Sysmon, audit policies). Each phase has success criteria that must be met before advancing.
Try it: build your own gap assessment
Open a document and create three columns: Control, Current State, Target State. For each control below, record your environment’s status:
Onboarding: Total devices in the fleet. Devices onboarded to MDE. Percentage. Gap devices by reason (co-managed, BYOD, offline, conflicting software). ASR: Number of rules in block mode. Number in audit mode. Number not configured. AV: Cloud protection level (default / high / high+ / zero tolerance). Block at First Sight (on/off). PUA detection mode. Compliance: Policies exist? Connected to CA? Devices non-compliant count. Consequence of non-compliance (nothing / notification / CA block). Detection: Custom detection rule count. Last hunting query executed (date). Sentinel MDE connector status. Forensic readiness: Audit policy configuration (default / partial / full). PowerShell ScriptBlock logging (on/off). Sysmon (deployed / not deployed). Collection tools pre-staged. Hardening: LAPS (deployed / not deployed). Credential Guard (enabled / not enabled). CIS baseline applied. Security baselines assigned. Servers and Linux: Windows servers in MDE (count). Linux servers in MDE (count). Server-specific AV exclusions configured.
Save this document. You will reference it as you progress through each module, checking off controls as you configure them.
The myth: The auditor checked that AV was running and current, devices were enrolled in management, and compliance policies existed. The audit passed. Therefore, endpoint security meets the required standard.
The reality: Most security audits check for the existence of controls, not their effectiveness. An auditor verifies that AV is running — not that cloud protection is at High+ instead of default. An auditor verifies that compliance policies exist — not that they enforce conditional access. An auditor verifies that MDE is deployed — not that ASR rules are in block mode or that custom detection rules are written. NE would pass a standard audit today: AV running (yes), devices managed (yes), compliance policies (yes), EDR deployed (yes). NE would fail a real-world attack: no ASR prevention, no custom detection, no forensic readiness, no LAPS. The audit measures the checkbox. The attacker measures the configuration.
Troubleshooting
“Our gap list is too long — we cannot resource all of these changes.” Prioritize by impact. The three highest-impact changes for most environments: (1) ASR rules from not-configured to audit mode on all devices — zero blast radius, immediate visibility. (2) LSASS ASR rule from audit to block — high prevention impact, low false positive rate. (3) AV cloud protection from default to High+ — immediate improvement in unknown malware detection, no user impact. These three changes can be deployed in a single sprint and provide measurable improvement across the prevention layer.
“Our IT team pushes back on security configuration changes because they break things.” This is why the audit-first methodology exists. Deploy ASR rules in audit mode first. Collect 2-4 weeks of data. Analyse the audit events to identify which legitimate applications would be affected. Build exclusions for those applications. Then move to block mode. The data-driven approach eliminates the “it might break things” objection — you have the data showing exactly what it will affect.
You're reading the free modules of this course
The full course continues with advanced topics, production detection rules, worked investigation scenarios, and deployable artifacts. Premium subscribers get access to all courses.