Network Protection: The Free Defender Setting That Blocks C2 Callbacks
Microsoft Defender Network Protection blocks any process from reaching low-reputation domains and IPs - not just the browser. Here is what it does, why Audit mode is not enough, and how WinSentinel checks it.
Almost every commodity intrusion has the same shape at some point: a process on the box reaches out to an attacker-controlled host. A malicious document spawns a stager that pulls a payload from a freshly registered domain. A cracked installer beacons to a command-and-control (C2) server. A living-off-the-land script uses curl or Invoke-WebRequest to phone home. The browser has warned users about bad sites for years — but the browser is not what makes the callback. The stager is. The script is. And nothing warns them.
That is exactly the gap Microsoft Defender Network Protection closes, and it is completely free. It extends SmartScreen-style reputation blocking from the browser to every process on the machine. If any process tries to connect to a domain or IP with a known-bad reputation, Defender blocks the connection outright. It is one of the highest-leverage free controls you can turn on, and most machines have it switched off.
What Network Protection actually does
Network Protection is part of Defender Exploit Guard's attack-surface-reduction family. When a process opens an outbound connection, Defender checks the destination against its reputation service (the same intelligence that powers SmartScreen). If the destination is flagged as malware C2, phishing, exploit-hosting, or scam infrastructure, the connection is refused before any data leaves the machine.
The key word is any process. This is not a browser feature. It covers PowerShell, rundll32, a macro-spawned child process, a random EXE dropped in %TEMP% — all of it. An attacker who has code execution but whose callback domain is already burned finds the connection simply fails.
Three modes — and why Audit is not protection
Network Protection has three states, and confusing them is the most common mistake:
- Disabled (0) — no reputation checking of outbound connections at all. The default on far too many machines.
- Audit (2) — Defender logs the connections it would have blocked but lets them through. Useful for measuring impact before you enforce, but it protects nothing. A process reaching an attacker's callback host is recorded and allowed.
- Block (1) — the enforcing, secure posture. Bad connections are actually stopped.
Audit mode is a tuning stage, not a destination. Plenty of environments turn it on to gather data, see clean logs, and then never flip it to Block — leaving themselves with all of the logging and none of the protection. If you are in Audit, treat it as a countdown to Block, not a resting state.
It leans on the cloud — keep it on
Network Protection's block decisions depend on Defender's cloud-delivered protection (MAPS) for live reputation data. The domains that matter most during an active intrusion are the newly registered ones — infrastructure that went live hours or days ago. With cloud-delivered protection turned off, Network Protection falls back to whatever intel shipped with the last signature update, and its coverage of fresh attacker infrastructure drops sharply. If you enable Block mode, make sure cloud-delivered protection is on too, or you are enforcing against a stale list.
Turning it on
Two PowerShell lines get you to the secure posture:
Set-MpPreference -EnableNetworkProtection Enabled
Set-MpPreference -MAPSReporting Advanced
To check where you stand today:
Get-MpPreference | Select-Object EnableNetworkProtection, MAPSReporting, DisableRealtimeMonitoring
One caveat: Network Protection is a Defender component. If Defender's real-time protection is off — often because a third-party AV took over — Network Protection is inert regardless of its own toggle. If that is your situation, confirm the replacement product enforces equivalent outbound reputation blocking.
How WinSentinel checks it
WinSentinel's Network Protection audit module surfaces all three of these in a single local scan: whether Defender real-time protection is active, whether Network Protection is Disabled / Audit / Block, and whether cloud-delivered protection is backing it with live reputation. Each finding comes with the exact Set-MpPreference command to fix it, so you go from "off" to "Block, cloud-backed" without hunting through settings. It is a single-machine check and, like every audit module, it is free — run it with:
winsentinel --audit
Network Protection is one of those rare controls that is free, low-friction, and directly aimed at the step every commodity intrusion has to take. Turn it on, put it in Block, keep the cloud on — and let WinSentinel tell you when any of that drifts.